@ihabdevteam/core 0.248.0 → 0.249.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/dist/components.cjs.js +9 -9
- package/dist/components.esm.css +3 -3
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +15 -15
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Alert.css +5 -2
- package/dist/packages/core/src/components/BottomNav.js +8 -2
- package/dist/packages/core/src/components/FileUpload.css +9 -0
- package/dist/packages/core/src/components/Header.js +9 -2
- package/dist/packages/core/src/components/NoticeBox.css +10 -1
- package/dist/packages/core/src/components/Tooltip/DebugTooltip.css +1 -0
- package/dist/packages/core/src/components/Training/TrainingCard.css +16 -0
- package/dist/packages/core/src/i18n/locales/en.json +2 -1
- package/dist/packages/core/src/i18n/locales/ko.json +2 -1
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/dist/components.cjs.js
CHANGED
|
@@ -824,7 +824,7 @@
|
|
|
824
824
|
* This source code is licensed under the ISC license.
|
|
825
825
|
* See the LICENSE file in the root directory of this source tree.
|
|
826
826
|
*/const i0=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],l0=X("thumbs-up",i0),vs={"alert-triangle":os,"align-start-vertical":$c,anchor:Ch,armchair:gh,"arrow-down":Pc,"arrow-left":Fc,"arrow-right":Hc,"arrow-right-left":Vc,"arrow-up-a-z":yh,"audio-lines":qc,baby:Gc,ban:Yc,"bar-chart-2":xh,bell:Xc,"book-marked":Qc,"book-open":td,"bow-arrow":ad,braces:od,bug:id,calendar:gs,"calendar-check":ud,"calendar-days":dd,camera:md,car:Ah,"chart-column":Cd,"chart-line":gd,"chart-pie":yd,check:ss,"chevron-down":bs,"chevron-left":is,"chevron-right":ls,"chevron-up":ys,circle:e0,"clipboard-list":Ad,coffee:Bh,combine:Bd,copy:Dd,"chevrons-left-right-ellipsis":Sd,"credit-card":Td,database:us,diff:$d,download:cs,ear:Id,edit:Od,"edit-2":zd,"edit-3":Wd,ellipsis:ds,eraser:Gd,"external-link":Yd,eye:Xd,"file-text":Qd,"flip-horizontal":tp,"folder-open":ap,"folder-plus":op,gamepad:ip,"gamepad-2":Dh,clock:Sh,target:Th,percent:Lh,gavel:up,"git-merge":ps,globe:pp,"grip-vertical":hp,headphones:fp,heart:bp,home:vp,inbox:Rh,info:_p,"key-round":Ap,landmark:Bp,layers:Dp,"layout-dashboard":Sp,leaf:Tp,lightbulb:Lp,link:Rp,"link-2":Ip,"link-2-off":Op,list:zp,"list-checks":Wp,"list-ordered":Up,"list-tree":Ih,loader:Kp,lock:Zp,"log-out":Jp,mail:e1,"map-pin":n1,menu:r0,"message-circle":r1,"message-circle-question-mark":s1,"message-square":l1,"message-square-more":Oh,"message-square-text":c1,minus:zh,"minus-circle":p1,moon:s0,"more-horizontal":ds,package:h1,palette:f1,"party-popper":b1,pause:v1,pencil:_1,phone:A1,play:B1,"play-circle":D1,plus:S1,printer:T1,"refresh-cw":L1,repeat:R1,replace:I1,rocket:O1,"rotate-ccw":z1,"rotate-cw":W1,salad:U1,"scan-search":K1,search:J1,"circle-alert":ms,"alert-circle":ms,"check-circle":hs,scissors:em,"search-x":nm,send:rm,settings:sm,"share-2":Wh,"shield-check":lm,"shopping-cart":cm,shuffle:pm,"skip-back":hm,"skip-forward":fm,sparkles:Uh,square:bm,star:vm,store:_m,"sun-medium":Am,table:Bm,"table-2":Dm,tag:Sm,terminal:Tm,"text-cursor-input":Lm,"text-initial":Rm,"thumbs-up":l0,ticket:Im,trash:zm,triangle:n0,"trash-2":Om,"trending-up":Wm,"triangle-alert":os,trophy:Um,type:Kh,unlink:Km,upload:Zm,user:br,"user-plus":Qm,"user-round":th,"user-round-check":ah,users:oh,"users-round":ih,volume:Zh,"volume-2":Cs,wrench:ch,x:fs,zap:mh};function u0(e){return vs[e]??null}const xs=new Set;function c0(e){return ns&&!(e in vs)&&!xs.has(e)&&(xs.add(e),console.warn(`[ihabdevteam-core] lucide \uC544\uC774\uCF58 '${e}' \uC774 \uC815\uC801 \uBAA9\uB85D\uC5D0 \uC5C6\uC5B4 \uB80C\uB354\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. utils/lucideIconSet.ts \uC758 STATIC_LUCIDE_ICONS \uC5D0 \uCD94\uAC00\uD558\uC138\uC694.`)),Promise.resolve(null)}const d0=e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Za-z])([0-9])/g,"$1-$2").replace(/[_ ]+/g,"-").toLowerCase();function p0(e){const n=e.toLowerCase();if(n.startsWith("http://")||n.startsWith("https://")||n.startsWith("data:")||e.includes("/assets/")||/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i.test(n))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?d0(a):null}const _s=new Map;function m0(e){const n=typeof e=="string"?p0(e):null,a=n?u0(n)??_s.get(n)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!n||a)return;let i=!1;return c0(n).then(l=>{_s.set(n,l),i||s(l)}),()=>{i=!0}},[n,a]),a??r}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function ws(e,n){(n==null||n>e.length)&&(n=e.length);for(var a=0,r=Array(n);a<n;a++)r[a]=e[a];return r}function h0(e){if(Array.isArray(e))return e}function C0(e,n){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,u=[],d=!0,c=!1;try{if(i=(a=a.call(e)).next,n!==0)for(;!(d=(r=i.call(a)).done)&&(u.push(r.value),u.length!==n);d=!0);}catch(p){c=!0,s=p}finally{try{if(!d&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(c)throw s}}return u}}function f0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
827
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g0(e,n){return h0(e)||C0(e,n)||b0(e,n)||f0()}function b0(e,n){if(e){if(typeof e=="string")return ws(e,n);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?ws(e,n):void 0}}const As=Object.entries,ks=Object.setPrototypeOf,y0=Object.isFrozen,v0=Object.getPrototypeOf,x0=Object.getOwnPropertyDescriptor;let At=Object.freeze,Dt=Object.seal,Yn=Object.create,Bs=typeof Reflect<"u"&&Reflect,yr=Bs.apply,vr=Bs.construct;At||(At=function(n){return n}),Dt||(Dt=function(n){return n}),yr||(yr=function(n,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return n.apply(a,s)}),vr||(vr=function(n){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new n(...r)});const Fn=wt(Array.prototype.forEach),_0=wt(Array.prototype.lastIndexOf),Ns=wt(Array.prototype.pop),pa=wt(Array.prototype.push),w0=wt(Array.prototype.splice),Zn=Array.isArray,ma=wt(String.prototype.toLowerCase),xr=wt(String.prototype.toString),Ds=wt(String.prototype.match),ha=wt(String.prototype.replace),Es=wt(String.prototype.indexOf),A0=wt(String.prototype.trim),k0=wt(Number.prototype.toString),B0=wt(Boolean.prototype.toString),Ss=typeof BigInt>"u"?null:wt(BigInt.prototype.toString),js=typeof Symbol>"u"?null:wt(Symbol.prototype.toString),Ut=wt(Object.prototype.hasOwnProperty),Ca=wt(Object.prototype.toString),$t=wt(RegExp.prototype.test),On=N0(TypeError);function wt(e){return function(n){n instanceof RegExp&&(n.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return yr(e,n,r)}}function N0(e){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return vr(e,a)}}function ot(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ma;if(ks&&ks(e,null),!Zn(n))return e;let r=n.length;for(;r--;){let s=n[r];if(typeof s=="string"){const i=a(s);i!==s&&(y0(n)||(n[r]=i),s=i)}e[s]=!0}return e}function D0(e){for(let n=0;n<e.length;n++)Ut(e,n)||(e[n]=null);return e}function Jt(e){const n=Yn(null);for(const r of As(e)){var a=g0(r,2);const s=a[0],i=a[1];Ut(e,s)&&(Zn(i)?n[s]=D0(i):i&&typeof i=="object"&&i.constructor===Object?n[s]=Jt(i):n[s]=i)}return n}function E0(e){switch(typeof e){case"string":return e;case"number":return k0(e);case"boolean":return B0(e);case"bigint":return Ss?Ss(e):"0";case"symbol":return js?js(e):"Symbol()";case"undefined":return Ca(e);case"function":case"object":{if(e===null)return Ca(e);const n=e,a=an(n,"toString");if(typeof a=="function"){const r=a(n);return typeof r=="string"?r:Ca(r)}return Ca(e)}default:return Ca(e)}}function an(e,n){for(;e!==null;){const r=x0(e,n);if(r){if(r.get)return wt(r.get);if(typeof r.value=="function")return wt(r.value)}e=v0(e)}function a(){return null}return a}function S0(e){try{return $t(e,""),!0}catch{return!1}}const Ts=At(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_r=At(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),wr=At(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),j0=At(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ar=At(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),T0=At(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ms=At(["#text"]),Ls=At(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),kr=At(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$s=At(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fa=At(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),M0=Dt(/{{[\w\W]*|^[\w\W]*}}/g),L0=Dt(/<%[\w\W]*|^[\w\W]*%>/g),$0=Dt(/\${[\w\W]*/g),R0=Dt(/^data-[\-\w.\u00B7-\uFFFF]+$/),P0=Dt(/^aria-[\-\w]+$/),Rs=Dt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I0=Dt(/^(?:\w+script|data):/i),F0=Dt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),O0=Dt(/^html$/i),H0=Dt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ps=Dt(/<[/\w!]/g),Is=Dt(/<[/\w]/g),z0=Dt(/<\/no(script|embed|frames)/i),V0=Dt(/\/>/i),Qt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Fs=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],W0=At(ot({},Fs)),q0=(function(){const e={};return Fn(Fs,n=>{e[n]=Dt(new RegExp("</"+n+"(?=[\\t\\n\\f\\r />])","i"))}),At(e)})(),U0=function(){return typeof window>"u"?null:window},G0=function(n,a){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const i="dompurify"+(r?"#"+r:"");try{return n.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Os=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Dn=function(n,a,r,s){return Ut(n,a)&&Zn(n[a])?ot(s.base?Jt(s.base):{},n[a],s.transform):r},Br=function(n,a,r){const s=Ut(n,a)?n[a]:void 0;return s&&typeof s=="object"?Jt(s):r()};function Hs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:U0();const n=we=>Hs(we);if(n.version="3.4.14",n.removed=[],!e||!e.document||e.document.nodeType!==Qt.document||!e.Element)return n.isSupported=!1,n;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,u=e.Element,d=e.NodeFilter,c=e.NamedNodeMap;c===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,C=u.prototype,g=an(C,"cloneNode"),v=an(C,"remove"),f=an(C,"nextSibling"),y=an(C,"childNodes"),w=an(C,"parentNode"),h=an(C,"shadowRoot"),_=an(C,"attributes"),b=l&&l.prototype?an(l.prototype,"nodeType"):null,A=l&&l.prototype?an(l.prototype,"nodeName"):null,x=l&&l.prototype?an(l.prototype,"ownerDocument"):null,N=function(T){return b?b(T):T.nodeType},B=function(T){return A?A(T):T.nodeName};if(typeof i=="function"){const we=a.createElement("template");we.content&&we.content.ownerDocument&&(a=we.content.ownerDocument)}let k,E="",S,z=!1,R=0;const U=function(){if(R>0)throw On('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},j=function(T){U(),R++;try{return k.createHTML(T)}finally{R--}},L=function(T){U(),R++;try{return k.createScriptURL(T)}finally{R--}},F=function(){return z||(S=G0(m,s),z=!0),S},K=a,te=K.implementation,V=K.createNodeIterator,I=K.createDocumentFragment,q=K.getElementsByTagName,H=r.importNode;let D=Os();n.isSupported=typeof As=="function"&&typeof w=="function"&&te&&te.createHTMLDocument!==void 0;const O=M0,M=L0,P=$0,$=R0,Y=P0,ne=I0,J=F0,ae=H0;let ue=Rs,ie=null;const xe=ot({},[...Ts,..._r,...wr,...Ar,...Ms]);let W=null;const Q=ot({},[...Ls,...kr,...$s,...Fa]);let se=Object.seal(Yn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ke=null,me=null;const re=Object.seal(Yn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ce=!0,ge=!0,Ee=!1,Re=!0,Le=!1,Je=!0,Qe=!1,qe=!1,Fe=null,st=null,et=!1,Ye=!1,Se=!1,Ae=!1,ee=!0,fe=!1;const ze="user-content-";let Be=!0,je=!1,pe={},$e=null;const nt=ot({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let _t=null;const kt=ot({},["audio","video","img","source","image","track"]);let dt=null;const Ze=ot({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),We="http://www.w3.org/1998/Math/MathML",Pe="http://www.w3.org/2000/svg",Xe="http://www.w3.org/1999/xhtml";let Oe=Xe,it=!1,Ge=null;const ft=ot({},[We,Pe,Xe],xr),jt=At(["mi","mo","mn","ms","mtext"]);let Bt=ot({},jt);const mt=At(["annotation-xml"]);let lt=ot({},mt);const He=ot({},["title","style","font","a","script"]);let at=null;const ht=["application/xhtml+xml","text/html"],Ot="text/html";let tt=null,Tt=null;const Yt=a.createElement("form"),Mt=function(T){return T instanceof RegExp||T instanceof Function},ln=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Tt&&Tt===T)return;(!T||typeof T!="object")&&(T={}),T=Jt(T),at=ht.indexOf(T.PARSER_MEDIA_TYPE)===-1?Ot:T.PARSER_MEDIA_TYPE,tt=at==="application/xhtml+xml"?xr:ma,ie=Dn(T,"ALLOWED_TAGS",xe,{transform:tt}),W=Dn(T,"ALLOWED_ATTR",Q,{transform:tt}),Ge=Dn(T,"ALLOWED_NAMESPACES",ft,{transform:xr}),dt=Dn(T,"ADD_URI_SAFE_ATTR",Ze,{transform:tt,base:Ze}),_t=Dn(T,"ADD_DATA_URI_TAGS",kt,{transform:tt,base:kt}),$e=Dn(T,"FORBID_CONTENTS",nt,{transform:tt}),ke=Dn(T,"FORBID_TAGS",Jt({}),{transform:tt}),me=Dn(T,"FORBID_ATTR",Jt({}),{transform:tt}),pe=Ut(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?Jt(T.USE_PROFILES):T.USE_PROFILES:!1,Ce=T.ALLOW_ARIA_ATTR!==!1,ge=T.ALLOW_DATA_ATTR!==!1,Ee=T.ALLOW_UNKNOWN_PROTOCOLS||!1,Re=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Le=T.SAFE_FOR_TEMPLATES||!1,Je=T.SAFE_FOR_XML!==!1,Qe=T.WHOLE_DOCUMENT||!1,Ye=T.RETURN_DOM||!1,Se=T.RETURN_DOM_FRAGMENT||!1,Ae=T.RETURN_TRUSTED_TYPE||!1,et=T.FORCE_BODY||!1,ee=T.SANITIZE_DOM!==!1,fe=T.SANITIZE_NAMED_PROPS||!1,Be=T.KEEP_CONTENT!==!1,je=T.IN_PLACE||!1,ue=S0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Rs,Oe=typeof T.NAMESPACE=="string"?T.NAMESPACE:Xe,Bt=Br(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>ot({},jt)),lt=Br(T,"HTML_INTEGRATION_POINTS",()=>ot({},mt));const Z=Br(T,"CUSTOM_ELEMENT_HANDLING",()=>Yn(null));if(se=Yn(null),Ut(Z,"tagNameCheck")&&Mt(Z.tagNameCheck)&&(se.tagNameCheck=Z.tagNameCheck),Ut(Z,"attributeNameCheck")&&Mt(Z.attributeNameCheck)&&(se.attributeNameCheck=Z.attributeNameCheck),Ut(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),Dt(se),Le&&(ge=!1),Se&&(Ye=!0),pe&&(ie=ot({},Ms),W=Yn(null),pe.html===!0&&(ot(ie,Ts),ot(W,Ls)),pe.svg===!0&&(ot(ie,_r),ot(W,kr),ot(W,Fa)),pe.svgFilters===!0&&(ot(ie,wr),ot(W,kr),ot(W,Fa)),pe.mathMl===!0&&(ot(ie,Ar),ot(W,$s),ot(W,Fa))),re.tagCheck=null,re.attributeCheck=null,Ut(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?re.tagCheck=T.ADD_TAGS:Zn(T.ADD_TAGS)&&(ie===xe&&(ie=Jt(ie)),ot(ie,T.ADD_TAGS,tt))),Ut(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?re.attributeCheck=T.ADD_ATTR:Zn(T.ADD_ATTR)&&(W===Q&&(W=Jt(W)),ot(W,T.ADD_ATTR,tt))),Ut(T,"ADD_FORBID_CONTENTS")&&Zn(T.ADD_FORBID_CONTENTS)&&($e===nt&&($e=Jt($e)),ot($e,T.ADD_FORBID_CONTENTS,tt)),Be&&(ie["#text"]=!0),Qe&&ot(ie,["html","head","body"]),ie.table&&(ot(ie,["tbody"]),delete ke.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw On('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw On('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const he=k;k=T.TRUSTED_TYPES_POLICY;try{E=j("")}catch(Me){throw k=he,Me}}else T.TRUSTED_TYPES_POLICY===null?(k=void 0,E=""):(k===void 0&&(k=F()),k&&typeof E=="string"&&(E=j("")));At&&At(T),Tt=T},un=ot({},[..._r,...wr,...j0]),cn=ot({},[...Ar,...T0]),Rn=function(T,Z,he){return Z.namespaceURI===Xe?T==="svg":Z.namespaceURI===We?T==="svg"&&(he==="annotation-xml"||Bt[he]):!!un[T]},dn=function(T,Z,he){return Z.namespaceURI===Xe?T==="math":Z.namespaceURI===Pe?T==="math"&<[he]:!!cn[T]},Pn=function(T,Z,he){return Z.namespaceURI===Pe&&!lt[he]||Z.namespaceURI===We&&!Bt[he]?!1:!cn[T]&&(He[T]||!un[T])},Nn=function(T){let Z=w(T);(!Z||!Z.tagName)&&(Z={namespaceURI:Oe,tagName:"template"});const he=ma(T.tagName),Me=ma(Z.tagName);return Ge[T.namespaceURI]?T.namespaceURI===Pe?Rn(he,Z,Me):T.namespaceURI===We?dn(he,Z,Me):T.namespaceURI===Xe?Pn(he,Z,Me):!!(at==="application/xhtml+xml"&&Ge[T.namespaceURI]):!1},Nt=function(T){pa(n.removed,{element:T});try{w(T).removeChild(T)}catch{if(v(T),!w(T))throw On("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Cn=function(T,Z,he){try{T.removeAttributeNode(Z)}catch{try{T.removeAttribute(he)}catch{}}},Ht=function(T){en(T);const Z=y(T);if(Z){const Me=[];Fn(Z,Ie=>{pa(Me,Ie)}),Fn(Me,Ie=>{try{v(Ie)}catch{}})}const he=_(T);if(he)for(let Me=he.length-1;Me>=0;--Me){const Ie=he[Me],Ue=Ie&&Ie.name;typeof Ue=="string"&&Cn(T,Ie,Ue)}},Zt=function(T,Z,he){if(!he)try{he=Z.getAttributeNode(T)}catch{he=null}pa(n.removed,{attribute:he||null,from:Z});try{he?Z.removeAttributeNode(he):Z.removeAttribute(T)}catch{try{Z.removeAttribute(T)}catch{}}if(T==="is")if(Ye||Se)try{Nt(Z)}catch{}else try{Z.setAttribute(T,"")}catch{}},fn=function(T){const Z=_(T);if(Z)for(let he=Z.length-1;he>=0;--he){const Me=Z[he],Ie=Me&&Me.name;typeof Ie!="string"||W[tt(Ie)]||Cn(T,Me,Ie)}},en=function(T){const Z=[T];for(;Z.length>0;){const he=Z.pop();N(he)===Qt.element&&fn(he);const Ie=y(he);if(Ie)for(let Ue=Ie.length-1;Ue>=0;--Ue)Z.push(Ie[Ue])}},gn=function(T,Z){return Je?T==="patchsrc"?!0:T==="for"&&Z!=="label"&&Z!=="output":!1},In=function(T){if(!Je)return;const Z=[T];for(;Z.length>0;){const he=Z.pop(),Me=N(he);if(Me===Qt.processingInstruction||Me===Qt.comment&&$t(Is,he.data)){try{v(he)}catch{}continue}if(Me===Qt.element){const Ue=he,ct=tt(B(he));try{Ue.hasAttribute&&Ue.hasAttribute("patchsrc")&&Ue.removeAttribute("patchsrc"),Ue.hasAttribute&&Ue.hasAttribute("for")&&gn("for",ct)&&Ue.removeAttribute("for")}catch{}}const Ie=y(he);if(Ie)for(let Ue=Ie.length-1;Ue>=0;--Ue)Z.push(Ie[Ue])}},bn=function(T){let Z=null,he=null;if(et)T="<remove></remove>"+T;else{const Ue=Ds(T,/^[\r\n\t ]+/);he=Ue&&Ue[0]}at==="application/xhtml+xml"&&Oe===Xe&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const Me=k?j(T):T;if(Oe===Xe)try{Z=new p().parseFromString(Me,at)}catch{}if(!Z||!Z.documentElement){Z=te.createDocument(Oe,"template",null);try{Z.documentElement.innerHTML=it?E:Me}catch{}}const Ie=Z.body||Z.documentElement;return T&&he&&Ie.insertBefore(a.createTextNode(he),Ie.childNodes[0]||null),Oe===Xe?q.call(Z,Qe?"html":"body")[0]:Qe?Z.documentElement:Ie},oe=function(T){const Z=x?x(T):T.ownerDocument;return V.call(Z||T,T,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},ye=function(T){return T=ha(T,O," "),T=ha(T,M," "),T=ha(T,P," "),T},G=function(T){var Z;T.normalize();const he=x?x(T):T.ownerDocument,Me=V.call(he||T,T,d.SHOW_TEXT|d.SHOW_COMMENT|d.SHOW_CDATA_SECTION|d.SHOW_PROCESSING_INSTRUCTION,null);let Ie=Me.nextNode();for(;Ie;)Ie.data=ye(Ie.data),Ie=Me.nextNode();const Ue=(Z=T.querySelectorAll)===null||Z===void 0?void 0:Z.call(T,"template");Ue&&Fn(Ue,ct=>{ce(ct.content)&&G(ct.content)})},le=function(T){const Z=A?A(T):null;return typeof Z!="string"||tt(Z)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==_(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==b(T)||T.childNodes!==y(T)},ce=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return b(T)===Qt.documentFragment}catch{return!1}},ve=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return typeof b(T)=="number"}catch{return!1}};function _e(we,T,Z){we.length!==0&&Fn(we,he=>{he.call(n,T,Z,Tt)})}const Te=function(T,Z){return!!(Je&&T.hasChildNodes()&&!ve(T.firstElementChild)&&$t(Ps,T.textContent)&&$t(Ps,T.innerHTML)||Je&&T.namespaceURI===Xe&&W0[Z]&&(ve(T.firstElementChild)||typeof T.textContent=="string"&&$t(q0[Z],T.textContent))||T.nodeType===Qt.processingInstruction||Je&&T.nodeType===Qt.comment&&$t(Is,T.data))},rt=function(T,Z){if(T instanceof RegExp)return $t(T,Z);if(T instanceof Function){for(var he=arguments.length,Me=new Array(he>2?he-2:0),Ie=2;Ie<he;Ie++)Me[Ie-2]=arguments[Ie];return!!T(Z,...Me)}return!1},gt=function(T,Z,he){if(!ke[Z]&&Ne(Z)&&rt(se.tagNameCheck,Z))return!1;if(Be&&!$e[Z]){const Me=w(T),Ie=y(T);if(Ie&&Me){const Ue=Ie.length;for(let ct=Ue-1;ct>=0;--ct){const Ct=T===he?g(Ie[ct],!0):Ie[ct];Me.insertBefore(Ct,f(T))}}}return Nt(T),!0},ut=function(T,Z,he,Me){return T.length===0?Z:Z===he||Z===Me?Jt(Z):Z},vt=function(T,Z){return T===Z||w(T)!==null?!1:(je&&en(T),!0)},Rt=function(T,Z){if(_e(D.beforeSanitizeElements,T,null),vt(T,Z))return!0;if(le(T))return Nt(T),!0;const he=tt(B(T));if(ie=ut(D.uponSanitizeElement,ie,xe,Fe),_e(D.uponSanitizeElement,T,{tagName:he,allowedTags:ie}),vt(T,Z))return!0;if(Te(T,he))return Nt(T),!0;if(ke[he]||!(re.tagCheck instanceof Function&&re.tagCheck(he))&&!ie[he]){const Ie=gt(T,he,Z);return Ie===!1&&_e(D.afterSanitizeElements,T,null),Ie}if(N(T)===Qt.element&&!Nn(T)||(he==="noscript"||he==="noembed"||he==="noframes")&&$t(z0,T.innerHTML))return Nt(T),!0;if(Le&&T.nodeType===Qt.text){const Ie=ye(T.textContent);T.textContent!==Ie&&(pa(n.removed,{element:T.cloneNode()}),T.textContent=Ie)}return _e(D.afterSanitizeElements,T,null),!1},Lt=function(T,Z,he){if(me[Z]||gn(Z,T)||ee&&(Z==="id"||Z==="name")&&(he in a||he in Yt))return!1;const Me=W[Z]||re.attributeCheck instanceof Function&&re.attributeCheck(Z,T);return ge&&$t($,Z)||Ce&&$t(Y,Z)?!0:Me?dt[Z]||$t(ue,ha(he,J,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&T!=="script"&&Es(he,"data:")===0&&_t[T]||Ee&&!$t(ne,ha(he,J,""))?!0:!he:Ne(T)&&rt(se.tagNameCheck,T)&&rt(se.attributeNameCheck,Z,T)||Z==="is"&&se.allowCustomizedBuiltInElements&&rt(se.tagNameCheck,he)},nn=ot({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ne=function(T){return!nn[ma(T)]&&$t(ae,T)},Ve=function(T,Z,he,Me){if(k&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!he)switch(m.getAttributeType(T,Z)){case"TrustedHTML":return j(Me);case"TrustedScriptURL":return L(Me)}return Me},xt=function(T,Z,he,Me){try{he?T.setAttributeNS(he,Z,Me):T.setAttribute(Z,Me),le(T)?Nt(T):Ns(n.removed)}catch{Zt(Z,T)}},zt=function(T){_e(D.beforeSanitizeAttributes,T,null);const Z=T.attributes;if(!Z||le(T))return;W=ut(D.uponSanitizeAttribute,W,Q,st);const he={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let Me=Z.length;const Ie=tt(T.nodeName);for(;Me--;){const Ue=Z[Me],ct=Ue.name,Ct=Ue.namespaceURI,Wt=Ue.value,qt=tt(ct),fr=Wt;let Pt=ct==="value"?fr:A0(fr);if(he.attrName=qt,he.attrValue=Pt,he.keepAttr=!0,he.forceKeepAttr=void 0,_e(D.uponSanitizeAttribute,T,he),Pt=he.attrValue,fe&&(qt==="id"||qt==="name")&&Es(Pt,ze)!==0&&(Zt(ct,T,Ue),Pt=ze+Pt),Je&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Pt)){Zt(ct,T,Ue);continue}if(qt==="attributename"&&Ds(Pt,"href")){Zt(ct,T,Ue);continue}if(!he.forceKeepAttr){if(!he.keepAttr){Zt(ct,T,Ue);continue}if(!Re&&$t(V0,Pt)){Zt(ct,T,Ue);continue}if(Le&&(Pt=ye(Pt)),!Lt(Ie,qt,Pt)){Zt(ct,T,Ue);continue}Pt=Ve(Ie,qt,Ct,Pt),Pt!==fr&&xt(T,ct,Ct,Pt)}}_e(D.afterSanitizeAttributes,T,null)},Vt=function(T){let Z=null;const he=oe(T);for(_e(D.beforeSanitizeShadowDOM,T,null);Z=he.nextNode();)if(_e(D.uponSanitizeShadowNode,Z,null),Rt(Z,T),zt(Z),ce(Z.content)&&Vt(Z.content),N(Z)===Qt.element){const Me=h(Z);ce(Me)&&(Cr(Me),Vt(Me))}_e(D.afterSanitizeShadowDOM,T,null)},Cr=function(T){const Z=[{node:T,shadow:null}];for(;Z.length>0;){const he=Z.pop();if(he.shadow){Vt(he.shadow);continue}const Me=he.node,Ue=N(Me)===Qt.element,ct=y(Me);if(ct)for(let Ct=ct.length-1;Ct>=0;--Ct)Z.push({node:ct[Ct],shadow:null});if(Ue){const Ct=A?A(Me):null;if(typeof Ct=="string"&&tt(Ct)==="template"){const Wt=Me.content;ce(Wt)&&Z.push({node:Wt,shadow:null})}}if(Ue){const Ct=h(Me);ce(Ct)&&Z.push({node:null,shadow:Ct},{node:Ct,shadow:null})}}};return n.sanitize=function(we){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,he=null,Me=null,Ie=null;if(it=!we,it&&(we="<!-->"),typeof we!="string"&&!ve(we)&&(we=E0(we),typeof we!="string"))throw On("dirty is not a string, aborting");if(!n.isSupported)return we;qe?(ie=Fe,W=st):ln(T),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(ie=Jt(ie)),D.uponSanitizeAttribute.length>0&&(W=Jt(W)),n.removed=[];const Ue=je&&typeof we!="string"&&ve(we);if(Ue){In(we);const Wt=B(we);if(typeof Wt=="string"){const qt=tt(Wt);if(!ie[qt]||ke[qt])throw Ht(we),On("root node is forbidden and cannot be sanitized in-place")}if(le(we))throw Ht(we),On("root node is clobbered and cannot be sanitized in-place");try{Cr(we)}catch(qt){throw Ht(we),qt}}else if(ve(we))Z=bn("<!---->"),he=Z.ownerDocument.importNode(we,!0),he.nodeType===Qt.element&&he.nodeName==="BODY"||he.nodeName==="HTML"?Z=he:Z.appendChild(he),Cr(he);else{if(!Ye&&!Le&&!Qe&&we.indexOf("<")===-1)return k&&Ae?j(we):we;if(Z=bn(we),!Z)return Ye?null:Ae?E:""}Z&&et&&Nt(Z.firstChild);const ct=Ue?we:Z;try{const Wt=oe(ct);for(;Me=Wt.nextNode();)Rt(Me,ct),zt(Me),ce(Me.content)&&Vt(Me.content)}catch(Wt){throw Ue&&(Ht(we),Fn(n.removed,qt=>{qt.element&&en(qt.element)})),Wt}if(Ue)return Fn(n.removed,Wt=>{Wt.element&&en(Wt.element)}),Le&&G(we),we;if(Ye){if(Le&&G(Z),Se)for(Ie=I.call(Z.ownerDocument);Z.firstChild;)Ie.appendChild(Z.firstChild);else Ie=Z;return(W.shadowroot||W.shadowrootmode)&&(Ie=H.call(r,Ie,!0)),Ie}let Ct=Qe?Z.outerHTML:Z.innerHTML;return Qe&&ie["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&$t(O0,Z.ownerDocument.doctype.name)&&(Ct="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
|
|
827
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g0(e,n){return h0(e)||C0(e,n)||b0(e,n)||f0()}function b0(e,n){if(e){if(typeof e=="string")return ws(e,n);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?ws(e,n):void 0}}const As=Object.entries,ks=Object.setPrototypeOf,y0=Object.isFrozen,v0=Object.getPrototypeOf,x0=Object.getOwnPropertyDescriptor;let At=Object.freeze,Dt=Object.seal,Yn=Object.create,Bs=typeof Reflect<"u"&&Reflect,yr=Bs.apply,vr=Bs.construct;At||(At=function(n){return n}),Dt||(Dt=function(n){return n}),yr||(yr=function(n,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return n.apply(a,s)}),vr||(vr=function(n){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new n(...r)});const Fn=wt(Array.prototype.forEach),_0=wt(Array.prototype.lastIndexOf),Ns=wt(Array.prototype.pop),pa=wt(Array.prototype.push),w0=wt(Array.prototype.splice),Zn=Array.isArray,ma=wt(String.prototype.toLowerCase),xr=wt(String.prototype.toString),Ds=wt(String.prototype.match),ha=wt(String.prototype.replace),Es=wt(String.prototype.indexOf),A0=wt(String.prototype.trim),k0=wt(Number.prototype.toString),B0=wt(Boolean.prototype.toString),Ss=typeof BigInt>"u"?null:wt(BigInt.prototype.toString),js=typeof Symbol>"u"?null:wt(Symbol.prototype.toString),Ut=wt(Object.prototype.hasOwnProperty),Ca=wt(Object.prototype.toString),$t=wt(RegExp.prototype.test),On=N0(TypeError);function wt(e){return function(n){n instanceof RegExp&&(n.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return yr(e,n,r)}}function N0(e){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return vr(e,a)}}function ot(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ma;if(ks&&ks(e,null),!Zn(n))return e;let r=n.length;for(;r--;){let s=n[r];if(typeof s=="string"){const i=a(s);i!==s&&(y0(n)||(n[r]=i),s=i)}e[s]=!0}return e}function D0(e){for(let n=0;n<e.length;n++)Ut(e,n)||(e[n]=null);return e}function Jt(e){const n=Yn(null);for(const r of As(e)){var a=g0(r,2);const s=a[0],i=a[1];Ut(e,s)&&(Zn(i)?n[s]=D0(i):i&&typeof i=="object"&&i.constructor===Object?n[s]=Jt(i):n[s]=i)}return n}function E0(e){switch(typeof e){case"string":return e;case"number":return k0(e);case"boolean":return B0(e);case"bigint":return Ss?Ss(e):"0";case"symbol":return js?js(e):"Symbol()";case"undefined":return Ca(e);case"function":case"object":{if(e===null)return Ca(e);const n=e,a=an(n,"toString");if(typeof a=="function"){const r=a(n);return typeof r=="string"?r:Ca(r)}return Ca(e)}default:return Ca(e)}}function an(e,n){for(;e!==null;){const r=x0(e,n);if(r){if(r.get)return wt(r.get);if(typeof r.value=="function")return wt(r.value)}e=v0(e)}function a(){return null}return a}function S0(e){try{return $t(e,""),!0}catch{return!1}}const Ts=At(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_r=At(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),wr=At(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),j0=At(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ar=At(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),T0=At(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ms=At(["#text"]),Ls=At(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),kr=At(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$s=At(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fa=At(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),M0=Dt(/{{[\w\W]*|^[\w\W]*}}/g),L0=Dt(/<%[\w\W]*|^[\w\W]*%>/g),$0=Dt(/\${[\w\W]*/g),R0=Dt(/^data-[\-\w.\u00B7-\uFFFF]+$/),P0=Dt(/^aria-[\-\w]+$/),Rs=Dt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I0=Dt(/^(?:\w+script|data):/i),F0=Dt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),O0=Dt(/^html$/i),H0=Dt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ps=Dt(/<[/\w!]/g),Is=Dt(/<[/\w]/g),z0=Dt(/<\/no(script|embed|frames)/i),V0=Dt(/\/>/i),Qt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Fs=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],W0=At(ot({},Fs)),q0=(function(){const e={};return Fn(Fs,n=>{e[n]=Dt(new RegExp("</"+n+"(?=[\\t\\n\\f\\r />])","i"))}),At(e)})(),U0=function(){return typeof window>"u"?null:window},G0=function(n,a){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const i="dompurify"+(r?"#"+r:"");try{return n.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Os=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Dn=function(n,a,r,s){return Ut(n,a)&&Zn(n[a])?ot(s.base?Jt(s.base):{},n[a],s.transform):r},Br=function(n,a,r){const s=Ut(n,a)?n[a]:void 0;return s&&typeof s=="object"?Jt(s):r()};function Hs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:U0();const n=we=>Hs(we);if(n.version="3.4.14",n.removed=[],!e||!e.document||e.document.nodeType!==Qt.document||!e.Element)return n.isSupported=!1,n;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,u=e.Element,d=e.NodeFilter,c=e.NamedNodeMap;c===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,C=u.prototype,g=an(C,"cloneNode"),v=an(C,"remove"),f=an(C,"nextSibling"),y=an(C,"childNodes"),w=an(C,"parentNode"),h=an(C,"shadowRoot"),_=an(C,"attributes"),b=l&&l.prototype?an(l.prototype,"nodeType"):null,A=l&&l.prototype?an(l.prototype,"nodeName"):null,x=l&&l.prototype?an(l.prototype,"ownerDocument"):null,N=function(T){return b?b(T):T.nodeType},B=function(T){return A?A(T):T.nodeName};if(typeof i=="function"){const we=a.createElement("template");we.content&&we.content.ownerDocument&&(a=we.content.ownerDocument)}let k,E="",S,z=!1,R=0;const q=function(){if(R>0)throw On('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},j=function(T){q(),R++;try{return k.createHTML(T)}finally{R--}},M=function(T){q(),R++;try{return k.createScriptURL(T)}finally{R--}},O=function(){return z||(S=G0(m,s),z=!0),S},Y=a,te=Y.implementation,V=Y.createNodeIterator,U=Y.createDocumentFragment,P=Y.getElementsByTagName,F=r.importNode;let D=Os();n.isSupported=typeof As=="function"&&typeof w=="function"&&te&&te.createHTMLDocument!==void 0;const H=M0,L=L0,I=$0,$=R0,K=P0,ne=I0,J=F0,ae=H0;let ue=Rs,ie=null;const xe=ot({},[...Ts,..._r,...wr,...Ar,...Ms]);let W=null;const Q=ot({},[...Ls,...kr,...$s,...Fa]);let se=Object.seal(Yn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ke=null,me=null;const re=Object.seal(Yn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ce=!0,ge=!0,Ee=!1,Re=!0,Le=!1,Je=!0,Qe=!1,qe=!1,Fe=null,st=null,et=!1,Ye=!1,Se=!1,Ae=!1,ee=!0,fe=!1;const ze="user-content-";let Be=!0,je=!1,pe={},$e=null;const nt=ot({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let _t=null;const kt=ot({},["audio","video","img","source","image","track"]);let dt=null;const Ze=ot({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),We="http://www.w3.org/1998/Math/MathML",Pe="http://www.w3.org/2000/svg",Xe="http://www.w3.org/1999/xhtml";let Oe=Xe,it=!1,Ge=null;const ft=ot({},[We,Pe,Xe],xr),jt=At(["mi","mo","mn","ms","mtext"]);let Bt=ot({},jt);const mt=At(["annotation-xml"]);let lt=ot({},mt);const He=ot({},["title","style","font","a","script"]);let at=null;const ht=["application/xhtml+xml","text/html"],Ot="text/html";let tt=null,Tt=null;const Yt=a.createElement("form"),Mt=function(T){return T instanceof RegExp||T instanceof Function},ln=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Tt&&Tt===T)return;(!T||typeof T!="object")&&(T={}),T=Jt(T),at=ht.indexOf(T.PARSER_MEDIA_TYPE)===-1?Ot:T.PARSER_MEDIA_TYPE,tt=at==="application/xhtml+xml"?xr:ma,ie=Dn(T,"ALLOWED_TAGS",xe,{transform:tt}),W=Dn(T,"ALLOWED_ATTR",Q,{transform:tt}),Ge=Dn(T,"ALLOWED_NAMESPACES",ft,{transform:xr}),dt=Dn(T,"ADD_URI_SAFE_ATTR",Ze,{transform:tt,base:Ze}),_t=Dn(T,"ADD_DATA_URI_TAGS",kt,{transform:tt,base:kt}),$e=Dn(T,"FORBID_CONTENTS",nt,{transform:tt}),ke=Dn(T,"FORBID_TAGS",Jt({}),{transform:tt}),me=Dn(T,"FORBID_ATTR",Jt({}),{transform:tt}),pe=Ut(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?Jt(T.USE_PROFILES):T.USE_PROFILES:!1,Ce=T.ALLOW_ARIA_ATTR!==!1,ge=T.ALLOW_DATA_ATTR!==!1,Ee=T.ALLOW_UNKNOWN_PROTOCOLS||!1,Re=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Le=T.SAFE_FOR_TEMPLATES||!1,Je=T.SAFE_FOR_XML!==!1,Qe=T.WHOLE_DOCUMENT||!1,Ye=T.RETURN_DOM||!1,Se=T.RETURN_DOM_FRAGMENT||!1,Ae=T.RETURN_TRUSTED_TYPE||!1,et=T.FORCE_BODY||!1,ee=T.SANITIZE_DOM!==!1,fe=T.SANITIZE_NAMED_PROPS||!1,Be=T.KEEP_CONTENT!==!1,je=T.IN_PLACE||!1,ue=S0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Rs,Oe=typeof T.NAMESPACE=="string"?T.NAMESPACE:Xe,Bt=Br(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>ot({},jt)),lt=Br(T,"HTML_INTEGRATION_POINTS",()=>ot({},mt));const Z=Br(T,"CUSTOM_ELEMENT_HANDLING",()=>Yn(null));if(se=Yn(null),Ut(Z,"tagNameCheck")&&Mt(Z.tagNameCheck)&&(se.tagNameCheck=Z.tagNameCheck),Ut(Z,"attributeNameCheck")&&Mt(Z.attributeNameCheck)&&(se.attributeNameCheck=Z.attributeNameCheck),Ut(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),Dt(se),Le&&(ge=!1),Se&&(Ye=!0),pe&&(ie=ot({},Ms),W=Yn(null),pe.html===!0&&(ot(ie,Ts),ot(W,Ls)),pe.svg===!0&&(ot(ie,_r),ot(W,kr),ot(W,Fa)),pe.svgFilters===!0&&(ot(ie,wr),ot(W,kr),ot(W,Fa)),pe.mathMl===!0&&(ot(ie,Ar),ot(W,$s),ot(W,Fa))),re.tagCheck=null,re.attributeCheck=null,Ut(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?re.tagCheck=T.ADD_TAGS:Zn(T.ADD_TAGS)&&(ie===xe&&(ie=Jt(ie)),ot(ie,T.ADD_TAGS,tt))),Ut(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?re.attributeCheck=T.ADD_ATTR:Zn(T.ADD_ATTR)&&(W===Q&&(W=Jt(W)),ot(W,T.ADD_ATTR,tt))),Ut(T,"ADD_FORBID_CONTENTS")&&Zn(T.ADD_FORBID_CONTENTS)&&($e===nt&&($e=Jt($e)),ot($e,T.ADD_FORBID_CONTENTS,tt)),Be&&(ie["#text"]=!0),Qe&&ot(ie,["html","head","body"]),ie.table&&(ot(ie,["tbody"]),delete ke.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw On('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw On('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const he=k;k=T.TRUSTED_TYPES_POLICY;try{E=j("")}catch(Me){throw k=he,Me}}else T.TRUSTED_TYPES_POLICY===null?(k=void 0,E=""):(k===void 0&&(k=O()),k&&typeof E=="string"&&(E=j("")));At&&At(T),Tt=T},un=ot({},[..._r,...wr,...j0]),cn=ot({},[...Ar,...T0]),Rn=function(T,Z,he){return Z.namespaceURI===Xe?T==="svg":Z.namespaceURI===We?T==="svg"&&(he==="annotation-xml"||Bt[he]):!!un[T]},dn=function(T,Z,he){return Z.namespaceURI===Xe?T==="math":Z.namespaceURI===Pe?T==="math"&<[he]:!!cn[T]},Pn=function(T,Z,he){return Z.namespaceURI===Pe&&!lt[he]||Z.namespaceURI===We&&!Bt[he]?!1:!cn[T]&&(He[T]||!un[T])},Nn=function(T){let Z=w(T);(!Z||!Z.tagName)&&(Z={namespaceURI:Oe,tagName:"template"});const he=ma(T.tagName),Me=ma(Z.tagName);return Ge[T.namespaceURI]?T.namespaceURI===Pe?Rn(he,Z,Me):T.namespaceURI===We?dn(he,Z,Me):T.namespaceURI===Xe?Pn(he,Z,Me):!!(at==="application/xhtml+xml"&&Ge[T.namespaceURI]):!1},Nt=function(T){pa(n.removed,{element:T});try{w(T).removeChild(T)}catch{if(v(T),!w(T))throw On("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Cn=function(T,Z,he){try{T.removeAttributeNode(Z)}catch{try{T.removeAttribute(he)}catch{}}},Ht=function(T){en(T);const Z=y(T);if(Z){const Me=[];Fn(Z,Ie=>{pa(Me,Ie)}),Fn(Me,Ie=>{try{v(Ie)}catch{}})}const he=_(T);if(he)for(let Me=he.length-1;Me>=0;--Me){const Ie=he[Me],Ue=Ie&&Ie.name;typeof Ue=="string"&&Cn(T,Ie,Ue)}},Zt=function(T,Z,he){if(!he)try{he=Z.getAttributeNode(T)}catch{he=null}pa(n.removed,{attribute:he||null,from:Z});try{he?Z.removeAttributeNode(he):Z.removeAttribute(T)}catch{try{Z.removeAttribute(T)}catch{}}if(T==="is")if(Ye||Se)try{Nt(Z)}catch{}else try{Z.setAttribute(T,"")}catch{}},fn=function(T){const Z=_(T);if(Z)for(let he=Z.length-1;he>=0;--he){const Me=Z[he],Ie=Me&&Me.name;typeof Ie!="string"||W[tt(Ie)]||Cn(T,Me,Ie)}},en=function(T){const Z=[T];for(;Z.length>0;){const he=Z.pop();N(he)===Qt.element&&fn(he);const Ie=y(he);if(Ie)for(let Ue=Ie.length-1;Ue>=0;--Ue)Z.push(Ie[Ue])}},gn=function(T,Z){return Je?T==="patchsrc"?!0:T==="for"&&Z!=="label"&&Z!=="output":!1},In=function(T){if(!Je)return;const Z=[T];for(;Z.length>0;){const he=Z.pop(),Me=N(he);if(Me===Qt.processingInstruction||Me===Qt.comment&&$t(Is,he.data)){try{v(he)}catch{}continue}if(Me===Qt.element){const Ue=he,ct=tt(B(he));try{Ue.hasAttribute&&Ue.hasAttribute("patchsrc")&&Ue.removeAttribute("patchsrc"),Ue.hasAttribute&&Ue.hasAttribute("for")&&gn("for",ct)&&Ue.removeAttribute("for")}catch{}}const Ie=y(he);if(Ie)for(let Ue=Ie.length-1;Ue>=0;--Ue)Z.push(Ie[Ue])}},bn=function(T){let Z=null,he=null;if(et)T="<remove></remove>"+T;else{const Ue=Ds(T,/^[\r\n\t ]+/);he=Ue&&Ue[0]}at==="application/xhtml+xml"&&Oe===Xe&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const Me=k?j(T):T;if(Oe===Xe)try{Z=new p().parseFromString(Me,at)}catch{}if(!Z||!Z.documentElement){Z=te.createDocument(Oe,"template",null);try{Z.documentElement.innerHTML=it?E:Me}catch{}}const Ie=Z.body||Z.documentElement;return T&&he&&Ie.insertBefore(a.createTextNode(he),Ie.childNodes[0]||null),Oe===Xe?P.call(Z,Qe?"html":"body")[0]:Qe?Z.documentElement:Ie},oe=function(T){const Z=x?x(T):T.ownerDocument;return V.call(Z||T,T,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},ye=function(T){return T=ha(T,H," "),T=ha(T,L," "),T=ha(T,I," "),T},G=function(T){var Z;T.normalize();const he=x?x(T):T.ownerDocument,Me=V.call(he||T,T,d.SHOW_TEXT|d.SHOW_COMMENT|d.SHOW_CDATA_SECTION|d.SHOW_PROCESSING_INSTRUCTION,null);let Ie=Me.nextNode();for(;Ie;)Ie.data=ye(Ie.data),Ie=Me.nextNode();const Ue=(Z=T.querySelectorAll)===null||Z===void 0?void 0:Z.call(T,"template");Ue&&Fn(Ue,ct=>{ce(ct.content)&&G(ct.content)})},le=function(T){const Z=A?A(T):null;return typeof Z!="string"||tt(Z)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==_(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==b(T)||T.childNodes!==y(T)},ce=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return b(T)===Qt.documentFragment}catch{return!1}},ve=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return typeof b(T)=="number"}catch{return!1}};function _e(we,T,Z){we.length!==0&&Fn(we,he=>{he.call(n,T,Z,Tt)})}const Te=function(T,Z){return!!(Je&&T.hasChildNodes()&&!ve(T.firstElementChild)&&$t(Ps,T.textContent)&&$t(Ps,T.innerHTML)||Je&&T.namespaceURI===Xe&&W0[Z]&&(ve(T.firstElementChild)||typeof T.textContent=="string"&&$t(q0[Z],T.textContent))||T.nodeType===Qt.processingInstruction||Je&&T.nodeType===Qt.comment&&$t(Is,T.data))},rt=function(T,Z){if(T instanceof RegExp)return $t(T,Z);if(T instanceof Function){for(var he=arguments.length,Me=new Array(he>2?he-2:0),Ie=2;Ie<he;Ie++)Me[Ie-2]=arguments[Ie];return!!T(Z,...Me)}return!1},gt=function(T,Z,he){if(!ke[Z]&&Ne(Z)&&rt(se.tagNameCheck,Z))return!1;if(Be&&!$e[Z]){const Me=w(T),Ie=y(T);if(Ie&&Me){const Ue=Ie.length;for(let ct=Ue-1;ct>=0;--ct){const Ct=T===he?g(Ie[ct],!0):Ie[ct];Me.insertBefore(Ct,f(T))}}}return Nt(T),!0},ut=function(T,Z,he,Me){return T.length===0?Z:Z===he||Z===Me?Jt(Z):Z},vt=function(T,Z){return T===Z||w(T)!==null?!1:(je&&en(T),!0)},Rt=function(T,Z){if(_e(D.beforeSanitizeElements,T,null),vt(T,Z))return!0;if(le(T))return Nt(T),!0;const he=tt(B(T));if(ie=ut(D.uponSanitizeElement,ie,xe,Fe),_e(D.uponSanitizeElement,T,{tagName:he,allowedTags:ie}),vt(T,Z))return!0;if(Te(T,he))return Nt(T),!0;if(ke[he]||!(re.tagCheck instanceof Function&&re.tagCheck(he))&&!ie[he]){const Ie=gt(T,he,Z);return Ie===!1&&_e(D.afterSanitizeElements,T,null),Ie}if(N(T)===Qt.element&&!Nn(T)||(he==="noscript"||he==="noembed"||he==="noframes")&&$t(z0,T.innerHTML))return Nt(T),!0;if(Le&&T.nodeType===Qt.text){const Ie=ye(T.textContent);T.textContent!==Ie&&(pa(n.removed,{element:T.cloneNode()}),T.textContent=Ie)}return _e(D.afterSanitizeElements,T,null),!1},Lt=function(T,Z,he){if(me[Z]||gn(Z,T)||ee&&(Z==="id"||Z==="name")&&(he in a||he in Yt))return!1;const Me=W[Z]||re.attributeCheck instanceof Function&&re.attributeCheck(Z,T);return ge&&$t($,Z)||Ce&&$t(K,Z)?!0:Me?dt[Z]||$t(ue,ha(he,J,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&T!=="script"&&Es(he,"data:")===0&&_t[T]||Ee&&!$t(ne,ha(he,J,""))?!0:!he:Ne(T)&&rt(se.tagNameCheck,T)&&rt(se.attributeNameCheck,Z,T)||Z==="is"&&se.allowCustomizedBuiltInElements&&rt(se.tagNameCheck,he)},nn=ot({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ne=function(T){return!nn[ma(T)]&&$t(ae,T)},Ve=function(T,Z,he,Me){if(k&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!he)switch(m.getAttributeType(T,Z)){case"TrustedHTML":return j(Me);case"TrustedScriptURL":return M(Me)}return Me},xt=function(T,Z,he,Me){try{he?T.setAttributeNS(he,Z,Me):T.setAttribute(Z,Me),le(T)?Nt(T):Ns(n.removed)}catch{Zt(Z,T)}},zt=function(T){_e(D.beforeSanitizeAttributes,T,null);const Z=T.attributes;if(!Z||le(T))return;W=ut(D.uponSanitizeAttribute,W,Q,st);const he={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let Me=Z.length;const Ie=tt(T.nodeName);for(;Me--;){const Ue=Z[Me],ct=Ue.name,Ct=Ue.namespaceURI,Wt=Ue.value,qt=tt(ct),fr=Wt;let Pt=ct==="value"?fr:A0(fr);if(he.attrName=qt,he.attrValue=Pt,he.keepAttr=!0,he.forceKeepAttr=void 0,_e(D.uponSanitizeAttribute,T,he),Pt=he.attrValue,fe&&(qt==="id"||qt==="name")&&Es(Pt,ze)!==0&&(Zt(ct,T,Ue),Pt=ze+Pt),Je&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Pt)){Zt(ct,T,Ue);continue}if(qt==="attributename"&&Ds(Pt,"href")){Zt(ct,T,Ue);continue}if(!he.forceKeepAttr){if(!he.keepAttr){Zt(ct,T,Ue);continue}if(!Re&&$t(V0,Pt)){Zt(ct,T,Ue);continue}if(Le&&(Pt=ye(Pt)),!Lt(Ie,qt,Pt)){Zt(ct,T,Ue);continue}Pt=Ve(Ie,qt,Ct,Pt),Pt!==fr&&xt(T,ct,Ct,Pt)}}_e(D.afterSanitizeAttributes,T,null)},Vt=function(T){let Z=null;const he=oe(T);for(_e(D.beforeSanitizeShadowDOM,T,null);Z=he.nextNode();)if(_e(D.uponSanitizeShadowNode,Z,null),Rt(Z,T),zt(Z),ce(Z.content)&&Vt(Z.content),N(Z)===Qt.element){const Me=h(Z);ce(Me)&&(Cr(Me),Vt(Me))}_e(D.afterSanitizeShadowDOM,T,null)},Cr=function(T){const Z=[{node:T,shadow:null}];for(;Z.length>0;){const he=Z.pop();if(he.shadow){Vt(he.shadow);continue}const Me=he.node,Ue=N(Me)===Qt.element,ct=y(Me);if(ct)for(let Ct=ct.length-1;Ct>=0;--Ct)Z.push({node:ct[Ct],shadow:null});if(Ue){const Ct=A?A(Me):null;if(typeof Ct=="string"&&tt(Ct)==="template"){const Wt=Me.content;ce(Wt)&&Z.push({node:Wt,shadow:null})}}if(Ue){const Ct=h(Me);ce(Ct)&&Z.push({node:null,shadow:Ct},{node:Ct,shadow:null})}}};return n.sanitize=function(we){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,he=null,Me=null,Ie=null;if(it=!we,it&&(we="<!-->"),typeof we!="string"&&!ve(we)&&(we=E0(we),typeof we!="string"))throw On("dirty is not a string, aborting");if(!n.isSupported)return we;qe?(ie=Fe,W=st):ln(T),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(ie=Jt(ie)),D.uponSanitizeAttribute.length>0&&(W=Jt(W)),n.removed=[];const Ue=je&&typeof we!="string"&&ve(we);if(Ue){In(we);const Wt=B(we);if(typeof Wt=="string"){const qt=tt(Wt);if(!ie[qt]||ke[qt])throw Ht(we),On("root node is forbidden and cannot be sanitized in-place")}if(le(we))throw Ht(we),On("root node is clobbered and cannot be sanitized in-place");try{Cr(we)}catch(qt){throw Ht(we),qt}}else if(ve(we))Z=bn("<!---->"),he=Z.ownerDocument.importNode(we,!0),he.nodeType===Qt.element&&he.nodeName==="BODY"||he.nodeName==="HTML"?Z=he:Z.appendChild(he),Cr(he);else{if(!Ye&&!Le&&!Qe&&we.indexOf("<")===-1)return k&&Ae?j(we):we;if(Z=bn(we),!Z)return Ye?null:Ae?E:""}Z&&et&&Nt(Z.firstChild);const ct=Ue?we:Z;try{const Wt=oe(ct);for(;Me=Wt.nextNode();)Rt(Me,ct),zt(Me),ce(Me.content)&&Vt(Me.content)}catch(Wt){throw Ue&&(Ht(we),Fn(n.removed,qt=>{qt.element&&en(qt.element)})),Wt}if(Ue)return Fn(n.removed,Wt=>{Wt.element&&en(Wt.element)}),Le&&G(we),we;if(Ye){if(Le&&G(Z),Se)for(Ie=U.call(Z.ownerDocument);Z.firstChild;)Ie.appendChild(Z.firstChild);else Ie=Z;return(W.shadowroot||W.shadowrootmode)&&(Ie=F.call(r,Ie,!0)),Ie}let Ct=Qe?Z.outerHTML:Z.innerHTML;return Qe&&ie["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&$t(O0,Z.ownerDocument.doctype.name)&&(Ct="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
|
|
828
828
|
`+Ct),Le&&(Ct=ye(Ct)),k&&Ae?j(Ct):Ct},n.setConfig=function(){let we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ln(we),qe=!0,Fe=ie,st=W},n.clearConfig=function(){Tt=null,qe=!1,Fe=null,st=null,k=S,E=""},n.isValidAttribute=function(we,T,Z){Tt||ln({});const he=tt(we),Me=tt(T);return Lt(he,Me,Z)},n.addHook=function(we,T){typeof T=="function"&&Ut(D,we)&&pa(D[we],T)},n.removeHook=function(we,T){if(Ut(D,we)){if(T!==void 0){const Z=_0(D[we],T);return Z===-1?void 0:w0(D[we],Z,1)[0]}return Ns(D[we])}},n.removeHooks=function(we){Ut(D,we)&&(D[we]=[])},n.removeAllHooks=function(){D=Os()},n}var Nr=Hs();const K0=/^(?:[a-z]+:)?\/\//i,Y0="__ihab_core_asset_base_url__";function Z0(){return globalThis[Y0]??""}function Dr(e){const n=String(e||"").trim();if(!n)return"";if(K0.test(n)||n.startsWith("data:")||n.startsWith("blob:"))return n;const a=n.startsWith("/")?n:`/${n}`,r=Z0();return r?`${r}${a}`:a}const zs="__ihab_core_storage_resolvers__";function fa(){return globalThis[zs]??null}function X0(e){globalThis[zs]=e}let Vs=class extends Error{constructor(n){super(`
|
|
829
829
|
[ihabdevteam-core] ${n}() \uD638\uCD9C \uC2E4\uD328 \u2014 configureStorage()\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
|
|
830
830
|
|
|
@@ -844,19 +844,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
844
844
|
\uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
|
|
845
845
|
npm install @supabase/supabase-js
|
|
846
846
|
pnpm add @supabase/supabase-js
|
|
847
|
-
`),this.name="StorageNotConfiguredError"}};function J0(e){X0(e)}function Ws(e,n){if(!e)return null;const a=fa();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function qs(e){if(!e)return null;const n=fa();if(!n)throw new Vs("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Us(e){const n=fa();if(!n)throw new Vs("downloadSound");return n.download(e)}function Q0(){return fa()?.noiseBaseUrl??"/sounds/noise"}function Gs(){const e=Number(fa()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function eC(e){const n=AbortSignal.timeout;if(typeof n=="function")return n.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Ks="__ihab_core_tts_config__";function Er(){return globalThis[Ks]?.urlResolver??null}function tC(){return globalThis[Ks]?.fallbackUrlResolver??null}const nC="__ihab_core_pronunciation_resolver__";function aC(){return globalThis[nC]??null}let En=null;const ga=new WeakMap,Sr=new WeakMap,jr=new WeakMap;let Ys=!1;const Zs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function rC(){if(Ys||typeof document>"u")return;Ys=!0;const e=()=>{try{En&&En.state!=="running"&&En.resume()}catch{}};for(const n of["pointerdown","touchend","keydown"])document.addEventListener(n,e,{capture:!0,passive:!0})}function Xs(){if(En)return En;try{const e=window.AudioContext||window.webkitAudioContext;return e?(En=new e,rC(),En):null}catch{return null}}function Tr(){try{En?.resume()}catch{}}function Mr(e,n){const a=ga.get(n);if(a)return a;try{const r=e.createMediaElementSource(n),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=Zs(Sr.get(n)??n.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{n.volume=1}catch{}const l={gain:s,analyser:i};return ga.set(n,l),l}catch{return null}}function Oa(e){if(!e)return Promise.resolve(null);const n=ga.get(e);if(n)return Promise.resolve(n.analyser);const a=Xs();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Mr(a,e)?.analyser??null);const r=jr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Mr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{jr.delete(e)});return jr.set(e,s),s}function oC(e){if(!e)return null;const n=ga.get(e);if(n)return n.analyser;const a=Xs();return a?a.state==="running"?Mr(a,e)?.analyser??null:(Oa(e),null):null}function Sn(e,n){const a=Zs(n);Sr.set(e,a);const r=ga.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const s=r.gain.gain;try{const i=r.gain.context.currentTime;s.cancelScheduledValues(i),s.setTargetAtTime(a,i,.01)}catch{try{s.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function Ha(e){return Sr.get(e)??e.volume}function sC(e,n){e.getFloatTimeDomainData(n);let a=0;for(let r=0;r<n.length;r++){const s=n[r];a+=s*s}return Math.sqrt(a/n.length)}const iC="__ihab_core_image_config__";function Xn(){return globalThis[iC]??null}const Js="word_image_existence_map_v1";let Hn=null;const za=new Map;function lC(){if(Hn)return Hn;try{const e=typeof localStorage<"u"?localStorage.getItem(Js):null,n=e?JSON.parse(e):null;Hn=n&&typeof n=="object"&&!Array.isArray(n)?n:{}}catch{Hn={}}return Hn}let Lr=null;function uC(){Lr||(Lr=setTimeout(()=>{Lr=null;try{typeof localStorage<"u"&&Hn&&localStorage.setItem(Js,JSON.stringify(Hn))}catch{}},200))}function cC(e,n){return`${e}_${n??1}`}async function Qs(e,n){const a=lC(),r=cC(e,n);if(r in a)return a[r];if(za.has(r))return za.get(r);const s=Xn();if(!s)return!1;const i=s(e,n);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:eC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(za.delete(r),u===null?!1:(a[r]=u,uC(),u)));return za.set(r,l),l}const dC={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},ei=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ti=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],pC=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function ba(e){if(!e)return null;const n=e.charCodeAt(0)-44032;return n<0||n>=11172?null:{cho:Math.floor(n/588),jung:Math.floor(n%588/28),jong:n%28}}function mC(e){const n=ba(e[0]||"");return n?ei[n.cho]:""}function hC(e){if(!e)return()=>!0;e=e.normalize("NFC");const n=[...e],a=l=>ei.includes(l),r=l=>ti.includes(l),s=n.map(l=>a(l)?"cho":r(l)?"jung":ba(l)?"syl":"other"),i=n.map(l=>ba(l));if(s.includes("other")){const l=e.toLowerCase();return u=>u.normalize("NFC").toLowerCase().includes(l)}return l=>{const u=[...l.normalize("NFC")];for(let d=0;d+n.length<=u.length;d++){let c=!0;for(let p=0;p<n.length;p++){const m=u[d+p],C=s[p];if(C==="cho"){if(mC(m)!==n[p]){c=!1;break}}else if(C==="jung"){const g=ba(m);if(!g||ti[g.jung]!==n[p]){c=!1;break}}else{const g=i[p];if(g&&g.jong===0){const v=ba(m);if(!v||v.cho!==g.cho||v.jung!==g.jung){c=!1;break}}else if(m!==n[p]){c=!1;break}}}if(c)return!0}return!1}}const CC={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(CC).map(([e,n])=>[n.join(""),pC[Number(e)]]));const fC="word_pair_index_v2",gC="word_pair_index_sig_v2";let Va=null;function bC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(fC),n=localStorage.getItem(gC);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function yC(){if(Va)return Va;const e=bC();return e?(Va=e.index,e.sig,Va):null}const $r=/[ㄱ-ㅎ]/,vC=/[ㅏ-ㅣ]/;function ni(e){e=e.normalize("NFC");for(let n=e.length-1;n>=0;n--){const a=e[n],r=a.charCodeAt(0);if(r>=44032&&r<=55203||$r.test(a)||vC.test(a))return a}return null}function xC(e){const n=ni(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":$r.test(n)?"\uC774":"\uAC00"}function _C(e){return`${e}${xC(e)}`}function wC(e){const n=ni(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":$r.test(n)?"\uC744":"\uB97C"}function AC(e){return`${e}${wC(e)}`}function kC(e,n,a){const r=e.slice(),[s]=r.splice(n,1);return r.splice(a,0,s),r}function ya(e,n=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(n()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const BC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",n=typeof Et?.t=="function"?Et.t("common.unknownError",{defaultValue:e}):void 0;return typeof n=="string"&&n?n:e};function ai(e,n){if(n===void 0&&(n=BC()),e instanceof Error)return e.message||n;if(typeof e=="string")return e||n;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return n}const NC="__ihab_core_word_pool__";function ri(){return globalThis[NC]??null}const oi=globalThis;function si(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function DC(e){si("time",()=>oi.__ihabTrainingTimeLogger?.(e))}function EC(e){si("completion",()=>oi.__ihabTrainingCompletionLogger?.(e))}function Gt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function SC(e){for(const n of["correct","isCorrect","heard","judgement"])if(typeof e[n]=="boolean")return e[n];return e.score===1?!0:e.score===0?!1:null}function jC(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:Gt(r.contextCode)??Gt(r.itemId)??Gt(r.itemCode)??Gt(r.id),question:Gt(r.question)??Gt(r.q)??Gt(r.sentence)??Gt(r.text)??Gt(r.prompt)??Gt(r.word)??Gt(r.targetSyllable),answer:Gt(r.answer),selected:Gt(r.selectedText)??Gt(r.selected),correct:SC(r)}}):[]}const Rr=globalThis;async function TC(){try{return await Rr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ii(e){const n=a=>{};try{const a=Rr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Wa(e){try{Rr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function MC(e){if(typeof document<"u"){const n=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),n&&n!==document.activeElement&&typeof n.focus=="function"&&n.isConnected)try{n.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const LC="Asia/Seoul",$C=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Pr(e){let n;if(e instanceof Date)n=e;else if(typeof e=="string"){const a=e.trim(),r=$C.exec(a);n=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else n=new Date(e);return Number.isNaN(n.getTime())?null:n}const RC=e=>Pr(e);function PC(e,n){const a=n.startsWith("ko")?"ko-KR":"en-US",r=RC(e);return r?r.toLocaleDateString(a,{timeZone:LC,year:"numeric",month:"short",day:"numeric"}):""}function va(){return Fr(new Date)}function Ir(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:va()}function Jn(){return FC(va())}const IC=540*60*1e3;function li(e,n,a){return new Date(Date.UTC(e,n,a)-IC)}function FC(e){const[n,a,r]=e.split("-").map(Number);return new Date(n,(a||1)-1,r||1)}function Fr(e){if(e==null||e==="")return"";const n=Pr(e);return n?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n):""}function ui(e,n){if(!e)return"";const a=Pr(e);if(!a)return"";const r=a.getTime(),s=Math.max(0,Math.floor((Date.now()-r)/1e3)),i=Math.floor(s/60),l=Math.floor(i/60),u=Math.floor(l/24),d=Math.floor(u/7),c=Math.floor(u/30),p=Math.floor(u/365);return i<1?n("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?n("store.time.minutesAgo",{n:i}):l<24?n("store.time.hoursAgo",{n:l}):u<7?n("store.time.daysAgo",{n:u}):d<5?n("store.time.weeksAgo",{n:d}):u<365?n("store.time.monthsAgo",{n:Math.min(c,11)}):n("store.time.yearsAgo",{n:p})}function ci(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=n;if(!e)return i;const l=Fr(e instanceof Date?e:String(e));if(!l)return i;const[u,d,c]=l.split("-"),p=r?d:String(Number(d)),m=r?c:String(Number(c));return`${u}${a}${p}${a}${m}${s?".":""}`}function Qn(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function di(e,n){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),s=Number(a[2]),i=a[1].padStart(2,"0");return s===0?n("date.timeH",{h:r,hh:i,mm:a[2]}):n("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function Or(e){return(e??0).toLocaleString("ko-KR")}const OC=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],HC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function pi(){return OC}function zC(){return HC}const VC=[],WC=[],qC=[],UC=[];function GC(){return{LISTEN_IN_NOISE:VC,SHORT_STORY:WC,LONG_STORY:qC,ORDERING_SENTENCE:UC}}const KC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],mi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function YC(e){return KC.map(n=>{const a=mi[n.key];return a?{...n,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:n})}let qa=null,hi=null,Ci=null;function ZC(){const e=ri();if(e&&e.entries.length>0){const n=yC();if(qa&&hi===e&&Ci===n)return qa;const a=new Set,r=[];for(const s of e.entries)!s.word||a.has(s.word)||(a.add(s.word),r.push({w:s.word,s:s.syllables,p:n?.[s.word]?[...n[s.word].cho??[],...n[s.word].jung??[],...n[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return qa=r,hi=e,Ci=n,qa}return[]}new Proxy([],{get(e,n){const a=ZC(),r=a[n];return typeof r=="function"?r.bind(a):r}});const XC="0.248.0";function JC(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const n=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(n)}function QC(e){if(typeof window>"u")return"";const n=(a,r)=>{typeof r.attrValue=="string"&&JC(r.attrValue)&&(r.keepAttr=!1)};Nr.addHook("uponSanitizeAttribute",n);try{return Nr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Nr.removeHook("uponSanitizeAttribute",n)}}function ef(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[u,d]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const c=e.split("/").pop();let p=e;c&&(e.startsWith("/")?p=Dr(e):/^(Logo|Symbol)/i.test(c)?p=Dr(`logo/${c}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!n)return;let c=!1;async function p(){try{let m=await fetch(n);m.ok||(m=await fetch(n));const C=m.headers.get("content-type")||"";if(c)return;if(C.includes("svg")){s("mask");return}if(C.startsWith("image/")){s("img");return}const g=await fetch(n);if(!g.ok)throw new Error("not ok");const v=await g.text();if(c)return;if(/^\s*<svg[\s>]/i.test(v)){const f=QC(v);if(!f){s("none");return}l(f),s("inline");return}s("none")}catch{c||s("none")}}return p(),()=>{c=!0}},[n]),o.useEffect(()=>{let c=!1,p=null;return r==="mask"&&n&&fetch(n).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{c||(p=URL.createObjectURL(m),d(p))}).catch(()=>{c||s("img")}),()=>{c=!0,p&&URL.revokeObjectURL(p),d(null)}},[r,n]),{iconToUse:n,mode:r,svgText:i,blobUrl:u}}function Ke(e){const{icon:n,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:u,size:d}=e||{},c=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",C=l??"iconRenderer-icon-svg",g=typeof n=="string"?n:null,v=m0(g),{iconToUse:f,mode:y,svgText:w,blobUrl:h}=ef(g),_=(B,k={})=>t.jsx("span",{className:c,style:u,...k,children:B}),b=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,A=(B,k={})=>t.jsx("img",{src:B,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...k,style:b?{...k.style,...b}:k.style});if(!n)return null;if(typeof n!="string")return _(n);if(n==="none")return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(v)try{return _(o.createElement(v,{className:C,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(f&&f.endsWith(".svg")){if(y==="mask"){const B={"--icon-url":h?`url(${h})`:`url(${f})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return _(t.jsx("span",{className:m,style:B}),{"aria-hidden":"true"})}return y==="img"?_(A(f,{onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):y==="inline"?_(t.jsx("span",{className:C,dangerouslySetInnerHTML:w?{__html:w}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Dr(n),{style:u,onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}});const x=typeof d=="number"?d:20,N=`<svg width="${x}" height="${x}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:N}}),{"aria-hidden":"true"})}function fi(e){const[n,a]=o.useState(!1),r=o.useRef(!1),s=o.useRef(!0);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const u=()=>{r.current=!1,s.current&&a(!1)};l.then(u,u)}},[e]);return{pending:n,press:i}}function tf({icon:e,title:n,message:a,action:r,className:s}){const{pending:i,press:l}=fi(r?.onClick);return t.jsxs("div",{className:De("empty-state",s),children:[e&&t.jsx(Ke,{icon:e,size:48,className:"empty-state__icon"}),n&&t.jsx("p",{className:"empty-state__title h4",children:n}),a&&t.jsx("p",{className:"empty-state__message body-3",children:a}),r&&t.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:i,"aria-busy":i||void 0,children:[r.icon&&t.jsx(Ke,{icon:r.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function nf({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=be.useTranslation(),{pending:u,press:d}=fi(r);return t.jsxs("div",{className:De("empty-state","error-state",i),role:"alert",children:[t.jsx(Ke,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),t.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),n&&t.jsx("p",{className:"error-state__hint caption-1",children:n}),r&&t.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[t.jsx(Ke,{icon:"rotate-cw",className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function af({icon:e,title:n,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:u=""}){const d=o.useId(),c=`${d}-title`,p=`${d}-desc`,m=`${d}-cta`,C=()=>{i||l?.()};return t.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":c,"aria-describedby":`${p} ${m}`,onClick:C,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),C())},className:De("action-card",`action-card--${s}`,i&&"action-card--disabled",u),children:t.jsxs("div",{className:"action-card__body",children:[t.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:t.jsx(Ke,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{id:c,className:"action-card__title",children:n}),t.jsx("p",{id:p,className:"action-card__desc",children:a})]}),t.jsxs("div",{className:"action-card__cta",children:[t.jsx("span",{id:m,children:r}),t.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:t.jsx(Ke,{icon:"arrow-right",size:18})})]})]})})}function rf({as:e="div",className:n="",children:a,storage:r,...s}){r&&J0({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=De("ihabdevteam-core-scope",n);return t.jsx(e,{className:i,...s,children:a})}function Hr(e,n=!0){o.useEffect(()=>{if(!n)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(mn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],u=i[i.length-1],d=document.activeElement,c=d===a;s.shiftKey&&(d===l||c)?(s.preventDefault(),u.focus()):!s.shiftKey&&d===u&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const mn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',zr=new WeakMap;function Vr(e,n){e&&zr.set(e,n)}function Wr(e){let n=e;for(let a=0;n&&!n.isConnected&&a<10;a++){let r=n;for(;r&&!zr.has(r);)r=r.parentElement;if(!r)return n;n=zr.get(r)??null}return n}function gi(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Ua(e,n,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(gi(n)&&!(e&&e.contains(n)))return n.focus(),n;if(!r)return null;const s=Array.from(document.querySelectorAll(mn)).filter(d=>!(e&&e.contains(d))&&gi(d));let i=null,l=null;for(const d of s)r.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:l||(l=d);const u=i??l;return u?.focus(),u}function of({title:e="",lines:n=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=be.useTranslation(),[d,c]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const f=p.current;f&&f.contains(document.activeElement)&&Ua(f),c(!0)},[]);if(d)return null;const C=`notice-box notice-box--${s} body-2 ${l}`.trim(),g=i&&t.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return t.jsxs("div",{className:C,role:"note",children:[a.map((f,y)=>t.jsxs("div",{className:"notice-box__inner",children:[f.title?t.jsx("span",{className:"notice-box__title body-3",children:f.title}):null,t.jsx("div",{className:"notice-box__body",children:f.lines&&f.lines.length?t.jsx("div",{children:f.lines.map((w,h)=>t.jsx("span",{className:"notice-box__line body-3",children:w},h))}):f.children??null})]},y)),g]});const v=e||n.length?t.jsxs("div",{className:"notice-box__inner",children:[e?t.jsx("span",{className:"notice-box__title body-1",children:e}):null,t.jsx("div",{className:"notice-box__body",children:n.length?t.jsx("ul",{children:n.map((f,y)=>t.jsx("li",{className:"notice-box__line",children:f},y))}):r})]}):t.jsx("div",{className:"notice-box__inner",children:r});return t.jsxs("div",{ref:p,className:C,role:"note",children:[v,g]})}const ea=[];let Ga=!1;function bi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const n=ea[ea.length-1];n&&(e.stopPropagation(),n())}function zn(e){return ea.push(e),!Ga&&typeof document<"u"&&(document.addEventListener("keydown",bi),Ga=!0),()=>{const n=ea.lastIndexOf(e);n>=0&&ea.splice(n,1),ea.length===0&&Ga&&typeof document<"u"&&(document.removeEventListener("keydown",bi),Ga=!1)}}const yi=o.createContext(null);function sf(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const vi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function lf(e){const n=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return es.useSyncExternalStore(n,()=>vi(e),()=>!1)}function uf(e){const[n,a]=o.useState(vi(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=l=>a(l.matches),i=r;return i.addEventListener?i.addEventListener("change",s):i.addListener&&i.addListener(s),a(r.matches),()=>{i.removeEventListener?i.removeEventListener("change",s):i.removeListener&&i.removeListener(s)}},[e]),n}const cf=typeof es.useSyncExternalStore=="function"?lf:uf;function tn(e){const n=o.useContext(yi),a=cf(e);return n&&typeof n.mobile=="boolean"&&sf(e)?n.mobile:a}const df="(prefers-reduced-motion: reduce)";function qr(){return tn(df)}function rn(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:u="",role:d="dialog",ariaLabel:c="",children:p,backdrop:m=!1,isMobilePopup:C=!1,useBorder:g=!0,header:v,focusOnOpen:f}=e||{},y=o.useRef(null),[w,h]=o.useState({position:"fixed",left:0,top:-9999}),[_,b]=o.useState(!1),[A,x]=o.useState("bottom"),[N,B]=o.useState(!1),[k,E]=o.useState(!1),S=!n&&!a,z=o.useCallback((I=!1)=>{if(k&&C)return;const q=a?a.getBoundingClientRect():n;if(!q||!y.current)return;const H=y.current,{offsetWidth:D,offsetHeight:O}=H,M=window.innerWidth,P=window.innerHeight,$=M-q.right,Y=q.left,ne=q.top,J=P-q.bottom;let ae=0,ue=0,ie="top";if(ne>=O+r)ie="top",ue=q.top-r-O,ae=q.left+q.width/2-D/2;else if(J>=O+r)ie="bottom",ue=q.bottom+r,ae=q.left+q.width/2-D/2;else if($>=D+r)ie="right",ae=q.right+r,ue=q.top+q.height/2-O/2;else if(Y>=D+r)ie="left",ae=q.left-r-D,ue=q.top+q.height/2-O/2;else{const se=Math.max(ne,J,$,Y);se===ne?(ie="top",ue=q.top-r-O,ae=q.left+q.width/2-D/2):se===J?(ie="bottom",ue=q.bottom+r,ae=q.left+q.width/2-D/2):se===$?(ie="right",ae=q.right+r,ue=q.top+q.height/2-O/2):(ie="left",ae=q.left-r-D,ue=q.top+q.height/2-O/2)}const xe=Number.isFinite(Number(s))?Number(s):8;ae=Math.min(Math.max(ae,xe),M-D-xe),ue=Math.min(Math.max(ue,xe),P-O-xe);const W=Math.round(ae),Q=Math.round(ue);I&&y.current?(y.current.style.left=`${W}px`,y.current.style.top=`${Q}px`,y.current.dataset.placement=ie):(x(ie||A),h({position:"fixed",left:W,top:Q}),B(!0))},[k,C,a,n,r,s,A]);o.useLayoutEffect(()=>{if(S)return;if(k&&C){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const I=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(I)},[n,a,r,p,s,S,k,C,z]),o.useEffect(()=>{if(S||k&&C||!y.current||typeof ResizeObserver>"u")return;const I=new ResizeObserver(()=>{n&&z()});return I.observe(y.current),()=>I.disconnect()},[n,p,s,S,k,C,z]),o.useEffect(()=>{if(S||k&&C)return;const I=()=>z(!0),q=H=>{if(!a&&i){const D=H.target;if(D&&y.current&&y.current.contains(D))return;try{if(D&&D.closest&&D.closest("[data-tooltip-ignore]"))return}catch{}F.current(!0);return}I()};return window.addEventListener("resize",I),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",I),document.removeEventListener("scroll",q,{capture:!0})}},[n,a,i,r,p,s,S,k,C,z]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const I=window.matchMedia("(max-width: 768px)"),q=()=>E(!!I.matches);q();try{I.addEventListener?I.addEventListener("change",q):I.addListener(q)}catch{try{I.addListener(q)}catch{}}return()=>{try{I.removeEventListener?I.removeEventListener("change",q):I.removeListener(q)}catch{}}},[]);const R=o.useRef(!1),U=o.useRef(null),j=qr(),L=o.useCallback((I=!1)=>{if(i&&!(_||R.current)){if(R.current=!0,I){b(!0);try{i&&i()}catch{R.current=!1,b(!1)}return}b(!0),U.current=setTimeout(()=>{U.current=null;try{i&&i()}catch{R.current=!1,b(!1)}},j?0:200)}},[_,i,b,j]);o.useEffect(()=>()=>{U.current&&clearTimeout(U.current)},[]),o.useEffect(()=>{if(S)return;const I=D=>{const O=y.current;if(!O)return;const M=D.target;if(M&&!O.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},q=D=>{const O=y.current;if(!O)return;const M=D.target;if(M&&!O.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},H=D=>{if(D.key==="Tab"){const O=y.current;if(!O)return;const M=O.querySelectorAll(mn);if(!M||M.length===0)return;const P=M[0],$=M[M.length-1],Y=document.activeElement;D.shiftKey?Y===P&&(D.preventDefault(),$.focus()):Y===$&&(D.preventDefault(),P.focus())}};return document.addEventListener("pointerdown",I,!0),document.addEventListener("click",q,!0),document.addEventListener("keydown",H),()=>{document.removeEventListener("pointerdown",I,!0),document.removeEventListener("click",q,!0),document.removeEventListener("keydown",H)}},[i,l,L,S]);const F=o.useRef(L);o.useEffect(()=>{F.current=L});const K=!!i;o.useEffect(()=>{if(!(S||!K))return zn(()=>F.current())},[S,K]),o.useEffect(()=>{const I=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",I),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",I)}},[L]);const te=o.useRef(null);o.useEffect(()=>{if(S||f===!1||!N)return;const I=y.current;if(!I)return;const q=I.querySelector(mn);if(q)return te.current=document.activeElement,q.focus(),()=>{const H=te.current;te.current=null,H&&document.contains(H)&&H.focus()}},[S,f,N]),o.useEffect(()=>{d==="dialog"&&!c&&pn("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[d,c]);const V=t.jsxs("div",{ref:y,className:`tooltip-content ${S?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${_?"is-closing":""} ${u} ${k&&C?"is-mobile":""}`,role:d,"aria-label":c||void 0,style:S?{}:{...w,visibility:N?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":S?"":w.left,"data-top":S?"":w.top,"data-anchor-left":n?Math.round(n.left):"","data-anchor-top":n?Math.round(n.top):"","data-anchor-width":n?Math.round(n.width):"","data-anchor-height":n?Math.round(n.height):"",children:[v!=null&&t.jsx("div",{className:"tooltip-content__header h5",children:v}),p]});if(S||typeof document>"u")return V;if(m||k&&C){const I=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),V]});return Xt.createPortal(I,document.body)}return Xt.createPortal(V,document.body)}function vn(e){const{anchorRect:n,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?t.jsx(rn,{anchorRect:n,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:t.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Vn(e){const{t:n}=be.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:u,offset:d=12,closeOnOutsideClick:c=!0}=e||{},p=(Array.isArray(s)?s:s?[s]:[]).map(m=>typeof m=="string"?{text:m}:m);return!p.length&&!r?null:t.jsx(rn,{anchorRect:a,offset:d,onClose:u,closeOnOutsideClick:c,useBorder:!1,className:"tooltip-description",ariaLabel:r||n("tooltip.description","\uC124\uBA85"),children:t.jsxs("div",{className:"tooltip-description__box",children:[r&&t.jsx("span",{className:"tooltip-description__title body-2",children:r}),t.jsx("ol",{className:"tooltip-description__items",children:p.map((m,C)=>t.jsxs("li",{className:`tooltip-description__item body-3${C===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[C+1,"."]}),m.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),t.jsx("span",{children:m.text})]},C))})]})})}function xa(e){const n=o.useRef(e);return o.useEffect(()=>{n.current=e}),n}let Ur=0,xi=!1;function _i(){xi||typeof document>"u"||(xi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Ur=Date.now())},!0),document.addEventListener("touchstart",()=>{Ur=Date.now()},{capture:!0,passive:!0}))}_i();function ta(e){return!!e&&e.pointerType==="touch"}function na(e=1e3){return _i(),Date.now()-Ur<e}function Gr(e,n,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=xa(e),l=xa(n),u=o.useRef(null),d=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const C=m,g=m.target,v=a.current,f=!!(g&&v&&v.contains(g));if(C.pointerType!=="touch"){f&&(u.current=null);return}if(f){u.current=i.current;return}u.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const c=o.useCallback(p=>{const m=u.current;return m===null?!1:(u.current=null,d.current=Date.now(),l.current(!m,p??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const p=a.current,m=p?.parentElement;if(!p||!m)return;let C=null;const g=y=>{const w=y.changedTouches?.[0];if(!w)return!1;const h=p.getBoundingClientRect();return w.clientX>=h.left&&w.clientX<=h.right&&w.clientY>=h.top&&w.clientY<=h.bottom},v=y=>{C=g(y)?i.current:null},f=y=>{const w=C;C=null,!(w===null||Date.now()-d.current<700||!g(y))&&(u.current=null,d.current=Date.now(),l.current(!w,p))};return m.addEventListener("touchstart",v,{passive:!0}),m.addEventListener("touchend",f),()=>{m.removeEventListener("touchstart",v),m.removeEventListener("touchend",f)}},[r,s,a,i,l]),{touchPress:c}}function pf(e,n){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:u,icon:d,rightIcon:c,label:p,count:m,subLabel:C,children:g,ariaLabel:v,variant:f="default",align:y="center",nowrap:w=!1,selected:h,toggleable:_=!1,ariaExpanded:b,ariaControls:A,disabled:x=!1,useLabel:N=!0,useBorder:B=!0,useBG:k=!0,useDisabledCovered:E=!1,useDisabledInvisible:S=!1,width:z,minWidth:R,onClick:U,onDisabledClick:j,showTooltipInfo:L=!1,tooltipInfoText:F=null,tooltipDescription:K=null,tooltipOnly:te=!1,iconSize:V="medium",iconColor:I,shape:q="rounded",color:H,className:D,...O}=e,M=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),P=M.match(/^\d+$/)?`button${M}`:`button-${M}`,$=Number(a),Y=!isNaN($)&&$<40?"button-2":"button-1",ne=p??g,J=x||!!O.disabled,ae=J?E?"disabled-covered":S?"disabled-invisibled":"disabled":f,ue=ae?`button--variant-${ae}`:"",ie=y?`button--align-${y}`:"",xe=w?"button--nowrap":"",W=q?`button--shape-${q}`:"",Q=typeof I=="string"&&I.startsWith("--")?`var(${I})`:I,se={...z?{width:typeof z=="number"?`${z}px`:z}:{},...R?{minWidth:typeof R=="number"?`${R}px`:R}:{},...B?{}:{"--button-border":J?"0":"1px solid transparent"},...Q?{"--button-icon-color":Q}:{},...H?{"--color-main":H}:{}},ke=N===!1?"":ne,me=Array.isArray(ke)?ke.length>0:!!ke,re=!!c,Ce=r??(me||d||re?"bar":"dot"),ge=`${P}--${Ce}`,Ee=o.useRef(null),Re=o.useRef(n);Re.current=n;const Le=o.useCallback(He=>{Ee.current=He;const at=Re.current;typeof at=="function"?at(He):at&&(at.current=He)},[]),Je=o.useRef(J),[Qe,qe]=o.useState(!!h),[Fe,st]=o.useState(!1),[et,Ye]=o.useState(null),Se=o.useCallback(()=>st(!1),[]),[Ae,ee]=o.useState(!1),fe=o.useId();o.useEffect(()=>{typeof h=="boolean"&&qe(h)},[h]),o.useEffect(()=>{if(Je.current&&!J&&Ee.current){const He=Ee.current;let at=!1;try{at=He.matches(":focus:not(:focus-visible)")}catch{at=!1}at&&He.blur(),He.style.pointerEvents="none";const ht=requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ee.current&&(Ee.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(ht)}Je.current=J},[J]);const ze=typeof h=="boolean"?!!h:Qe,Be=typeof b=="boolean"?void 0:_||typeof h=="boolean"?ze?"true":"false":O["aria-pressed"],je=De("button",P,ge,ue,ie,xe,W,ze?"is-selected":null,k?null:"button--no-bg",te?"button--tooltip-only":null,D),pe=`button__icon button__icon--${V}`,$e=Array.isArray(C)?C:C!==void 0?[C]:[],nt=()=>{if(Array.isArray(ke))return ke.map((at,ht)=>{const Ot=$e[ht];return t.jsxs("span",{className:`button__label-text${Ot!==void 0?" button__label-text--has-sub":""}`,children:[at,Ot!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Ot})]},ht)});const He=C!==void 0;return t.jsxs("span",{className:`button__label-text${He?" button__label-text--has-sub":""}`,children:[ke,m!=null&&t.jsx("span",{className:"button__count",children:m}),He&&t.jsx("span",{className:"button__sub-label-text caption-1",children:C})]})},_t=He=>{typeof h!="boolean"&&!_&&qe(!1),He.currentTarget.blur()},kt=He=>{J||(typeof O.onMouseLeave=="function"&&O.onMouseLeave(He),_t(He))},dt=He=>{if(te&&Pe&&Xe.touchPress(He.currentTarget),J){Pe&&Xe.touchPress(He.currentTarget),He.preventDefault(),j?.(He);return}typeof h!="boolean"&&_&&qe(at=>!at),U?.(He)},Ze=o.useCallback(()=>{(L||K)&&(st(!0),Ye(Ee.current?.getBoundingClientRect()??null))},[L,K]),We=o.useCallback(()=>{(L||K)&&(st(!1),Ye(null))},[L,K]),Pe=!!(L||K),Xe=Gr(Fe,He=>{He?Ze():We()},Ee,{enabled:Pe&&(J||te),fallbackOnParent:Pe&&J}),Oe={...O};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,J&&(Object.keys(Oe).forEach(He=>{/^on[A-Z]/.test(He)&&typeof Oe[He]=="function"&&delete Oe[He]}),Oe["aria-disabled"]="true");const it=(typeof L=="string"?L:null)??(typeof F=="string"?F:null)??(typeof v=="string"?v:null)??(typeof ne=="string"?ne:null)??void 0,Ge=typeof v=="string"?v:typeof ne=="string"?ne:it,ft=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&it&&it!==Ge?it:"",jt=[typeof O["aria-describedby"]=="string"?O["aria-describedby"]:void 0,ft?fe:null].filter(Boolean).join(" ")||void 0,Bt=(He,at)=>t.jsx(Ke,{icon:He,label:at??Ge,className:pe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),mt=()=>Ce==="dot"?t.jsxs(t.Fragment,{children:[Bt(d),me&&t.jsx("span",{className:`button__label ${Y}`,children:nt()})]}):y==="center"&&d?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Bt(d)}),me&&t.jsx("span",{className:`button__label ${Y}`,children:nt()})]}),re&&t.jsx("span",{className:"button__right",children:Bt(c)})]}):t.jsxs(t.Fragment,{children:[d&&t.jsx("span",{className:"button__left",children:Bt(d,v??ne)}),me&&t.jsx("span",{className:`button__label ${Y}`,children:nt()}),re&&t.jsx("span",{className:"button__right",children:Bt(c)})]}),lt=!!i&&!J;return t.jsxs(t.Fragment,{children:[t.jsxs(lt?"a":"button",{...Oe,ref:Le,...lt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:J&&!j&&!Ae},className:je,"aria-pressed":Be,"aria-expanded":typeof b=="boolean"?b:O["aria-expanded"],"aria-controls":A??O["aria-controls"],"aria-label":Ge,"aria-disabled":J&&(lt||j||Ae)?!0:void 0,"aria-describedby":jt,style:se,onClick:dt,onMouseLeave:kt,onPointerEnter:He=>{ta(He)||Ze(),!J&&typeof O.onPointerEnter=="function"&&O.onPointerEnter(He)},onPointerLeave:He=>{ta(He)||We(),!J&&typeof O.onPointerLeave=="function"&&O.onPointerLeave(He)},onPointerUp:He=>{J&&Pe&&Xe.touchPress(He.currentTarget),!J&&typeof O.onPointerUp=="function"&&O.onPointerUp(He)},onFocus:He=>{ee(!0),na()||Ze(),!J&&typeof O.onFocus=="function"&&O.onFocus(He)},onBlur:He=>{ee(!1),J||_t(He),We(),!J&&typeof O.onBlur=="function"&&O.onBlur(He)},children:[mt(),ft?t.jsx("span",{id:fe,hidden:!0,"aria-label":ft}):null]}),Fe&&K?t.jsx(Vn,{anchorRect:et,title:K.title,items:K.items,onClose:Se}):Fe&&it?t.jsx(vn,{anchorRect:et,text:it,onClose:Se}):null]})}const de=o.forwardRef(pf);de.displayName="Button";var mf={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",selectedOfMax:"\uCD5C\uB300 {{max}}\uAC1C \uC911 {{count}}\uAC1C",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",discardConfirm:{title:"\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?",body:"\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",confirm:"\uC785\uB825 \uCDE8\uC18C"},close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",likeCount:"\uC88B\uC544\uC694 {{count}}",downloadCount:"\uAC00\uC838\uAC04 \uC218 {{count}}",descriptionFor:"{{name}} \uC124\uBA85",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",playFor:"{{name}} \uC7AC\uC0DD",pauseFor:"{{name}} \uBA48\uCDA4",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",noMatches:"\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},hf={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704",visitCount:"\uBC29\uBB38 {{count}}\uAC74"},Cf={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",expired:"\uB9CC\uB8CC\uB428",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},ff={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},gf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},bf={selected:"\uC120\uD0DD\uB428"},yf={placeholder:"\uC120\uD0DD"},vf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},xf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},_f={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",feedback:"\uBC84\uADF8\uC2E0\uACE0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C"},wf={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},Af={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},kf={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},Bf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},Nf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",previewFor:"{{name}} \uBBF8\uB9AC \uB4E3\uAE30",stopFor:"{{name}} \uC815\uC9C0",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"}},Df={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},Ef={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},Sf={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},jf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},Tf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Mf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},Lf={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},$f={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Rf={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},Pf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},If={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",topInfo:"\uC0C1\uB2E8 \uC815\uBCF4",bottomInfo:"\uD558\uB2E8 \uC815\uBCF4",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",markName:{o:"\uB9DE\uC74C",triangle:"\uC560\uB9E4",x:"\uD2C0\uB9BC"},button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78 \uC544\uB798 \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB20C\uB7EC \uB9E4\uAE30\uC138\uC694. \uB9C8\uC6B0\uC2A4\uB85C\uB294 \uCE78\uC5D0 \uC190\uC744 \uC5B9\uC73C\uBA74 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},Ff={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},Of={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Hf={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},zf={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},Vf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Wf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},qf={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},Uf={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},Gf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},Kf={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},Yf={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
847
|
+
`),this.name="StorageNotConfiguredError"}};function J0(e){X0(e)}function Ws(e,n){if(!e)return null;const a=fa();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function qs(e){if(!e)return null;const n=fa();if(!n)throw new Vs("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Us(e){const n=fa();if(!n)throw new Vs("downloadSound");return n.download(e)}function Q0(){return fa()?.noiseBaseUrl??"/sounds/noise"}function Gs(){const e=Number(fa()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function eC(e){const n=AbortSignal.timeout;if(typeof n=="function")return n.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Ks="__ihab_core_tts_config__";function Er(){return globalThis[Ks]?.urlResolver??null}function tC(){return globalThis[Ks]?.fallbackUrlResolver??null}const nC="__ihab_core_pronunciation_resolver__";function aC(){return globalThis[nC]??null}let En=null;const ga=new WeakMap,Sr=new WeakMap,jr=new WeakMap;let Ys=!1;const Zs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function rC(){if(Ys||typeof document>"u")return;Ys=!0;const e=()=>{try{En&&En.state!=="running"&&En.resume()}catch{}};for(const n of["pointerdown","touchend","keydown"])document.addEventListener(n,e,{capture:!0,passive:!0})}function Xs(){if(En)return En;try{const e=window.AudioContext||window.webkitAudioContext;return e?(En=new e,rC(),En):null}catch{return null}}function Tr(){try{En?.resume()}catch{}}function Mr(e,n){const a=ga.get(n);if(a)return a;try{const r=e.createMediaElementSource(n),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=Zs(Sr.get(n)??n.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{n.volume=1}catch{}const l={gain:s,analyser:i};return ga.set(n,l),l}catch{return null}}function Oa(e){if(!e)return Promise.resolve(null);const n=ga.get(e);if(n)return Promise.resolve(n.analyser);const a=Xs();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Mr(a,e)?.analyser??null);const r=jr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Mr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{jr.delete(e)});return jr.set(e,s),s}function oC(e){if(!e)return null;const n=ga.get(e);if(n)return n.analyser;const a=Xs();return a?a.state==="running"?Mr(a,e)?.analyser??null:(Oa(e),null):null}function Sn(e,n){const a=Zs(n);Sr.set(e,a);const r=ga.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const s=r.gain.gain;try{const i=r.gain.context.currentTime;s.cancelScheduledValues(i),s.setTargetAtTime(a,i,.01)}catch{try{s.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function Ha(e){return Sr.get(e)??e.volume}function sC(e,n){e.getFloatTimeDomainData(n);let a=0;for(let r=0;r<n.length;r++){const s=n[r];a+=s*s}return Math.sqrt(a/n.length)}const iC="__ihab_core_image_config__";function Xn(){return globalThis[iC]??null}const Js="word_image_existence_map_v1";let Hn=null;const za=new Map;function lC(){if(Hn)return Hn;try{const e=typeof localStorage<"u"?localStorage.getItem(Js):null,n=e?JSON.parse(e):null;Hn=n&&typeof n=="object"&&!Array.isArray(n)?n:{}}catch{Hn={}}return Hn}let Lr=null;function uC(){Lr||(Lr=setTimeout(()=>{Lr=null;try{typeof localStorage<"u"&&Hn&&localStorage.setItem(Js,JSON.stringify(Hn))}catch{}},200))}function cC(e,n){return`${e}_${n??1}`}async function Qs(e,n){const a=lC(),r=cC(e,n);if(r in a)return a[r];if(za.has(r))return za.get(r);const s=Xn();if(!s)return!1;const i=s(e,n);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:eC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(za.delete(r),u===null?!1:(a[r]=u,uC(),u)));return za.set(r,l),l}const dC={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},ei=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ti=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],pC=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function ba(e){if(!e)return null;const n=e.charCodeAt(0)-44032;return n<0||n>=11172?null:{cho:Math.floor(n/588),jung:Math.floor(n%588/28),jong:n%28}}function mC(e){const n=ba(e[0]||"");return n?ei[n.cho]:""}function hC(e){if(!e)return()=>!0;e=e.normalize("NFC");const n=[...e],a=l=>ei.includes(l),r=l=>ti.includes(l),s=n.map(l=>a(l)?"cho":r(l)?"jung":ba(l)?"syl":"other"),i=n.map(l=>ba(l));if(s.includes("other")){const l=e.toLowerCase();return u=>u.normalize("NFC").toLowerCase().includes(l)}return l=>{const u=[...l.normalize("NFC")];for(let d=0;d+n.length<=u.length;d++){let c=!0;for(let p=0;p<n.length;p++){const m=u[d+p],C=s[p];if(C==="cho"){if(mC(m)!==n[p]){c=!1;break}}else if(C==="jung"){const g=ba(m);if(!g||ti[g.jung]!==n[p]){c=!1;break}}else{const g=i[p];if(g&&g.jong===0){const v=ba(m);if(!v||v.cho!==g.cho||v.jung!==g.jung){c=!1;break}}else if(m!==n[p]){c=!1;break}}}if(c)return!0}return!1}}const CC={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(CC).map(([e,n])=>[n.join(""),pC[Number(e)]]));const fC="word_pair_index_v2",gC="word_pair_index_sig_v2";let Va=null;function bC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(fC),n=localStorage.getItem(gC);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function yC(){if(Va)return Va;const e=bC();return e?(Va=e.index,e.sig,Va):null}const $r=/[ㄱ-ㅎ]/,vC=/[ㅏ-ㅣ]/;function ni(e){e=e.normalize("NFC");for(let n=e.length-1;n>=0;n--){const a=e[n],r=a.charCodeAt(0);if(r>=44032&&r<=55203||$r.test(a)||vC.test(a))return a}return null}function xC(e){const n=ni(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":$r.test(n)?"\uC774":"\uAC00"}function _C(e){return`${e}${xC(e)}`}function wC(e){const n=ni(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":$r.test(n)?"\uC744":"\uB97C"}function AC(e){return`${e}${wC(e)}`}function kC(e,n,a){const r=e.slice(),[s]=r.splice(n,1);return r.splice(a,0,s),r}function ya(e,n=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(n()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const BC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",n=typeof Et?.t=="function"?Et.t("common.unknownError",{defaultValue:e}):void 0;return typeof n=="string"&&n?n:e};function ai(e,n){if(n===void 0&&(n=BC()),e instanceof Error)return e.message||n;if(typeof e=="string")return e||n;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return n}const NC="__ihab_core_word_pool__";function ri(){return globalThis[NC]??null}const oi=globalThis;function si(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function DC(e){si("time",()=>oi.__ihabTrainingTimeLogger?.(e))}function EC(e){si("completion",()=>oi.__ihabTrainingCompletionLogger?.(e))}function Gt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function SC(e){for(const n of["correct","isCorrect","heard","judgement"])if(typeof e[n]=="boolean")return e[n];return e.score===1?!0:e.score===0?!1:null}function jC(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:Gt(r.contextCode)??Gt(r.itemId)??Gt(r.itemCode)??Gt(r.id),question:Gt(r.question)??Gt(r.q)??Gt(r.sentence)??Gt(r.text)??Gt(r.prompt)??Gt(r.word)??Gt(r.targetSyllable),answer:Gt(r.answer),selected:Gt(r.selectedText)??Gt(r.selected),correct:SC(r)}}):[]}const Rr=globalThis;async function TC(){try{return await Rr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ii(e){const n=a=>{};try{const a=Rr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Wa(e){try{Rr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function MC(e){if(typeof document<"u"){const n=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),n&&n!==document.activeElement&&typeof n.focus=="function"&&n.isConnected)try{n.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const LC="Asia/Seoul",$C=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Pr(e){let n;if(e instanceof Date)n=e;else if(typeof e=="string"){const a=e.trim(),r=$C.exec(a);n=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else n=new Date(e);return Number.isNaN(n.getTime())?null:n}const RC=e=>Pr(e);function PC(e,n){const a=n.startsWith("ko")?"ko-KR":"en-US",r=RC(e);return r?r.toLocaleDateString(a,{timeZone:LC,year:"numeric",month:"short",day:"numeric"}):""}function va(){return Fr(new Date)}function Ir(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:va()}function Jn(){return FC(va())}const IC=540*60*1e3;function li(e,n,a){return new Date(Date.UTC(e,n,a)-IC)}function FC(e){const[n,a,r]=e.split("-").map(Number);return new Date(n,(a||1)-1,r||1)}function Fr(e){if(e==null||e==="")return"";const n=Pr(e);return n?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n):""}function ui(e,n){if(!e)return"";const a=Pr(e);if(!a)return"";const r=a.getTime(),s=Math.max(0,Math.floor((Date.now()-r)/1e3)),i=Math.floor(s/60),l=Math.floor(i/60),u=Math.floor(l/24),d=Math.floor(u/7),c=Math.floor(u/30),p=Math.floor(u/365);return i<1?n("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?n("store.time.minutesAgo",{n:i}):l<24?n("store.time.hoursAgo",{n:l}):u<7?n("store.time.daysAgo",{n:u}):d<5?n("store.time.weeksAgo",{n:d}):u<365?n("store.time.monthsAgo",{n:Math.min(c,11)}):n("store.time.yearsAgo",{n:p})}function ci(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=n;if(!e)return i;const l=Fr(e instanceof Date?e:String(e));if(!l)return i;const[u,d,c]=l.split("-"),p=r?d:String(Number(d)),m=r?c:String(Number(c));return`${u}${a}${p}${a}${m}${s?".":""}`}function Qn(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function di(e,n){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),s=Number(a[2]),i=a[1].padStart(2,"0");return s===0?n("date.timeH",{h:r,hh:i,mm:a[2]}):n("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function Or(e){return(e??0).toLocaleString("ko-KR")}const OC=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],HC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function pi(){return OC}function zC(){return HC}const VC=[],WC=[],qC=[],UC=[];function GC(){return{LISTEN_IN_NOISE:VC,SHORT_STORY:WC,LONG_STORY:qC,ORDERING_SENTENCE:UC}}const KC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],mi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function YC(e){return KC.map(n=>{const a=mi[n.key];return a?{...n,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:n})}let qa=null,hi=null,Ci=null;function ZC(){const e=ri();if(e&&e.entries.length>0){const n=yC();if(qa&&hi===e&&Ci===n)return qa;const a=new Set,r=[];for(const s of e.entries)!s.word||a.has(s.word)||(a.add(s.word),r.push({w:s.word,s:s.syllables,p:n?.[s.word]?[...n[s.word].cho??[],...n[s.word].jung??[],...n[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return qa=r,hi=e,Ci=n,qa}return[]}new Proxy([],{get(e,n){const a=ZC(),r=a[n];return typeof r=="function"?r.bind(a):r}});const XC="0.249.0";function JC(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const n=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(n)}function QC(e){if(typeof window>"u")return"";const n=(a,r)=>{typeof r.attrValue=="string"&&JC(r.attrValue)&&(r.keepAttr=!1)};Nr.addHook("uponSanitizeAttribute",n);try{return Nr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Nr.removeHook("uponSanitizeAttribute",n)}}function ef(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[u,d]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const c=e.split("/").pop();let p=e;c&&(e.startsWith("/")?p=Dr(e):/^(Logo|Symbol)/i.test(c)?p=Dr(`logo/${c}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!n)return;let c=!1;async function p(){try{let m=await fetch(n);m.ok||(m=await fetch(n));const C=m.headers.get("content-type")||"";if(c)return;if(C.includes("svg")){s("mask");return}if(C.startsWith("image/")){s("img");return}const g=await fetch(n);if(!g.ok)throw new Error("not ok");const v=await g.text();if(c)return;if(/^\s*<svg[\s>]/i.test(v)){const f=QC(v);if(!f){s("none");return}l(f),s("inline");return}s("none")}catch{c||s("none")}}return p(),()=>{c=!0}},[n]),o.useEffect(()=>{let c=!1,p=null;return r==="mask"&&n&&fetch(n).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{c||(p=URL.createObjectURL(m),d(p))}).catch(()=>{c||s("img")}),()=>{c=!0,p&&URL.revokeObjectURL(p),d(null)}},[r,n]),{iconToUse:n,mode:r,svgText:i,blobUrl:u}}function Ke(e){const{icon:n,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:u,size:d}=e||{},c=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",C=l??"iconRenderer-icon-svg",g=typeof n=="string"?n:null,v=m0(g),{iconToUse:f,mode:y,svgText:w,blobUrl:h}=ef(g),_=(B,k={})=>t.jsx("span",{className:c,style:u,...k,children:B}),b=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,A=(B,k={})=>t.jsx("img",{src:B,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...k,style:b?{...k.style,...b}:k.style});if(!n)return null;if(typeof n!="string")return _(n);if(n==="none")return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(v)try{return _(o.createElement(v,{className:C,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(f&&f.endsWith(".svg")){if(y==="mask"){const B={"--icon-url":h?`url(${h})`:`url(${f})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return _(t.jsx("span",{className:m,style:B}),{"aria-hidden":"true"})}return y==="img"?_(A(f,{onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):y==="inline"?_(t.jsx("span",{className:C,dangerouslySetInnerHTML:w?{__html:w}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Dr(n),{style:u,onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}});const x=typeof d=="number"?d:20,N=`<svg width="${x}" height="${x}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return _(t.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:N}}),{"aria-hidden":"true"})}function fi(e){const[n,a]=o.useState(!1),r=o.useRef(!1),s=o.useRef(!0);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const u=()=>{r.current=!1,s.current&&a(!1)};l.then(u,u)}},[e]);return{pending:n,press:i}}function tf({icon:e,title:n,message:a,action:r,className:s}){const{pending:i,press:l}=fi(r?.onClick);return t.jsxs("div",{className:De("empty-state",s),children:[e&&t.jsx(Ke,{icon:e,size:48,className:"empty-state__icon"}),n&&t.jsx("p",{className:"empty-state__title h4",children:n}),a&&t.jsx("p",{className:"empty-state__message body-3",children:a}),r&&t.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:i,"aria-busy":i||void 0,children:[r.icon&&t.jsx(Ke,{icon:r.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function nf({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=be.useTranslation(),{pending:u,press:d}=fi(r);return t.jsxs("div",{className:De("empty-state","error-state",i),role:"alert",children:[t.jsx(Ke,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),t.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),n&&t.jsx("p",{className:"error-state__hint caption-1",children:n}),r&&t.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[t.jsx(Ke,{icon:"rotate-cw",className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function af({icon:e,title:n,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:u=""}){const d=o.useId(),c=`${d}-title`,p=`${d}-desc`,m=`${d}-cta`,C=()=>{i||l?.()};return t.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":c,"aria-describedby":`${p} ${m}`,onClick:C,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),C())},className:De("action-card",`action-card--${s}`,i&&"action-card--disabled",u),children:t.jsxs("div",{className:"action-card__body",children:[t.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:t.jsx(Ke,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{id:c,className:"action-card__title",children:n}),t.jsx("p",{id:p,className:"action-card__desc",children:a})]}),t.jsxs("div",{className:"action-card__cta",children:[t.jsx("span",{id:m,children:r}),t.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:t.jsx(Ke,{icon:"arrow-right",size:18})})]})]})})}function rf({as:e="div",className:n="",children:a,storage:r,...s}){r&&J0({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=De("ihabdevteam-core-scope",n);return t.jsx(e,{className:i,...s,children:a})}function Hr(e,n=!0){o.useEffect(()=>{if(!n)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(mn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],u=i[i.length-1],d=document.activeElement,c=d===a;s.shiftKey&&(d===l||c)?(s.preventDefault(),u.focus()):!s.shiftKey&&d===u&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const mn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',zr=new WeakMap;function Vr(e,n){e&&zr.set(e,n)}function Wr(e){let n=e;for(let a=0;n&&!n.isConnected&&a<10;a++){let r=n;for(;r&&!zr.has(r);)r=r.parentElement;if(!r)return n;n=zr.get(r)??null}return n}function gi(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Ua(e,n,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(gi(n)&&!(e&&e.contains(n)))return n.focus(),n;if(!r)return null;const s=Array.from(document.querySelectorAll(mn)).filter(d=>!(e&&e.contains(d))&&gi(d));let i=null,l=null;for(const d of s)r.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:l||(l=d);const u=i??l;return u?.focus(),u}function of({title:e="",lines:n=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=be.useTranslation(),[d,c]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const f=p.current;f&&f.contains(document.activeElement)&&Ua(f),c(!0)},[]);if(d)return null;const C=`notice-box notice-box--${s} body-2 ${l}`.trim(),g=i&&t.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return t.jsxs("div",{className:C,role:"note",children:[a.map((f,y)=>t.jsxs("div",{className:"notice-box__inner",children:[f.title?t.jsx("span",{className:"notice-box__title body-3",children:f.title}):null,t.jsx("div",{className:"notice-box__body",children:f.lines&&f.lines.length?t.jsx("div",{children:f.lines.map((w,h)=>t.jsx("span",{className:"notice-box__line body-3",children:w},h))}):f.children??null})]},y)),g]});const v=e||n.length?t.jsxs("div",{className:"notice-box__inner",children:[e?t.jsx("span",{className:"notice-box__title body-1",children:e}):null,t.jsx("div",{className:"notice-box__body",children:n.length?t.jsx("ul",{children:n.map((f,y)=>t.jsx("li",{className:"notice-box__line",children:f},y))}):r})]}):t.jsx("div",{className:"notice-box__inner",children:r});return t.jsxs("div",{ref:p,className:C,role:"note",children:[v,g]})}const ea=[];let Ga=!1;function bi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const n=ea[ea.length-1];n&&(e.stopPropagation(),n())}function zn(e){return ea.push(e),!Ga&&typeof document<"u"&&(document.addEventListener("keydown",bi),Ga=!0),()=>{const n=ea.lastIndexOf(e);n>=0&&ea.splice(n,1),ea.length===0&&Ga&&typeof document<"u"&&(document.removeEventListener("keydown",bi),Ga=!1)}}const yi=o.createContext(null);function sf(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const vi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function lf(e){const n=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return es.useSyncExternalStore(n,()=>vi(e),()=>!1)}function uf(e){const[n,a]=o.useState(vi(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=l=>a(l.matches),i=r;return i.addEventListener?i.addEventListener("change",s):i.addListener&&i.addListener(s),a(r.matches),()=>{i.removeEventListener?i.removeEventListener("change",s):i.removeListener&&i.removeListener(s)}},[e]),n}const cf=typeof es.useSyncExternalStore=="function"?lf:uf;function tn(e){const n=o.useContext(yi),a=cf(e);return n&&typeof n.mobile=="boolean"&&sf(e)?n.mobile:a}const df="(prefers-reduced-motion: reduce)";function qr(){return tn(df)}function rn(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:u="",role:d="dialog",ariaLabel:c="",children:p,backdrop:m=!1,isMobilePopup:C=!1,useBorder:g=!0,header:v,focusOnOpen:f}=e||{},y=o.useRef(null),[w,h]=o.useState({position:"fixed",left:0,top:-9999}),[_,b]=o.useState(!1),[A,x]=o.useState("bottom"),[N,B]=o.useState(!1),[k,E]=o.useState(!1),S=!n&&!a,z=o.useCallback((U=!1)=>{if(k&&C)return;const P=a?a.getBoundingClientRect():n;if(!P||!y.current)return;const F=y.current,{offsetWidth:D,offsetHeight:H}=F,L=window.innerWidth,I=window.innerHeight,$=L-P.right,K=P.left,ne=P.top,J=I-P.bottom;let ae=0,ue=0,ie="top";if(ne>=H+r)ie="top",ue=P.top-r-H,ae=P.left+P.width/2-D/2;else if(J>=H+r)ie="bottom",ue=P.bottom+r,ae=P.left+P.width/2-D/2;else if($>=D+r)ie="right",ae=P.right+r,ue=P.top+P.height/2-H/2;else if(K>=D+r)ie="left",ae=P.left-r-D,ue=P.top+P.height/2-H/2;else{const se=Math.max(ne,J,$,K);se===ne?(ie="top",ue=P.top-r-H,ae=P.left+P.width/2-D/2):se===J?(ie="bottom",ue=P.bottom+r,ae=P.left+P.width/2-D/2):se===$?(ie="right",ae=P.right+r,ue=P.top+P.height/2-H/2):(ie="left",ae=P.left-r-D,ue=P.top+P.height/2-H/2)}const xe=Number.isFinite(Number(s))?Number(s):8;ae=Math.min(Math.max(ae,xe),L-D-xe),ue=Math.min(Math.max(ue,xe),I-H-xe);const W=Math.round(ae),Q=Math.round(ue);U&&y.current?(y.current.style.left=`${W}px`,y.current.style.top=`${Q}px`,y.current.dataset.placement=ie):(x(ie||A),h({position:"fixed",left:W,top:Q}),B(!0))},[k,C,a,n,r,s,A]);o.useLayoutEffect(()=>{if(S)return;if(k&&C){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const U=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(U)},[n,a,r,p,s,S,k,C,z]),o.useEffect(()=>{if(S||k&&C||!y.current||typeof ResizeObserver>"u")return;const U=new ResizeObserver(()=>{n&&z()});return U.observe(y.current),()=>U.disconnect()},[n,p,s,S,k,C,z]),o.useEffect(()=>{if(S||k&&C)return;const U=()=>z(!0),P=F=>{if(!a&&i){const D=F.target;if(D&&y.current&&y.current.contains(D))return;try{if(D&&D.closest&&D.closest("[data-tooltip-ignore]"))return}catch{}O.current(!0);return}U()};return window.addEventListener("resize",U),document.addEventListener("scroll",P,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",U),document.removeEventListener("scroll",P,{capture:!0})}},[n,a,i,r,p,s,S,k,C,z]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const U=window.matchMedia("(max-width: 768px)"),P=()=>E(!!U.matches);P();try{U.addEventListener?U.addEventListener("change",P):U.addListener(P)}catch{try{U.addListener(P)}catch{}}return()=>{try{U.removeEventListener?U.removeEventListener("change",P):U.removeListener(P)}catch{}}},[]);const R=o.useRef(!1),q=o.useRef(null),j=qr(),M=o.useCallback((U=!1)=>{if(i&&!(_||R.current)){if(R.current=!0,U){b(!0);try{i&&i()}catch{R.current=!1,b(!1)}return}b(!0),q.current=setTimeout(()=>{q.current=null;try{i&&i()}catch{R.current=!1,b(!1)}},j?0:200)}},[_,i,b,j]);o.useEffect(()=>()=>{q.current&&clearTimeout(q.current)},[]),o.useEffect(()=>{if(S)return;const U=D=>{const H=y.current;if(!H)return;const L=D.target;if(L&&!H.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},P=D=>{const H=y.current;if(!H)return;const L=D.target;if(L&&!H.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},F=D=>{if(D.key==="Tab"){const H=y.current;if(!H)return;const L=H.querySelectorAll(mn);if(!L||L.length===0)return;const I=L[0],$=L[L.length-1],K=document.activeElement;D.shiftKey?K===I&&(D.preventDefault(),$.focus()):K===$&&(D.preventDefault(),I.focus())}};return document.addEventListener("pointerdown",U,!0),document.addEventListener("click",P,!0),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",U,!0),document.removeEventListener("click",P,!0),document.removeEventListener("keydown",F)}},[i,l,M,S]);const O=o.useRef(M);o.useEffect(()=>{O.current=M});const Y=!!i;o.useEffect(()=>{if(!(S||!Y))return zn(()=>O.current())},[S,Y]),o.useEffect(()=>{const U=()=>{M(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",U),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",U)}},[M]);const te=o.useRef(null);o.useEffect(()=>{if(S||f===!1||!N)return;const U=y.current;if(!U)return;const P=U.querySelector(mn);if(P)return te.current=document.activeElement,P.focus(),()=>{const F=te.current;te.current=null,F&&document.contains(F)&&F.focus()}},[S,f,N]),o.useEffect(()=>{d==="dialog"&&!c&&pn("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[d,c]);const V=t.jsxs("div",{ref:y,className:`tooltip-content ${S?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${_?"is-closing":""} ${u} ${k&&C?"is-mobile":""}`,role:d,"aria-label":c||void 0,style:S?{}:{...w,visibility:N?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":S?"":w.left,"data-top":S?"":w.top,"data-anchor-left":n?Math.round(n.left):"","data-anchor-top":n?Math.round(n.top):"","data-anchor-width":n?Math.round(n.width):"","data-anchor-height":n?Math.round(n.height):"",children:[v!=null&&t.jsx("div",{className:"tooltip-content__header h5",children:v}),p]});if(S||typeof document>"u")return V;if(m||k&&C){const U=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&M(!0)}}),V]});return Xt.createPortal(U,document.body)}return Xt.createPortal(V,document.body)}function vn(e){const{anchorRect:n,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?t.jsx(rn,{anchorRect:n,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:t.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Vn(e){const{t:n}=be.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:u,offset:d=12,closeOnOutsideClick:c=!0}=e||{},p=(Array.isArray(s)?s:s?[s]:[]).map(m=>typeof m=="string"?{text:m}:m);return!p.length&&!r?null:t.jsx(rn,{anchorRect:a,offset:d,onClose:u,closeOnOutsideClick:c,useBorder:!1,className:"tooltip-description",ariaLabel:r||n("tooltip.description","\uC124\uBA85"),children:t.jsxs("div",{className:"tooltip-description__box",children:[r&&t.jsx("span",{className:"tooltip-description__title body-2",children:r}),t.jsx("ol",{className:"tooltip-description__items",children:p.map((m,C)=>t.jsxs("li",{className:`tooltip-description__item body-3${C===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[C+1,"."]}),m.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),t.jsx("span",{children:m.text})]},C))})]})})}function xa(e){const n=o.useRef(e);return o.useEffect(()=>{n.current=e}),n}let Ur=0,xi=!1;function _i(){xi||typeof document>"u"||(xi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Ur=Date.now())},!0),document.addEventListener("touchstart",()=>{Ur=Date.now()},{capture:!0,passive:!0}))}_i();function ta(e){return!!e&&e.pointerType==="touch"}function na(e=1e3){return _i(),Date.now()-Ur<e}function Gr(e,n,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=xa(e),l=xa(n),u=o.useRef(null),d=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const C=m,g=m.target,v=a.current,f=!!(g&&v&&v.contains(g));if(C.pointerType!=="touch"){f&&(u.current=null);return}if(f){u.current=i.current;return}u.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const c=o.useCallback(p=>{const m=u.current;return m===null?!1:(u.current=null,d.current=Date.now(),l.current(!m,p??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const p=a.current,m=p?.parentElement;if(!p||!m)return;let C=null;const g=y=>{const w=y.changedTouches?.[0];if(!w)return!1;const h=p.getBoundingClientRect();return w.clientX>=h.left&&w.clientX<=h.right&&w.clientY>=h.top&&w.clientY<=h.bottom},v=y=>{C=g(y)?i.current:null},f=y=>{const w=C;C=null,!(w===null||Date.now()-d.current<700||!g(y))&&(u.current=null,d.current=Date.now(),l.current(!w,p))};return m.addEventListener("touchstart",v,{passive:!0}),m.addEventListener("touchend",f),()=>{m.removeEventListener("touchstart",v),m.removeEventListener("touchend",f)}},[r,s,a,i,l]),{touchPress:c}}function pf(e,n){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:u,icon:d,rightIcon:c,label:p,count:m,subLabel:C,children:g,ariaLabel:v,variant:f="default",align:y="center",nowrap:w=!1,selected:h,toggleable:_=!1,ariaExpanded:b,ariaControls:A,disabled:x=!1,useLabel:N=!0,useBorder:B=!0,useBG:k=!0,useDisabledCovered:E=!1,useDisabledInvisible:S=!1,width:z,minWidth:R,onClick:q,onDisabledClick:j,showTooltipInfo:M=!1,tooltipInfoText:O=null,tooltipDescription:Y=null,tooltipOnly:te=!1,iconSize:V="medium",iconColor:U,shape:P="rounded",color:F,className:D,...H}=e,L=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),I=L.match(/^\d+$/)?`button${L}`:`button-${L}`,$=Number(a),K=!isNaN($)&&$<40?"button-2":"button-1",ne=p??g,J=x||!!H.disabled,ae=J?E?"disabled-covered":S?"disabled-invisibled":"disabled":f,ue=ae?`button--variant-${ae}`:"",ie=y?`button--align-${y}`:"",xe=w?"button--nowrap":"",W=P?`button--shape-${P}`:"",Q=typeof U=="string"&&U.startsWith("--")?`var(${U})`:U,se={...z?{width:typeof z=="number"?`${z}px`:z}:{},...R?{minWidth:typeof R=="number"?`${R}px`:R}:{},...B?{}:{"--button-border":J?"0":"1px solid transparent"},...Q?{"--button-icon-color":Q}:{},...F?{"--color-main":F}:{}},ke=N===!1?"":ne,me=Array.isArray(ke)?ke.length>0:!!ke,re=!!c,Ce=r??(me||d||re?"bar":"dot"),ge=`${I}--${Ce}`,Ee=o.useRef(null),Re=o.useRef(n);Re.current=n;const Le=o.useCallback(He=>{Ee.current=He;const at=Re.current;typeof at=="function"?at(He):at&&(at.current=He)},[]),Je=o.useRef(J),[Qe,qe]=o.useState(!!h),[Fe,st]=o.useState(!1),[et,Ye]=o.useState(null),Se=o.useCallback(()=>st(!1),[]),[Ae,ee]=o.useState(!1),fe=o.useId();o.useEffect(()=>{typeof h=="boolean"&&qe(h)},[h]),o.useEffect(()=>{if(Je.current&&!J&&Ee.current){const He=Ee.current;let at=!1;try{at=He.matches(":focus:not(:focus-visible)")}catch{at=!1}at&&He.blur(),He.style.pointerEvents="none";const ht=requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ee.current&&(Ee.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(ht)}Je.current=J},[J]);const ze=typeof h=="boolean"?!!h:Qe,Be=typeof b=="boolean"?void 0:_||typeof h=="boolean"?ze?"true":"false":H["aria-pressed"],je=De("button",I,ge,ue,ie,xe,W,ze?"is-selected":null,k?null:"button--no-bg",te?"button--tooltip-only":null,D),pe=`button__icon button__icon--${V}`,$e=Array.isArray(C)?C:C!==void 0?[C]:[],nt=()=>{if(Array.isArray(ke))return ke.map((at,ht)=>{const Ot=$e[ht];return t.jsxs("span",{className:`button__label-text${Ot!==void 0?" button__label-text--has-sub":""}`,children:[at,Ot!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Ot})]},ht)});const He=C!==void 0;return t.jsxs("span",{className:`button__label-text${He?" button__label-text--has-sub":""}`,children:[ke,m!=null&&t.jsx("span",{className:"button__count",children:m}),He&&t.jsx("span",{className:"button__sub-label-text caption-1",children:C})]})},_t=He=>{typeof h!="boolean"&&!_&&qe(!1),He.currentTarget.blur()},kt=He=>{J||(typeof H.onMouseLeave=="function"&&H.onMouseLeave(He),_t(He))},dt=He=>{if(te&&Pe&&Xe.touchPress(He.currentTarget),J){Pe&&Xe.touchPress(He.currentTarget),He.preventDefault(),j?.(He);return}typeof h!="boolean"&&_&&qe(at=>!at),q?.(He)},Ze=o.useCallback(()=>{(M||Y)&&(st(!0),Ye(Ee.current?.getBoundingClientRect()??null))},[M,Y]),We=o.useCallback(()=>{(M||Y)&&(st(!1),Ye(null))},[M,Y]),Pe=!!(M||Y),Xe=Gr(Fe,He=>{He?Ze():We()},Ee,{enabled:Pe&&(J||te),fallbackOnParent:Pe&&J}),Oe={...H};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,J&&(Object.keys(Oe).forEach(He=>{/^on[A-Z]/.test(He)&&typeof Oe[He]=="function"&&delete Oe[He]}),Oe["aria-disabled"]="true");const it=(typeof M=="string"?M:null)??(typeof O=="string"?O:null)??(typeof v=="string"?v:null)??(typeof ne=="string"?ne:null)??void 0,Ge=typeof v=="string"?v:typeof ne=="string"?ne:it,ft=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):M&&it&&it!==Ge?it:"",jt=[typeof H["aria-describedby"]=="string"?H["aria-describedby"]:void 0,ft?fe:null].filter(Boolean).join(" ")||void 0,Bt=(He,at)=>t.jsx(Ke,{icon:He,label:at??Ge,className:pe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),mt=()=>Ce==="dot"?t.jsxs(t.Fragment,{children:[Bt(d),me&&t.jsx("span",{className:`button__label ${K}`,children:nt()})]}):y==="center"&&d?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Bt(d)}),me&&t.jsx("span",{className:`button__label ${K}`,children:nt()})]}),re&&t.jsx("span",{className:"button__right",children:Bt(c)})]}):t.jsxs(t.Fragment,{children:[d&&t.jsx("span",{className:"button__left",children:Bt(d,v??ne)}),me&&t.jsx("span",{className:`button__label ${K}`,children:nt()}),re&&t.jsx("span",{className:"button__right",children:Bt(c)})]}),lt=!!i&&!J;return t.jsxs(t.Fragment,{children:[t.jsxs(lt?"a":"button",{...Oe,ref:Le,...lt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:J&&!j&&!Ae},className:je,"aria-pressed":Be,"aria-expanded":typeof b=="boolean"?b:H["aria-expanded"],"aria-controls":A??H["aria-controls"],"aria-label":Ge,"aria-disabled":J&&(lt||j||Ae)?!0:void 0,"aria-describedby":jt,style:se,onClick:dt,onMouseLeave:kt,onPointerEnter:He=>{ta(He)||Ze(),!J&&typeof H.onPointerEnter=="function"&&H.onPointerEnter(He)},onPointerLeave:He=>{ta(He)||We(),!J&&typeof H.onPointerLeave=="function"&&H.onPointerLeave(He)},onPointerUp:He=>{J&&Pe&&Xe.touchPress(He.currentTarget),!J&&typeof H.onPointerUp=="function"&&H.onPointerUp(He)},onFocus:He=>{ee(!0),na()||Ze(),!J&&typeof H.onFocus=="function"&&H.onFocus(He)},onBlur:He=>{ee(!1),J||_t(He),We(),!J&&typeof H.onBlur=="function"&&H.onBlur(He)},children:[mt(),ft?t.jsx("span",{id:fe,hidden:!0,"aria-label":ft}):null]}),Fe&&Y?t.jsx(Vn,{anchorRect:et,title:Y.title,items:Y.items,onClose:Se}):Fe&&it?t.jsx(vn,{anchorRect:et,text:it,onClose:Se}):null]})}const de=o.forwardRef(pf);de.displayName="Button";var mf={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",selectedOfMax:"\uCD5C\uB300 {{max}}\uAC1C \uC911 {{count}}\uAC1C",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",discardConfirm:{title:"\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?",body:"\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",confirm:"\uC785\uB825 \uCDE8\uC18C"},close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",likeCount:"\uC88B\uC544\uC694 {{count}}",downloadCount:"\uAC00\uC838\uAC04 \uC218 {{count}}",descriptionFor:"{{name}} \uC124\uBA85",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",playFor:"{{name}} \uC7AC\uC0DD",pauseFor:"{{name}} \uBA48\uCDA4",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",noMatches:"\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},hf={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704",visitCount:"\uBC29\uBB38 {{count}}\uAC74"},Cf={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",expired:"\uB9CC\uB8CC\uB428",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},ff={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},gf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},bf={selected:"\uC120\uD0DD\uB428"},yf={placeholder:"\uC120\uD0DD"},vf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},xf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},_f={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",feedback:"\uBC84\uADF8\uC2E0\uACE0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C",badgeInsideLabel:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"},wf={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},Af={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},kf={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},Bf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},Nf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",previewFor:"{{name}} \uBBF8\uB9AC \uB4E3\uAE30",stopFor:"{{name}} \uC815\uC9C0",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"}},Df={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},Ef={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},Sf={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},jf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},Tf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Mf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},Lf={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},$f={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Rf={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},Pf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},If={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",topInfo:"\uC0C1\uB2E8 \uC815\uBCF4",bottomInfo:"\uD558\uB2E8 \uC815\uBCF4",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",markName:{o:"\uB9DE\uC74C",triangle:"\uC560\uB9E4",x:"\uD2C0\uB9BC"},button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78 \uC544\uB798 \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB20C\uB7EC \uB9E4\uAE30\uC138\uC694. \uB9C8\uC6B0\uC2A4\uB85C\uB294 \uCE78\uC5D0 \uC190\uC744 \uC5B9\uC73C\uBA74 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},Ff={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},Of={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Hf={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},zf={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},Vf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Wf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},qf={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},Uf={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},Gf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},Kf={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},Yf={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
848
848
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
849
|
-
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},Zf={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},Xf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Jf={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},Qf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},e2={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},t2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},n2={ariaLabel:"\uC120\uD0DD \uD0ED"},a2={ariaLabel:"\uD0ED"},r2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},o2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},s2={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},i2={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},l2={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},u2={manage:{unit:"\uAC74"}},c2={cancelLabel:"\uCDE8\uC18C"},d2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},p2={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},m2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"},h2={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},C2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},f2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},g2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},b2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},y2={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},v2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},x2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},_2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},w2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},A2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},k2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},B2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},N2={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},D2={common:mf,calendar:hf,passCard:Cf,searchField:ff,rating:gf,colorPicker:bf,dropdown:yf,accordion:vf,header:xf,nav:_f,settings:wf,usage:Af,account:kf,help:Bf,training:Nf,trainingSettings:Df,customers:Ef,payment:Sf,coupons:jf,visits:Tf,company:Mf,trainingType:Lf,myWordTraining:$f,myWordTable:Rf,keyWords:Pf,wordTable:If,wordSearch:Ff,wordPrint:Of,topic:Hf,accessLinkManager:zf,login:Vf,trainingPlanRun:Wf,device:qf,manager:Uf,wordPairs:Gf,game:Kf,footer:Yf,landing:Zf,date:Xf,trainingSetPage:Jf,wordTrainingPreview:Qf,wordData:e2,textField:t2,segmentedControl:n2,tabs:a2,fileUpload:r2,avatar:o2,myHomework:s2,trainingStatus:i2,store:l2,homework:u2,inquiry:c2,progress:d2,trainingMiss:p2,table:m2,wordScore:h2,topBanner:C2,datePicker:f2,report:g2,tooltip:b2,phonemeProfile:y2,bulkBar:v2,debug:x2,badge:_2,loader:w2,soundCompass:A2,breadcrumb:k2,board:B2,promoBannerBg:N2},E2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount:"{{count}} downloads",descriptionFor:"About {{name}}",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},S2={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount:"{{count}} visit(s)"},j2={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},T2={clearAriaLabel:"Clear search"},M2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},L2={selected:"selected"},$2={placeholder:"Select"},R2={collapse:"Collapse",expand:"Expand"},P2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},I2={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}"},F2={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},O2={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},H2={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},z2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},V2={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},W2={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},q2={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},U2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},G2={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},K2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Y2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Z2={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},X2={comingSoon:"Word training is coming soon."},J2={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},Q2={title:"Key Words",empty:"No key words available."},eg={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",topInfo:"Header",bottomInfo:"Footer",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"Incorrect"},button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse, hover the cell to reveal them.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},tg={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},ng={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},ag={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},rg={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},og={passwordPlaceholder:"Enter password"},sg={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},ig={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},lg={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},ug={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},cg={lead:`IHAB builds trust
|
|
849
|
+
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},Zf={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},Xf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Jf={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},Qf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},e2={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},t2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},n2={ariaLabel:"\uC120\uD0DD \uD0ED"},a2={ariaLabel:"\uD0ED"},r2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},o2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},s2={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},i2={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},l2={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},u2={manage:{unit:"\uAC74"}},c2={cancelLabel:"\uCDE8\uC18C"},d2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},p2={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},m2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"},h2={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},C2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},f2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},g2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},b2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},y2={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},v2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},x2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},_2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},w2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},A2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},k2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},B2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},N2={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},D2={common:mf,calendar:hf,passCard:Cf,searchField:ff,rating:gf,colorPicker:bf,dropdown:yf,accordion:vf,header:xf,nav:_f,settings:wf,usage:Af,account:kf,help:Bf,training:Nf,trainingSettings:Df,customers:Ef,payment:Sf,coupons:jf,visits:Tf,company:Mf,trainingType:Lf,myWordTraining:$f,myWordTable:Rf,keyWords:Pf,wordTable:If,wordSearch:Ff,wordPrint:Of,topic:Hf,accessLinkManager:zf,login:Vf,trainingPlanRun:Wf,device:qf,manager:Uf,wordPairs:Gf,game:Kf,footer:Yf,landing:Zf,date:Xf,trainingSetPage:Jf,wordTrainingPreview:Qf,wordData:e2,textField:t2,segmentedControl:n2,tabs:a2,fileUpload:r2,avatar:o2,myHomework:s2,trainingStatus:i2,store:l2,homework:u2,inquiry:c2,progress:d2,trainingMiss:p2,table:m2,wordScore:h2,topBanner:C2,datePicker:f2,report:g2,tooltip:b2,phonemeProfile:y2,bulkBar:v2,debug:x2,badge:_2,loader:w2,soundCompass:A2,breadcrumb:k2,board:B2,promoBannerBg:N2},E2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount:"{{count}} downloads",descriptionFor:"About {{name}}",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},S2={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount:"{{count}} visit(s)"},j2={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},T2={clearAriaLabel:"Clear search"},M2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},L2={selected:"selected"},$2={placeholder:"Select"},R2={collapse:"Collapse",expand:"Expand"},P2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},I2={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}",badgeInsideLabel:"{{label}}, {{count}} notifications inside"},F2={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},O2={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},H2={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},z2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},V2={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},W2={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},q2={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},U2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},G2={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},K2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Y2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Z2={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},X2={comingSoon:"Word training is coming soon."},J2={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},Q2={title:"Key Words",empty:"No key words available."},eg={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",topInfo:"Header",bottomInfo:"Footer",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"Incorrect"},button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse, hover the cell to reveal them.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},tg={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},ng={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},ag={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},rg={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},og={passwordPlaceholder:"Enter password"},sg={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},ig={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},lg={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},ug={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},cg={lead:`IHAB builds trust
|
|
850
850
|
through sound
|
|
851
|
-
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},dg={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},pg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},mg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},hg={answer:"Answer",distractor:"Distractor"},Cg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},fg={clearAriaLabel:"Clear input"},gg={ariaLabel:"Select tab"},bg={ariaLabel:"Tabs"},yg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},vg={ariaLabel:"User avatar"},xg={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},_g={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},wg={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},Ag={manage:{unit:"item(s)"}},kg={cancelLabel:"Cancel"},Bg={subtitle:"Select a topic to start listening practice."},Ng={steps:"Step {{current}} of {{total}}"},Dg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},Eg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table"},Sg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},jg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Tg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Mg={previewRegion:"Report preview \u2014 scrollable sideways"},Lg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},$g={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Rg={clearSelection:"Clear selection"},Pg={showResult:"Show {{type}} result"},Ig={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Fg={loading:"Loading"},Og={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Hg={ariaLabel:"Breadcrumb"},zg={empty:"No items yet."},Vg={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Wg={common:E2,calendar:S2,passCard:j2,searchField:T2,rating:M2,colorPicker:L2,dropdown:$2,accordion:R2,header:P2,nav:I2,settings:F2,usage:O2,account:H2,help:z2,training:V2,trainingSettings:W2,customers:q2,payment:U2,coupons:G2,visits:K2,company:Y2,trainingType:Z2,myWordTraining:X2,myWordTable:J2,keyWords:Q2,wordTable:eg,wordSearch:tg,wordPrint:ng,topic:ag,accessLinkManager:rg,login:og,device:sg,manager:ig,wordPairs:lg,game:ug,footer:cg,landing:dg,date:pg,trainingSetPage:mg,wordTrainingPreview:hg,wordData:Cg,textField:fg,segmentedControl:gg,tabs:bg,fileUpload:yg,avatar:vg,myHomework:xg,trainingStatus:_g,store:wg,homework:Ag,inquiry:kg,trainingPlanRun:Bg,progress:Ng,trainingMiss:Dg,table:Eg,wordScore:Sg,topBanner:jg,datePicker:Tg,report:Mg,tooltip:Lg,phonemeProfile:$g,bulkBar:Rg,debug:Pg,badge:Ig,loader:Fg,soundCompass:Og,breadcrumb:Hg,board:zg,promoBannerBg:Vg};const qg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Kr="ko",Ug="ihab_display_language";function wi(){if(typeof window>"u")return Kr;try{const e=localStorage.getItem(Ug);if(e&&qg.some(n=>n.code===e))return e}catch{}return Kr}function Ai(e){try{document.documentElement.lang=e}catch{}}Et.on("languageChanged",Ai),Ai(wi()),Et.use(be.initReactI18next).init({resources:{ko:{translation:D2},en:{translation:Wg}},lng:wi(),fallbackLng:Kr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function bt(e,n,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return n(s,e),()=>a(s)},[e,n,a]),r}const _a={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Yr=new WeakMap;function Zr(e){if(e)return Yr.get(e)}function It(e,n){e&&(e.style.setProperty(_a.title,n.title),e.style.setProperty(_a.description,n.description),Yr.set(e,n))}function Ft(e){e&&(e.style.removeProperty(_a.title),e.style.removeProperty(_a.description),Yr.delete(e))}const ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Bi(){const e=bt(ki,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Ni={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Di(){const e=bt(Ni,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ei={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Si(){const e=bt(Ei,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ti(){const e=bt(ji,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Mi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Li(){const e=bt(Mi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const $i={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Ri(){const e=bt($i,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Pi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Ii(){const e=bt(Pi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const Fi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Oi(){const e=bt(Fi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Hi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function zi(){const e=bt(Hi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Vi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Wi(){const e=bt(Vi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const qi={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Ui(){const e=bt(qi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:t.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const Gi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ki(){const e=bt(Gi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Yi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Zi(){const e=bt(Yi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Xi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Ji(){const e=bt(Xi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Kt=(e,n,a)=>({key:e,get label(){return Et.t(`promoBannerBg.${e}`,n)},textTone:a}),Gg=[Kt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("soft","\uC18C\uD504\uD2B8","dark"),Kt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Kt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Kt("warm","\uC6DC(\uAC15\uC870)","dark"),Kt("dark","\uB2E4\uD06C","light"),Kt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Kt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Kt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Kt("success","\uC131\uACF5/\uC644\uB8CC","light"),Kt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Kt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Qi={main:Bi,soft:Di,sub:Si,deep:Ti,softSub:Li,warm:Ri,dark:Ii,radial:Oi,diagonal:zi,dots:Wi,outline:Ui,success:Ki,naver:Zi,instagram:Ji};function el({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=_=>Math.max(a,Math.min(r,Number(_))),u=_=>{try{const b=localStorage.getItem(_),A=b?Number(b):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[d,c]=o.useState(()=>u(e)),[p,m]=o.useState(e);p!==e&&(m(e),c(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const C=_=>{c(typeof _=="function"?b=>l(_(b)):l(_))},g=()=>C(_=>+(_+s).toFixed(6)),v=()=>C(_=>+(_-s).toFixed(6)),f=d<r-Number.EPSILON,y=d>a+Number.EPSILON,w=Math.round(n*d),h=Math.round(w*i);return{scale:d,setScale:C,increase:g,decrease:v,canIncrease:f,canDecrease:y,fontSize:w,lineHeight:h}}function tl(e,n){const a=xa(n);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Xr=" \xB7 ",nl=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Xr)?e.split(Xr).pop()??e:e})(),Kg=o.createContext(!1),Wn=[];let al=null;function Yg(e){const n=o.useContext(Kg);o.useEffect(()=>{if(n||typeof e!="string"||!e)return;Wn.length===0&&(al=document.title);const a={text:nl?`${e}${Xr}${nl}`:e};return Wn.push(a),document.title=a.text,()=>{const r=Wn.lastIndexOf(a);r>=0&&Wn.splice(r,1),document.title=Wn.length?Wn[Wn.length-1].text:al??document.title}},[e,n])}const rl=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],Zg=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function aa(e,n){return Zg().compare(e,n)}const Ka=new Map;function Xg(e){const n=Ka.get(e);if(n)return n;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,u=i[0];u[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,u=u.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(u)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ka.size>5e3&&Ka.clear(),Ka.set(e,a),a}function Jg(e){if(!/^[\d\s-]+$/.test(e))return null;const n=e.replace(/\D/g,"");return n.length<9||n.length>11?null:n[0]==="0"||n[0]==="1"&&e!==n?n:null}function Qg(e,n){const a=c=>c==null||typeof c=="number"&&Number.isNaN(c)?"":String(c).trim(),r=a(e),s=a(n);if(r===s)return 0;const i=(c,p)=>{if(typeof c=="number"&&!Number.isNaN(c))return[c];const m=Jg(p);return m!==null?[m]:Xg(p)},l=i(e,r),u=i(n,s),d=Math.min(l.length,u.length);for(let c=0;c<d;c++){const p=l[c],m=u[c];if(typeof p=="number"&&typeof m=="number"){if(p!==m)return p-m;continue}if(typeof p=="number")return-1;if(typeof m=="number")return 1;const C=aa(p,m);if(C!==0)return C}return l.length!==u.length?l.length-u.length:aa(r,s)}const ol=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Jr(e,n,a){const r=ol(e),s=ol(n);if(r||s)return r===s?0:r?1:-1;const i=Qg(e,n);return a?i:-i}function eb(e,n,a){const{t:r}=be.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&rl.some(f=>f.value===v)?v:"25"}),[l,u]=o.useState(1),[d,c]=o.useState(n);Object.is(d,n)||(c(n),l!==1&&u(1));const p=o.useMemo(()=>rl.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),m=o.useCallback(v=>{i(v),u(1)},[]),C=Math.max(1,Math.ceil(e.length/Number(s)));(l>C||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),C));const g=Math.min(Math.max(1,Number.isFinite(l)?l:1),C);return{pageRows:o.useMemo(()=>e.slice((g-1)*Number(s),g*Number(s)),[e,g,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:g,total:C,onChange:u},setPage:u}}function tb(e){const[n,a]=o.useState(null),r=o.useRef(n),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(d=>{const c=r.current,p=c?.key===d?{key:d,asc:!c.asc}:{key:d,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((d,c)=>({label:d,sortDir:n?.key===c?n.asc?"asc":"desc":null,onClick:()=>i(c)}),[n,i]),u=o.useCallback((d,c)=>{if(!n)return d;const{key:p,asc:m}=n;return[...d].sort((C,g)=>Jr(c(C,p),c(g,p),m))},[n]);return{\uC815\uB82C:n,\uCE78:l,sortRows:u}}const on="\uC804\uCCB4",nb=new Map;try{Et.store?.on?.("added",()=>nb.clear())}catch{}Object.fromEntries(Object.entries(dC).map(([e,{nucleus:n}])=>[e,n]));const ab={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},rb={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},ob={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function sb(e,n){if("place"in n)return ab[n.place](e);const a=rb[n.vowel](e);return n.glide?`${a} \xB7 ${ob[n.glide](e)}`:a}const ib=(e,{defaultValue:n})=>n,sl=(e,n)=>({jamos:e,phonetic:n,tooltip:sb(ib,n)}),xn=(e,n)=>n.map(a=>sl([a],{place:e})),St=(e,n,a)=>sl([...e],a?{vowel:n,glide:a}:{vowel:n}),Qr={cho:[xn("labial",["\u3142","\u3143","\u314D","\u3141"]),xn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),xn("alveolar",["\u3145","\u3146"]),xn("palatal",["\u3148","\u3149","\u314A"]),xn("velar",["\u3131","\u3132","\u314B"]),xn("glottal",["\u314E"])],jung:[[St("\u3163","frontHigh"),St("\u315F","frontHigh","w"),St("\u3162","frontHigh","velar")],[St("\u3161","backHighUnrounded")],[St("\u315C","backHighRounded"),St("\u3160","backHighRounded","j")],[St("\u3154\u3150","frontMid"),St("\u3156\u3152","frontMid","j"),St("\u3159\u315A\u315E","frontMid","w")],[St("\u3153","backMidUnrounded"),St("\u3155","backMidUnrounded","j"),St("\u315D","backMidUnrounded","w")],[St("\u3157","backMidRounded"),St("\u315B","backMidRounded","j")],[St("\u314F","low"),St("\u3151","low","j"),St("\u3158","low","w")]],jong:[xn("labial",["\u3142","\u3141"]),xn("alveolar",["\u3137","\u3134","\u3139"]),xn("velar",["\u3131","\u3147"])]},lb=e=>e===ub?[]:Array.from(e),ub="__NO_CODA__",eo=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),il={cho:eo(Qr.cho),jung:eo(Qr.jung),jong:eo(Qr.jong)};il.jung.flat().forEach(({v:e})=>{for(const n of lb(e));}),new Set(il.cho.flat().map(e=>e.v));function cb(e,n=!0){const a=xa(e);o.useEffect(()=>{if(n)return zn(()=>{a.current?.()})},[n,a])}function wa(){const[e,n]=o.useState(null),a=o.useCallback(i=>n(i.getBoundingClientRect()),[]),r=o.useCallback(()=>n(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();n(u=>u?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function db(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),i=o.useRef(null);o.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=o.useCallback((d,c)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),s(c)},e)},[e]),u=o.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),s(null)},[]);return{payload:n,anchorRect:r,openAfterDelay:l,close:u}}function ll(e="warning"){const[n,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((m,C)=>{s(C),a(m),l(g=>g+1)},[]),d=o.useCallback(m=>u(m,"warning"),[u]),c=o.useCallback(m=>u(m,"normal"),[u]),p=o.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:i,showToast:u,showWarning:d,showNormal:c,clearToast:p}}function Aa(e){let n=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>n&&(n=r)}return n>0?`max(var(--z-menu, 1500), ${n+1})`:"var(--z-menu, 1500)"}function ka({computeStyle:e,onScroll:n="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,u]=o.useState({}),d=o.useRef(null),c=o.useRef(null),p=o.useCallback(()=>{d.current&&u(e(d.current.getBoundingClientRect(),d.current))},[e]);o.useEffect(()=>{if(!s)return;p();let g=c.current?.offsetHeight??0;g>0&&p();let v=0,f=null;typeof ResizeObserver<"u"&&c.current&&(f=new ResizeObserver(()=>{const A=c.current?.offsetHeight??0;if(A!==g){if(g=A,++v>4){f?.disconnect(),f=null;return}p()}}),f.observe(c.current));const y=A=>{const x=A.target;r&&x.closest?.(r)||d.current?.contains(x)||c.current?.contains(x)||i(!1)};document.addEventListener("mousedown",y),document.addEventListener("pointerdown",y);const w=A=>{c.current?.contains(A.target)||(n==="reposition"?p():n==="close"&&i(!1))};n!=="ignore"&&window.addEventListener("scroll",w,!0);const h=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const b=()=>{h(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",h),window.addEventListener("orientationchange",b)),()=>{f?.disconnect(),document.removeEventListener("mousedown",y),document.removeEventListener("pointerdown",y),n!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",h),window.removeEventListener("orientationchange",b)),_&&clearTimeout(_)}},[s,p,n,a,r]),o.useEffect(()=>{if(s)return zn(()=>i(!1))},[s]);const m=o.useCallback(()=>i(g=>!g),[]),C=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:C,style:l,triggerRef:d,menuRef:c}}function pb(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[u,d]=o.useState([]),[c,p]=o.useState(0),[m,C]=o.useState("idle"),[g,v]=o.useState(null),[f,y]=o.useState([]),[w,h]=o.useState(null),[_,b]=o.useState(0),A=o.useRef(0),x=o.useCallback(q=>{A.current=typeof q=="function"?q(A.current):q,b(A.current)},[]),N=o.useRef(r),B=o.useRef(s);o.useEffect(()=>{N.current=r,B.current=s},[r,s]);const k=o.useRef([]),E=()=>{k.current.forEach(clearTimeout),k.current=[]},S=(q,H)=>{k.current.push(setTimeout(H,q))};o.useEffect(()=>()=>E(),[]);const z=u[c]?.id??null,R=o.useRef(null),U=o.useCallback(()=>{E(),C("playing"),y([]),h(null),x(0);let q=0;e.forEach((H,D)=>{S(q,()=>{p(D),v(H.id),N.current?.(H)}),S(q+1e3,()=>{v(null),y(O=>[...O,H.id])}),q+=1300}),S(q,()=>{C("done"),B.current?.({score:0,total:e.length})})},[e,x]),j=o.useCallback((q,H)=>{if(H>=q.length){C("done"),B.current?.({score:A.current,total:q.length});return}R.current=null,p(H),h(null),C("playing"),v(q[H].id),N.current?.(q[H]),S(i,()=>{v(null),C("waiting")})},[i]),L=o.useCallback(()=>{E();const q=ya(e);d(q),x(0),y([]),j(q,0)},[e,j,x]),F=o.useCallback(()=>{n==="playback"?(d(e),U()):L()},[n,e,U,L]),K=o.useCallback(()=>{E(),C("idle"),v(null),y([]),h(null),p(0),x(0),d([])},[x]),te=e.map(q=>q.id).join("|");o.useEffect(()=>(a?F():K(),()=>E()),[n,te,a]);const V=o.useCallback(q=>{m!=="waiting"||n==="playback"||R.current===c||(R.current=c,h(q),q===u[c]?.id&&x(H=>H+1),n==="exam"?(C("playing"),S(400,()=>j(u,c+1))):(C("feedback"),S(l,()=>j(u,c+1))))},[m,n,u,c,j,l,x]),I=n==="playback"?e.length:u.length;return{bind:{activeSpeakerId:g,playedIds:f,selectedId:w,answerId:z,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:V},index:c,total:I,score:_,phase:m,done:m==="done",start:F,reset:K}}function mb({title:e,description:n,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:u,titleColor:d,descriptionColor:c,className:p=""}){const m=s??i??"main",C=o.useRef(null),[g,v]=o.useState("main"),f=tn("(max-width: 767px)"),y=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const _=C.current;if(!_)return;const b=Zr(_),A=(x,N,B)=>{if(B!==void 0)_.style.setProperty(N,B),y.current[x]=!0;else if(y.current[x]){const k=b?.[x];k?_.style.setProperty(N,k):_.style.removeProperty(N),y.current[x]=!1}};A("title","--promo-banner-bg-title",d),A("description","--promo-banner-bg-description",c)},[d,c,m]),o.useLayoutEffect(()=>{const _=C.current;if(!_)return;const b=Zr(_);v(b?.actionVariant??"main")},[m]);const w=De("promo-banner",`promo-banner--${l}`,p),h=Qi[m];return t.jsxs("div",{ref:C,className:w,role:"note",children:[t.jsx(h,{}),t.jsxs("div",{className:"promo-banner__text",children:[t.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),n&&t.jsx("span",{className:"promo-banner__description body-3",children:n})]}),a&&r&&t.jsx(de,{htmlType:"button",size:40,variant:u??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...f?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function hb({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=be.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),d=u.length,[c,p]=o.useState(0),[m,C]=o.useState(!1),[g,v]=o.useState(!1),[f,y]=o.useState(!1),w=o.useRef(null),h=o.useRef(null),_=o.useRef(null),b=qr(),A=m||g||f,x=d>0?Math.min(c,d-1):0;o.useEffect(()=>{if(d<2||n<=0||A||b)return;const B=window.setInterval(()=>p(k=>(Math.min(k,d-1)+1)%d),n);return()=>window.clearInterval(B)},[d,n,A,b]);const N=B=>{h.current!=null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>{h.current=null,y(!1)},B)};return o.useEffect(()=>()=>{h.current!=null&&window.clearTimeout(h.current)},[]),o.useEffect(()=>{if(!f)return;const B=k=>{k.pointerType==="touch"&&(_.current&&_.current.contains(k.target)||(h.current!=null&&(window.clearTimeout(h.current),h.current=null),y(!1)))};return document.addEventListener("pointerdown",B,!0),()=>document.removeEventListener("pointerdown",B,!0)},[f]),d===0?null:t.jsxs("section",{ref:_,className:De("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:B=>{w.current=B.pointerType},onPointerDown:B=>{w.current=B.pointerType,B.pointerType==="touch"&&(h.current!=null&&(window.clearTimeout(h.current),h.current=null),y(!0))},onPointerUp:B=>{B.pointerType==="touch"&&N(5e3)},onPointerCancel:B=>{B.pointerType==="touch"&&N(5e3)},onMouseEnter:()=>{w.current!=="touch"&&C(!0)},onMouseLeave:()=>C(!1),onFocus:B=>{let k=!0;try{k=B.target.matches(":focus-visible")}catch{k=!0}v(k)},onBlur:B=>{B.currentTarget.contains(B.relatedTarget)||v(!1)},children:[t.jsx("div",{className:"top-banner__viewport",children:t.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${x*100}%)`},children:u.map((B,k)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":k!==x,...k!==x?{inert:!0}:{},children:B},k))})}),d>1&&t.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((B,k)=>t.jsx("button",{type:"button",className:`top-banner__dot${k===x?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:k+1,defaultValue:`${d}\uAC1C \uC911 ${k+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":k===x,onClick:()=>p(k)},k))})]})}function Cb({title:e,body:n,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:d}=be.useTranslation();return t.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${u}`.trim(),role:"listitem",children:[t.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:c=>{if(c.key==="Enter"||c.key===" ")c.preventDefault(),r?.();else if(c.key==="ArrowDown"||c.key==="ArrowUp"){c.preventDefault();const p=c.currentTarget.closest('[role="list"]');if(!p)return;const m=Array.from(p.querySelectorAll("[data-accordion-header]")),C=m.indexOf(c.currentTarget);(c.key==="ArrowDown"?m[C+1]:m[C-1])?.focus()}},children:[s&&t.jsx("div",{className:"accordion-item__avatar",children:s}),t.jsx("div",{className:`accordion-item__title ${i}`,children:e}),t.jsx("div",{className:"accordion-item__chevron",children:t.jsx(Ke,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&t.jsx("div",{className:`accordion-item__body ${l}`,children:typeof n=="string"?t.jsx("p",{children:n}):n})]})}function fb({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:n}),u=(d,c)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&c===i.index;return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((d,c)=>t.jsx(Cb,{title:d.title,body:d.body,avatar:d.avatar,open:u(d,c),onToggle:()=>l(u(d,c)?{index:-1}:{index:c,id:d.id}),bodyClassName:s},d.id??c))})}function gb(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("polyline",{points:"2,6 5,9 10,3"})})}function bb(){return t.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),t.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function yb(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:t.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function yt(e){const{t:n}=be.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:x,position:N="top-right",onClick:B,animate:k=!1}=e,E=A??"check",S=x!==void 0?"number":E,z=typeof r=="number"?r:32,R=De("circle-badge",`circle-badge--${S}`,`circle-badge--${N}`,`circle-badge--${z}`,k?"circle-badge--animate":"",B?"circle-badge--clickable":"",s),U=x!==void 0?n("badge.nthSelected",{n:x,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:n("badge.selected","\uC120\uD0DD\uB428"),remove:n("badge.remove","\uC81C\uAC70"),minus:n("badge.exclude","\uC81C\uC678")}[E];return t.jsxs("span",{className:R,onClick:B,onKeyDown:B?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??U,"aria-hidden":l||void 0,role:B?"button":l?void 0:"img",tabIndex:B?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&t.jsx(gb,{}),x===void 0&&E==="remove"&&t.jsx(bb,{}),x===void 0&&E==="minus"&&t.jsx(yb,{})]})}const{label:u,children:d,variant:c="default",fill:p="filled",minWidth:m,iconLeft:C,iconRight:g,color:v}=e,f=typeof r=="number"?"medium":r??"medium",y={small:"caption-2b",medium:"body-3b",large:"body-2b"}[f]??"body-2b",w={small:12,medium:14,large:16}[f]??14,h=De("badge",`badge--${c}`,`badge--${f}`,p!=="filled"?`badge--${p}`:"",y,s),_=v?.startsWith("--")?`var(${v})`:v,b=m!==void 0||_?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},..._?{"--badge-color":_}:{}}:void 0;return t.jsxs("span",{className:h,style:b,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[C&&t.jsx(Ke,{icon:C,size:w,className:"badge__icon"}),u??d,g&&t.jsx(Ke,{icon:g,size:w,className:"badge__icon"})]})}function Ba({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:s}=be.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),d=o.useMemo(()=>{const y=[{title:null,columns:e}];let w=e;for(const h of l){const _=w?.[h.ci]?.items?.[h.ii];if(!_||!Array.isArray(_.children)||!_.children.length)break;w=[{title:null,items:_.children}],y.push({title:_.label||null,columns:w})}return y},[e,l]),c=d[d.length-1],p=d.length-1,m=o.useCallback(()=>u(y=>y.slice(0,Math.max(0,Math.min(y.length,p)-1))),[p]),C=o.useRef(null),g=o.useRef(null),v=d.length;o.useEffect(()=>{g.current||(g.current=document.activeElement);let y=0,w=0;const h=()=>{const _=C.current?.querySelector("button:not([disabled])");if(_&&_.offsetParent){_.focus({preventScroll:!0});return}w++<20&&(y=requestAnimationFrame(h))};return y=requestAnimationFrame(h),()=>cancelAnimationFrame(y)},[v]),o.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const f=o.useCallback((y,w,h)=>{if(y){if(Array.isArray(y.children)&&y.children.length){u(_=>[..._.slice(0,p),{ci:w,ii:h}]);return}try{typeof y.onClick=="function"&&y.onClick()}catch{}try{y&&y.closeOnSelect&&typeof n=="function"&&n()}catch{}}},[n,p]);return t.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(d.length>1||c.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?t.jsx(de,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,t.jsx("div",{className:"tooltip-menu__title button-1",children:c.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:C,children:c.columns&&c.columns.map((y,w)=>t.jsxs("div",{className:"tooltip-menu__column",children:[y.title?t.jsx("div",{className:"tooltip-menu__column-title body-3",children:y.title}):null,t.jsx("div",{className:"tooltip-menu__items",children:(y.items||[]).map((h,_)=>t.jsxs(o.Fragment,{children:[h.separatorBefore&&_>0&&t.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),t.jsx(de,{htmlType:"button",className:"tooltip-menu__item",size:i,type:h.label?"bar":"dot",icon:h.selected?"check":h.icon||"none",rightIcon:Array.isArray(h.children)&&h.children.length?"chevron-right":h.badgeCount?t.jsx(yt,{type:"dot",position:"inline",number:Math.min(h.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:h.label,ariaLabel:h.label&&h.badgeCount&&h.badgeCount>0?s("nav.badgeLabel",{label:h.label,count:h.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):h.label,onClick:()=>f(h,w,_),selected:h.selected,disabled:h.disabled,showTooltipInfo:h.tooltip||!1,useBorder:!1,align:"left"})]},_))})]},w))})]})}const ul=".content-area";function to(e,n="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(ul);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&pn("nav-scroll-container",`[${n}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${ul}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const no=52,Ya=10,cl=e=>e&&e>0?e:0;function dl({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=be.useTranslation(),d=r==="manager"?"malgwi":"manager",c=r==="manager"?"arrow-left":"arrow-right",p=r==="manager"?u("nav.modeLabelMalgwi","\uB9D0\uADC0"):u("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=o.useRef(null),[C,g]=o.useState(0),v=e.length;o.useEffect(()=>{const I=m.current;if(!I)return;const q=()=>{const D=typeof getComputedStyle=="function"?getComputedStyle(I):null,O=I.clientWidth-(parseFloat(D?.paddingLeft??"")||0)-(parseFloat(D?.paddingRight??"")||0),M=I.querySelector(".bottom-nav__left"),P=M?.nextElementSibling,$=(M?.offsetWidth??0)+(M&&P?.classList.contains("bottom-nav__divider")?P.offsetWidth:0);g(Math.max(0,O-$))};if(q(),typeof ResizeObserver>"u")return;const H=new ResizeObserver(q);return H.observe(I),()=>H.disconnect()},[]);const f=no+1,y=I=>Math.max(0,Math.floor((I+Ya)/(no+Ya))),w=v*(no+Ya)-Ya<=C,h=C<=0||i.length===0&&w?v:Math.min(v,y(C-f)),_=C>0&&h<v,b=_?h:v,A=e.slice(0,b),x=e.slice(b),N=_||i.length>0,B=o.useCallback((I,q)=>({position:"fixed",bottom:window.innerHeight-I.top+8,right:window.innerWidth-I.right,zIndex:Aa(q)}),[]),k=o.useId(),{open:E,toggle:S,close:z,style:R,triggerRef:U,menuRef:j}=ka({computeStyle:B,onScroll:"ignore",onResize:"reposition"}),L=o.useCallback((I,q)=>q>0?u("nav.badgeLabel",{label:I,count:q,defaultValue:"{{label}}, {{count}}\uAC1C"}):I,[u]),F=o.useCallback(()=>s?.(d),[s,d]),K=o.useMemo(()=>x.find(I=>!!I.key&&I.key===n)??i.find(I=>I.selected||I.key&&I.key===n),[x,n,i]),te=o.useMemo(()=>[{items:[...x.map(I=>({label:I.label,icon:I.icon,badgeCount:I.badgeCount,selected:!!I.key&&I.key===n,closeOnSelect:!0,disabled:I.state==="disabled",onClick:()=>{I.state!=="disabled"&&(I.key&&a&&(a(I.key),to(l,"BottomNav")),z())}})),...i.map(I=>({label:I.label,icon:I.icon,badgeCount:I.badgeCount,selected:I.selected??(!!I.key&&I.key===n),closeOnSelect:!0,onClick:()=>{I.onClick?.(),z()}}))]}],[x,i,n,a,z]),V=[...x,...i].reduce((I,q)=>I+cl(q.badgeCount),0);return t.jsxs("nav",{className:"bottom-nav",ref:m,"aria-label":u("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__left",children:t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:c,ariaLabel:p,className:"bottom-nav-item",onClick:F})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",children:A.map((I,q)=>{const H=cl(I.badgeCount);return t.jsxs("span",{className:"bottom-nav__slot",children:[t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:I.icon,ariaLabel:L(I.label,H),selected:!!I.key&&I.key===n,disabled:I.state==="disabled",className:"bottom-nav-item",onClick:()=>{I.key&&(a?.(I.key),to(l,"BottomNav"))}}),H>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(yt,{type:"dot",position:"top-right",number:Math.min(H,99),size:24})})]},I.key??`__slot-${q}`)})}),N&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),t.jsx("div",{className:"bottom-nav__right",children:t.jsxs("div",{ref:U,className:"bottom-nav__slot",children:[t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:K?.icon??"ellipsis",ariaLabel:L(K?.label??u("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!K,className:"bottom-nav-item",onClick:S,"aria-expanded":E,"aria-controls":E?k:void 0}),V>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(yt,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),E&&Xt.createPortal(t.jsx("div",{id:k,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:R,ref:j,children:t.jsx(Ba,{columns:te,onClose:z})}),document.body)]})})]})]})}function pl(e){if(typeof e!="string")return!1;let n="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(n+=r)}if(!n)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(n);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ml(e,n,a){return a&&a>0?e("nav.badgeLabel",{label:n,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):n}function vb(e){const{t:n}=be.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:u,onFeedback:d,onAccount:c}=e||{},p="default";return s||i||l||u||d||c?t.jsxs("div",{className:"side-nav__footer",children:[s&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"terminal",ariaLabel:n("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&t.jsxs("span",{className:"side-nav__notification-wrap",children:[t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bell",ariaLabel:ml(n,n("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&t.jsx(yt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"settings",ariaLabel:n("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),u&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"message-circle-question-mark",ariaLabel:n("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:u,selected:a==="help"}),d&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bug",ariaLabel:n("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),c&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:c,selected:a==="account"})]}):null}function hl(e){const{t:n}=be.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:d,state:c,labelStyle:p}=e||{},m=a?.key??r??"",C=a?.label??s??"",g=a?.icon??i??"",v=a?.badge??0,f=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Ke,{icon:g,label:typeof C=="string"?C:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),y=c==="disabled",w=`side-nav__item ${l?"active":""} ${c||""} ${y?"disabled":""} ${a?.child?"side-nav__item--child":""}`,h=o.useCallback(_=>{if(y)return;const b=_.detail>0;if(b)try{_.currentTarget.blur()}catch{}u?.(m,_.currentTarget,b)},[y,m,u]);return t.jsxs("button",{type:"button",className:w,onClick:h,"aria-label":typeof C=="string"?ml(n,C,v):void 0,"aria-current":l?"page":void 0,style:d,"aria-disabled":y,children:[f,t.jsx("span",{className:"side-nav__label button-1 f",style:p,children:C}),v>0&&t.jsx(yt,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),c==="loading"&&t.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":n("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Cl(e){const{t:n}=be.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g,scrollContainer:v}=e||{},f=C==="manager",y=o.useCallback(()=>g?.(f?"malgwi":"manager"),[g,f]),w=o.useRef(null),[h,_]=o.useState(null);o.useEffect(()=>{const B=w.current;if(!B)return;const k=()=>{const{scrollHeight:S,clientHeight:z,scrollTop:R}=B;if(S<=z+1){_(null);return}const U=Math.max(24,z/S*z),j=z-U,L=S-z;_({top:Math.round(R/L*j),height:Math.round(U)})};k(),B.addEventListener("scroll",k,{passive:!0});const E=typeof ResizeObserver<"u"?new ResizeObserver(k):null;E?.observe(B);for(const S of Array.from(B.children))E?.observe(S);return()=>{B.removeEventListener("scroll",k),E?.disconnect()}},[a]);const b=o.useRef(null),A=o.useCallback(B=>{const k=w.current;k&&(B.preventDefault(),b.current={y:B.clientY,top:k.scrollTop},B.currentTarget.setPointerCapture(B.pointerId))},[]),x=o.useCallback(B=>{const k=w.current,E=b.current;!k||!E||(k.scrollTop=E.top+(B.clientY-E.y)*(k.scrollHeight/k.clientHeight))},[]),N=o.useCallback(B=>{b.current=null,B.currentTarget.hasPointerCapture(B.pointerId)&&B.currentTarget.releasePointerCapture(B.pointerId)},[]);return t.jsxs("nav",{ref:w,"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[h&&t.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:t.jsx("div",{className:"side-nav__scroll-thumb",style:{top:h.top,height:h.height},onPointerDown:A,onPointerMove:x,onPointerUp:N,onPointerCancel:N})}),t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(B=>!B.section&&(B.key||B.label)).map((B,k)=>t.jsxs(o.Fragment,{children:[B.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx(hl,{item:B,active:!!B.key&&B.key===r,state:B.disabled?"disabled":void 0,onClick:(E,S,z)=>{if(B.disabled)return;if(B.href){if(pl(B.href)&&window.open(B.href,"_blank","noopener,noreferrer"),z)try{S?.blur()}catch{}return}if(s?.(B.key),to(v,"SideNav"),!z)return;try{S?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const R=document.querySelector(".header");if(R){const U=typeof R.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&U&&R.matches(":hover"))){R.classList.add("header--force-collapsed");const j=()=>{R.classList.remove("header--force-collapsed"),R.removeEventListener("mouseenter",j)};R.addEventListener("mouseenter",j)}}}})]},B.key??`side-nav__item-${k}`)),g&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),g&&t.jsx(hl,{item:{key:"__mode-switch__",label:f?n("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):n("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:f?"arrow-left":"arrow-right"},onClick:y})]}),t.jsx(vb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m})]})}var Za='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',ao='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',xb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function fl({appMode:e}){const{t:n}=be.useTranslation(),a=e==="manager",r=a?ao:Za,s=xb;return t.jsxs("div",{className:"brand-identity__root","aria-label":n("header.biArea","BI \uC601\uC5ED"),children:[t.jsx("img",{src:s,alt:n("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),t.jsx("img",{src:r,alt:a?n("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):n("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function gl({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g,scrollContainer:v}){const{t:f}=be.useTranslation(),y=tn("(max-width: 767px)"),w=o.useMemo(()=>(a??[]).filter(R=>!R.section&&(R.key||R.label)).map(R=>({key:R.key,label:typeof R.label=="string"?R.label:void 0,icon:R.icon,state:R.disabled?"disabled":void 0,badgeCount:R.badge})),[a]),h=o.useCallback(R=>{const U=a?.find(j=>j.key===R);if(!U?.disabled){if(U?.href){pl(U.href)&&window.open(U.href,"_blank","noopener,noreferrer");return}n?.(R)}},[a,n]),_=o.useMemo(()=>{const R=[];return l&&R.push({key:"debug",icon:"terminal",label:f("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&R.push({key:"notifications",icon:"bell",label:f("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),c&&R.push({key:"settings",icon:"settings",label:f("nav.settings","\uC124\uC815"),onClick:c}),p&&R.push({key:"help",icon:"message-circle-question-mark",label:f("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),m&&R.push({key:"feedback",icon:"bug",label:f("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:m}),d&&R.push({key:"account",icon:"user-round",label:f("nav.account","\uACC4\uC815"),onClick:d}),R},[f,l,u,c,p,m,d,i]),b=o.useCallback((R,U)=>({position:"fixed",top:R.bottom+8,right:Math.max(8,window.innerWidth-R.right),zIndex:Aa(U)}),[]),A=o.useId(),{open:x,toggle:N,close:B,style:k,triggerRef:E,menuRef:S}=ka({computeStyle:b,onScroll:"ignore",onResize:"reposition"}),z=o.useMemo(()=>[{items:_.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===e),closeOnSelect:!0,onClick:()=>{R.onClick?.(),B()}}))}],[_,e,B]);return t.jsxs("aside",{className:`header${C==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(fl,{appMode:C}),t.jsxs("div",{className:"header__menu-button",ref:E,children:[t.jsx(de,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&i&&i>0?f("nav.badgeLabel",{label:f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:N,"aria-expanded":x,"aria-controls":x?A:void 0}),!!u&&!!i&&i>0&&t.jsx(yt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&Xt.createPortal(t.jsx("div",{id:A,role:"group","aria-label":f("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:k,ref:S,children:t.jsx(Ba,{columns:z,onClose:B})}),document.body)]})]}),t.jsx(Cl,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:n,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g}),y&&t.jsx(dl,{items:w,activeKey:e??void 0,onChange:h,scrollContainer:v,appMode:C,onAppModeChange:g})]})}const _b=gl,wb=()=>Et.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function bl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const n=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(n))return Qn(`${n.toLocaleString("ko-KR")}\uC6D0`)}return Qn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Ab(e){const n=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(n)?"manager":"speechear"}function kb(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const n=(e.code??"").match(/(\d+)(d|y)\b/i);if(n)return n[2].toLowerCase()==="y"?`${n[1]}\uB144`:`${n[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const s=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return s?s[2].toLowerCase()==="year"?`${s[1]}\uB144`:`${s[1]}\uC77C`:a||wb()}function Bb(e){const n=(e??"").match(/(\d+)(d|y)\b/i);if(!n)return null;const a=Number(n[1]);return n[2].toLowerCase()==="y"?a*365:a}function yl(e){return{type:e.type??Ab(e),plan:kb(e),label:e.label,price:bl(e.price),originalPrice:bl(e.originalPrice),discountLabel:e.discountLabel}}var Nb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Db='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Eb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Sb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',jb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Tb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',vl='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const qn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},ro=new WeakMap;function Mb(e){if(e)return ro.get(e)}function _n(e,n){e&&(e.style.setProperty(qn.text,n.text),e.style.setProperty(qn.sub,n.sub),n.copyrightColor&&e.style.setProperty(qn.copyright,n.copyrightColor),ro.set(e,n))}function wn(e){e&&(e.style.removeProperty(qn.text),e.style.removeProperty(qn.sub),e.style.removeProperty(qn.copyright),ro.delete(e))}const xl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function _l(e={}){const n=bt(xl,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-two-circle__c1"}),t.jsx("div",{className:"pass-card-bg-two-circle__c3"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${vl}")`}})]})}const wl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var Na='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Lb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},$b=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Al(e={}){const n=bt(Lb,_n,wn),a="var(--color-main)",r=270,s=170;return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[t.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:$b.map(({scale:i,opacity:l},u)=>t.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:t.jsx("path",{d:wl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Rb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Pb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ib(e={}){const n=bt(Rb,_n,wn),a="#ffffff",r=270,s=170;return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[t.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Pb.map(({scale:i,opacity:l},u)=>t.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:t.jsx("path",{d:wl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${vl}")`}})]})}const Fb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Ob(e={}){const n=bt(Fb,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),t.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Hb={Logo_speechear_kr:{"":Za,_white:Nb,_textWhite:Db,_black:Eb},Logo_speechearManager_kr:{"":ao,_white:Sb,_textWhite:jb,_black:Tb}};function zb(e,n){if(e)return Hb[e]?.[n??""]??void 0}const Vb={speechear:Za,manager:ao},Wb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},kl=10;function Bl(e,n){if(e<=0)return n("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return n("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return n("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?n("passCard.remainingMinute",{n:s}):n("passCard.remainingSecond",{n:Math.floor(e)})}function qb(e,n,a){if(e==="manager"){const r=/년/.test(n)||/yr|year/i.test(n)||/1년|365/.test(n),s=a==="\uC624\uD508\uD2B9\uAC00"||a===Et.t("passCard.specialLabel");return r?t.jsx(Ob,{}):s?t.jsx(Ib,{}):t.jsx(Al,{})}return t.jsx(_l,{})}function Nl({ariaLabel:e,product:n,showPrice:a=!1,plan:r,type:s,endDate:i,remainingSeconds:l,endInclusive:u=!1,state:d="active",bg:c,bgOnly:p=!1,textColor:m,subColor:C,copyrightColor:g,logoSrc:v,label:f,price:y,originalPrice:w,discountLabel:h,onUse:_,onRefund:b,onDelete:A}){const{t:x}=be.useTranslation(),N=n?yl(n):void 0,B=s??N?.type??"speechear",k=r??N?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=f??N?.label,S=y??(a?N?.price:void 0),z=w??(a?N?.originalPrice:void 0),R=h??N?.discountLabel,U=o.useMemo(()=>{if(S)return null;const W=n?.durationDays??Bb(n?.code);if(!W||W<=0)return l!=null?{percent:null,remainingLabel:Bl(l,x)}:null;const Q=W*86400;let se;if(l!=null)se=l;else if((d==="active"||d==="expired")&&i){const me=new Date(i).getTime();if(Number.isNaN(me))return null;const re=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),Ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(va()),ge=Math.round(re&&Ce?(Date.UTC(+re[1],+re[2]-1,+re[3])-Date.UTC(+Ce[1],+Ce[2]-1,+Ce[3]))/864e5:(me-Date.now())/864e5);se=Math.max(0,u?ge+1:ge)*86400}else d==="expired"?se=0:se=Q;const ke=Math.max(0,Math.min(100,Math.floor(Math.min(se,Q)/Q*100)));return d==="pending"&&ke>=100?null:{percent:ke,remainingLabel:d==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):Bl(se,x)}},[S,d,i,l,u,n?.durationDays,n?.code,x]),j=o.useRef(null),[L,F]=o.useState({}),[K,te]=o.useState(null),V=!!(_||b||A),I=o.useRef(!1),q=o.useRef(void 0),[H,D]=o.useState(v);o.useLayoutEffect(()=>{D(v)},[v]),o.useLayoutEffect(()=>{const W=j.current;W&&(m!==void 0&&W.style.setProperty("--pass-card-text",m),C!==void 0&&W.style.setProperty("--pass-card-sub",C),g!==void 0&&W.style.setProperty("--pass-card-copyright",g))},[m,C,g]),o.useLayoutEffect(()=>{const W=j.current;if(!W)return;const Q=Mb(W);if(!v){const se=Wb[B],ke=d==="expired"?"_black":Q?.logoColor??"",me=zb(se,ke);D(me)}},[c,v,B,d]);const O=W=>{const Q=j.current;if(!Q)return null;const{left:se,top:ke,width:me,height:re}=Q.getBoundingClientRect(),Ce=(W.clientX-se)/me-.5;return{rotateX:-((W.clientY-ke)/re-.5)*kl,rotateY:Ce*kl}},M=(W,Q)=>{const se=Q*-.7,ke=W*.7+10,me=20+(Math.abs(W)+Math.abs(Q))*.4;return`${se}px ${ke}px ${me}px rgba(0, 0, 0, 0.18)`},P=o.useCallback(W=>{if(na())return;I.current=!0,clearTimeout(q.current),q.current=setTimeout(()=>{I.current=!1},200);const Q=O(W);Q&&F({transform:`perspective(800px) rotateX(${Q.rotateX}deg) rotateY(${Q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(Q.rotateX,Q.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),$=o.useCallback(W=>{if(na())return;const Q=O(W);if(!Q)return;const se=I.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";F({transform:`perspective(800px) rotateX(${Q.rotateX}deg) rotateY(${Q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(Q.rotateX,Q.rotateY),transition:se})},[]),Y=o.useCallback(()=>{clearTimeout(q.current),I.current=!1,F({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ne=o.useCallback(()=>te(null),[]),J=o.useMemo(()=>{const W=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),Q=k.replace("\uC774\uC6A9\uAD8C","").replace(W==="\uC774\uC6A9\uAD8C"?"":W,"").trim(),se=Q.match(/^(.*?)(일|년)$/);return se?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"h0 pass-card__plan-number",children:se[1]}),t.jsx("span",{className:"h5b pass-card__plan-unit",children:se[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):t.jsx("span",{className:"h0",children:Q})},[k,x]),ae=o.useMemo(()=>{const W=Qn(S);if(!W)return null;const Q=W.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!Q)return t.jsx("span",{className:"h1",children:W});const[,se,ke,me]=Q;return t.jsxs(t.Fragment,{children:[se&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:se}),t.jsx("span",{className:"h1 pass-card__price-amount",children:ke}),me.trim()&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:me.trim()})]})},[S]),ue=o.useCallback(()=>{V&&te(W=>{if(W)return null;const Q=j.current?.getBoundingClientRect();if(!Q)return null;const se=50;return{left:Q.left,right:Q.right,width:Q.width,height:Q.height,x:Q.x,y:Q.y+se,top:Q.top+se,bottom:Q.bottom+se}})},[V]),ie=o.useCallback(W=>{V&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),ue())},[V,ue]),xe=[{items:[..._?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{_(),te(null)},closeOnSelect:!0}]:[],...b?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{b(),te(null)},closeOnSelect:!0}]:[],...A?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),te(null)},closeOnSelect:!0}]:[]]}];return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pass-card-frame",children:t.jsxs("div",{ref:j,className:`pass-card pass-card--${d}${V?" pass-card--clickable":""}`,style:L,onMouseEnter:P,onMouseMove:$,onMouseLeave:Y,onPointerUp:W=>{W.pointerType==="touch"&&Y()},onPointerCancel:W=>{W.pointerType==="touch"&&Y()},onClick:ue,onKeyDown:V?ie:void 0,role:V?"button":void 0,tabIndex:V?0:void 0,"aria-label":e,"aria-haspopup":V?"menu":void 0,"aria-expanded":V?!!K:void 0,children:[c??qb(B,k,E),!p&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pass-card__top",children:t.jsxs("div",{className:"pass-card__top-left",children:[t.jsx("img",{src:H??Vb[B],className:"pass-card__logo",alt:B==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),t.jsxs("div",{className:"pass-card__plan",children:[t.jsx("div",{children:J}),t.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?x("passCard.labeledPlan",{label:E}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),S?t.jsxs("div",{className:"pass-card__price-area",children:[R&&t.jsx("span",{className:"pass-card__discount body-3",children:R}),t.jsxs("div",{className:"pass-card__price",children:[z&&t.jsx("span",{className:"pass-card__price-original body-3",children:Qn(z)}),ae]})]}):U?t.jsxs("div",{className:"pass-card__usage",children:[t.jsx("span",{className:"h5b pass-card__usage-remaining",children:U.remainingLabel}),U.percent!=null&&t.jsxs("span",{className:"pass-card__usage-percent",children:[t.jsx("span",{className:"h1 pass-card__usage-value",children:U.percent}),t.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):t.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),K&&t.jsx(rn,{anchorRect:K,onClose:ne,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:t.jsx(Ba,{columns:xe,onClose:ne,size:"small"})})]})}const Ub={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Gb(e={}){const n=`passcard-sound-line-grad-${o.useId()}`,a=bt(Ub,_n,wn);return t.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[t.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:n,x1:"0",y1:"0",x2:"1",y2:"0",children:[t.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),t.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),t.jsx("g",{transform:"translate(25, 45)",children:t.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${n})`,strokeWidth:"50",strokeLinecap:"round"})})]}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Kb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Yb(e={}){const n=bt(Kb,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),t.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}function Zb(e,n){if(e){if(n==="manager_pro")return t.jsx(Yb,{});if(n==="manager_standard")return t.jsx(Gb,{});if(n==="manager_lite")return t.jsx(Al,{})}}function Xb(e){const n=Qn(e);if(!n)return null;const a=n.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return n;const[,r,s,i]=a;return t.jsxs(t.Fragment,{children:[r&&t.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&t.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Jb(e){const{t:n}=be.useTranslation(),a=n("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=n("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:u}=e||{},d=b=>!!b&&!!u?.includes(b),c=b=>b.onceOnly??/오픈\s*특가/.test(b.label??""),p=(s.tiers||[]).some(b=>c(b)&&d(b.code)),m=b=>{const A=b.prices?b.prices[l]:b.price;return A?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===A):!1},C=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",g=n("payment.plan.freePrice","\uBB34\uB8CC"),v=n("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=b=>b.prices?b.prices[l]:b.price,y=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const A=f(b);return A==="\uBB34\uB8CC"||A===g||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),w=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const A=f(b);return A==="\uBB38\uC758"||A===v}),h=s.group==="org",_=h?"manager":"speechear";return t.jsxs("div",{className:"payment-plan__card",style:{borderColor:C,"--plan-color":C},children:[s.cardBadge&&t.jsx("div",{className:"payment-plan__card-badge",children:t.jsx(yt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),t.jsxs("div",{className:"payment-plan__title",children:[t.jsx("p",{className:"payment-plan__quote body-3b",style:{color:C},children:s.quote||"\xA0"}),t.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),t.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),t.jsxs("div",{className:"payment-plan__box",children:[t.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),t.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((b,A)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Ke,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},A))})]}),t.jsxs("div",{className:"payment-plan__box",children:[t.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),t.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((b,A)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Ke,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},A))})]}),t.jsx("div",{className:"payment-plan__card-pricing",children:y?null:w?t.jsx(de,{htmlType:"button",className:"payment-plan__contact-button",label:n("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>s.tiers?.[0]&&i?.({...s.tiers[0],productId:s.id,productTitle:s.title})}):t.jsx(t.Fragment,{children:t.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(b=>{const A=b.label||a,x=c(b),N=x||b.openPromo===!0,B=A.replace(/^오픈\s*특가\s*/,"")||a,k=b.prices?b.prices[l]:b.price,E=b.badge?N?`${r}
|
|
852
|
-
${b.badge}`:b.badge:void 0;if(x&&d(b.code))return null;if(!b.badge&&!p)return m(b)?null:t.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${b.highlight?" payment-plan__pricing-row--highlight":""}`,children:[t.jsx("div",{className:"payment-plan__pricing-row-title",children:t.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:b.label})}),t.jsx("div",{className:"payment-plan__pricing-row-price",children:t.jsx("span",{className:"payment-plan__pricing-current h1",children:Xb(k)})})]},b.id);const S=s.tier??(h?s.title:void 0),z=t.jsx(Nl,{showPrice:!0,product:{type:_,code:b.code,name:B,label:S,price:k,originalPrice:b.originals?.[l]??void 0,discountLabel:E},bg:Zb(h,s.id)}),R=()=>i?.({...b,productId:s.id,productTitle:s.title,preview:z});return t.jsx("div",{className:"payment-plan__pricing-card",onClick:R,onKeyDown:i?U=>{U.target===U.currentTarget&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),R())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:z},b.id)})})})})]})}function Qb({variant:e="default"}){return t.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var oo='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Dl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function e4(){const e=bt(Dl,_n,wn);return t.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${oo}")`}})})}const El={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function t4(e={}){const n=bt(El,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),t.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}function Sl({keys:e,anchor:n="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return t.jsx("span",{className:De("shortcut-badge",`shortcut-badge--${n}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>t.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&t.jsx("span",{className:"shortcut-badge__plus",children:"+"}),t.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const Da=(e,n,a)=>e+(n-e)*a;function n4({speakers:e,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:u=!1,pulseSelected:d=!1,pulseSelectedDuration:c,pulseScale:p,clickable:m=!1,onSelectSpeaker:C,buttonSize:g=40,showIcon:v=!0,onCenterClick:f,centerLabel:y,centerDisabled:w=!1,centerAttention:h=!1,shortcutAnchor:_="top-right",shortcutScale:b,scaleShortcut:A=!1}){const{t:x}=be.useTranslation(),N=Math.max(0,Math.min(1,a)),B=n/2,k=110/300,E=.18,S=W=>n*(k+(W-1)*E),z=W=>{const Q=S(W.row??1),se=W.angleDeg*Math.PI/180;return{x:B+Q*Math.cos(se),y:B+Q*Math.sin(se)}},R=Math.max(...e.map(W=>W.row??1),1),U=n*.08,j=n*.1,L=n*.24,F=n-2*U,K=n-j-L,te=n-L/2,V=o.useMemo(()=>[...new Set(e.map(W=>W.deg))].sort((W,Q)=>W-Q),[e]),I=V.length,q=Math.max(68,I>1?F/(I-1):0),H=o.useMemo(()=>new Map(V.map((W,Q)=>[W,Q])),[V]),D=W=>{const Q=H.get(W.deg)??0,se=B+(Q-(I-1)/2)*q,ke=R>1?Math.min(68,K/(R-1)):0,me=ke*(R-1),re=j+(K-me)/2,Ce=R===1?j+K*.4:re+(R-(W.row??1))*ke;return{x:se,y:Ce}},O=W=>{const Q=z(W),se=D(W);return{x:Da(Q.x,se.x,N),y:Da(Q.y,se.y,N)}},M={x:B,y:Da(B,te,N)},P=Math.round(g*1.2),$=Math.round(Math.max(16,Math.min(80,g*.7))),Y=[],ne=new Map;for(const W of e){const Q=W.row??1;ne.has(Q)||ne.set(Q,[]),ne.get(Q).push(W)}for(const[W,Q]of ne.entries()){if(Q.length<2)continue;const se=[...Q].sort((Fe,st)=>Fe.deg-st.deg),ke=se.map(Fe=>O(Fe)),me=se.map(Fe=>Fe.deg),re=me[me.length-1]-me[0],Ce=re/(me.length-1),ge=360-re,Ee=se.length>=3&&Ce>0&&ge<=Ce*1.5,Re=Math.round(S(W)*1e3)/1e3,Le=(Fe,st,et,Ye)=>{const Se=(st.angleDeg-Fe.angleDeg+540)%360-180;if(Se===0)return`L ${Ye.x} ${Ye.y}`;if(N===0)return`A ${Re} ${Re} 0 0 ${Se>0?1:0} ${Ye.x} ${Ye.y}`;const Ae=(Fe.angleDeg+Se/2)*Math.PI/180,ee={x:B+Re*Math.cos(Ae),y:B+Re*Math.sin(Ae)},fe={x:(et.x+Ye.x)/2,y:(et.y+Ye.y)/2},ze={x:Da(ee.x,fe.x,N),y:Da(ee.y,fe.y,N)},Be={x:2*ze.x-fe.x,y:2*ze.y-fe.y};return`Q ${Be.x} ${Be.y} ${Ye.x} ${Ye.y}`},Je=Ee?[...se,se[0]]:se,Qe=Ee?[...ke,ke[0]]:ke;let qe=`M ${Qe[0].x} ${Qe[0].y}`;for(let Fe=1;Fe<Qe.length;Fe++)qe+=" "+Le(Je[Fe-1],Je[Fe],Qe[Fe-1],Qe[Fe]);Y.push({key:`arc-${W}`,d:qe})}const J=o.useMemo(()=>new Set(s??[]),[s]),ae=W=>({idle:"",active:x("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:x("soundCompass.state.played","\uB4E4\uC74C"),correct:x("soundCompass.state.correct","\uC815\uB2F5"),wrong:x("soundCompass.state.wrong","\uC624\uB2F5")})[W],ue=W=>{if(r===W.id)return"active";if(u){if(W.id===l)return"correct";if(W.id===i&&i!==l)return"wrong"}return J.has(W.id)?"played":"idle"},ie=W=>r===W.id?"loop":u?W.id===l?"loop":null:d&&W.id===i?"once":null,xe=(W,Q)=>{switch(W){case"played":case"correct":return t.jsx(ss,{size:Q});case"wrong":return t.jsx(fs,{size:Q});default:return t.jsx(Cs,{size:Q})}};return t.jsx("div",{className:"sound-compass",children:t.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:n,height:n},children:[t.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"sound-compass__svg",children:[N===0&&e.map(W=>{const{x:Q,y:se}=O(W);return t.jsx("line",{x1:M.x,y1:M.y,x2:Q,y2:se,stroke:"#dde3ec",strokeWidth:"1"},W.id)}),Y.map(W=>t.jsx("path",{d:W.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},W.key))]}),h&&!w&&t.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:P,height:P,left:M.x-P/2,top:M.y-P/2}}),f?t.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${w?" sound-compass__center--disabled":""}`,style:{width:P,height:P,left:M.x,top:M.y},"aria-label":y,"aria-disabled":w||void 0,tabIndex:w?-1:0,onClick:w?void 0:f,children:t.jsx(br,{size:$,color:"currentColor",strokeWidth:1.5})}):t.jsx("div",{className:"sound-compass__center",style:{width:P,height:P,left:M.x,top:M.y},children:t.jsx(br,{size:$,color:"currentColor",strokeWidth:1.5})}),e.map((W,Q)=>{const{x:se,y:ke}=O(W),me=ue(W),re=ie(W),Ce={...b!==void 0||A?{"--shortcut-badge-scale":String(b??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:me!=="idle"?10:1},ge=g,Ee=Math.round(Math.max(10,Math.min(56,ge*.38))),Re=Math.round(Math.max(7,Math.min(18,ge*.2))),Le=Math.round(Math.max(10,Math.min(56,ge*.4))),Je=v==="answered"&&(me==="played"||me==="correct"||me==="wrong"),Qe=v===!0||Je,qe=!Je;return t.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Ce,left:se-ge/2,top:ke-ge/2},children:[re&&t.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${me}`+(re==="once"?" sound-compass__pulse--once":""),style:{width:ge,height:ge,...re==="once"&&c!==void 0?{"--sc-pulse-duration-once":`${c}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),t.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>C?.(W.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${me}`,style:{width:ge,height:ge},"aria-label":ae(me)?`${W.label}, ${ae(me)}`:W.label,"aria-pressed":i!=null?W.id===i:void 0,children:[Qe&&xe(me,Ee),qe&&t.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?Re:Le},children:Q+1})]}),W.shortcut&&t.jsx(Sl,{keys:W.shortcut,anchor:_,className:"sound-compass__speaker-shortcut"})]},W.id)})]})})}function a4({children:e,position:n="top-left",size:a=24,className:r=""}){return t.jsx("span",{className:De("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:e})}function r4({orientation:e="horizontal",label:n,className:a=""}){const r=De("divider",`divider--${e}`,n&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?t.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):n?t.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[t.jsx("span",{className:"divider__line"}),t.jsx("span",{className:"divider__label caption-1",children:n}),t.jsx("span",{className:"divider__line"})]}):t.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function jl({checked:e,onChange:n,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const u=o.useId();return t.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:u,children:[t.jsx("input",{id:u,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:d=>n?.(d.target.checked)}),t.jsx("span",{className:"radio__dot"}),i&&t.jsx("span",{className:"radio__label body-2",children:i})]})}function o4({options:e,value:n,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:u}){const d=o.useId(),c=r??`radio-group-${d}`;return t.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(p=>t.jsx(jl,{name:c,value:p.value,checked:n===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const s4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function i4({tone:e="info",title:n,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:d}=be.useTranslation(),[c,p]=o.useState(!1),m=o.useRef(null),C=o.useCallback(()=>{const h=m.current;h&&h.contains(document.activeElement)&&Ua(h),p(!0),i?.()},[i]);if(c)return null;const g=De("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),f=v==="assertive"?"alert":v==="polite"?"status":void 0,y=!!n,w=!!(a||r);return t.jsxs("div",{ref:m,className:g,role:f,children:[t.jsxs("div",{className:"alert__body",children:[t.jsxs("div",{className:"alert__header",children:[t.jsx(Ke,{icon:s4[e],size:20,className:"alert__icon"}),y&&t.jsx("span",{className:"alert__title body-2",children:n}),!y&&w&&t.jsx("div",{className:"alert__message body-3",children:a||r})]}),y&&w&&t.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&t.jsx("button",{type:"button",className:"alert__dismiss",onClick:C,"aria-label":d("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const l4={ready:"search",guide:"info",error:"circle-alert"};function u4(e,n){const a=n.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const u=e.indexOf(l,s);u<0||(u>s&&r.push(e.slice(s,u)),r.push(t.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=u+l.length)}return s<e.length&&r.push(e.slice(s)),r}function c4({status:e="guide",label:n,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??l4[e],u=De("search-summary",`search-summary--${e}`,i),d=n??a,c=typeof d=="string"&&r&&r.length>0?u4(d,r):d;return t.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&t.jsx(Ke,{icon:l,size:18,className:"search-summary__icon"}),t.jsx("span",{className:"search-summary__text body-2",children:c})]})}function Ea({title:e,items:n}){const{t:a}=be.useTranslation(),{anchorRect:r,openAt:s,close:i}=wa(),l=o.useRef(null),u=Gr(!!r,(d,c)=>{d&&c?s(l.current?.querySelector("button")??c):i()},l);return t.jsxs("span",{ref:l,style:{display:"contents"},children:[t.jsx(de,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:d=>{ta(d)||s(d.currentTarget)},onPointerLeave:d=>{ta(d)||i()},onClick:d=>{u.touchPress(d.currentTarget)},onFocus:d=>{na()||s(d.currentTarget)},onBlur:i}),r&&t.jsx(Vn,{title:e,items:n,showIndex:n.length>1,anchorRect:r,onClose:i})]})}function d4({items:e=[],value:n,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=be.useTranslation(),u=o.useRef(null),d=e.find(f=>!f.disabled)?.key,c=e.some(f=>f.key===n)?n:d??e[0]?.key,p=e.find(f=>f.key===c&&!f.disabled)?.key??d,m=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),C=(f,y=m())=>{if(y.length===0)return;const w=(f%y.length+y.length)%y.length;y[w]?.focus(),y[w]?.click()},g=f=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const y=m(),w=y.indexOf(f.currentTarget);f.key==="ArrowRight"||f.key==="ArrowDown"?C(w+1,y):f.key==="ArrowLeft"||f.key==="ArrowUp"?C(w-1,y):f.key==="Home"?C(0,y):C(y.length-1,y)},v=e.find(f=>f.key===c);return t.jsxs("div",{className:`tabs ${r}`.trim(),children:[t.jsx("div",{ref:u,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(f=>t.jsx("button",{id:`tabs__tab-${i}-${f.key}`,type:"button",role:"tab","aria-selected":f.key===c,"aria-controls":`tabs__panel-${i}-${f.key}`,disabled:f.disabled,tabIndex:f.key===p?0:-1,className:`tabs__tab body-2${f.key===c?" tabs__tab--active":""}`,onClick:()=>{f.key!==n&&a?.(f.key)},onKeyDown:g,children:f.label},f.key))}),v&&t.jsx("div",{id:`tabs__panel-${i}-${v.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${v.key}`,tabIndex:0,className:"tabs__panel",children:v.panel},v.key)]})}const p4={xs:12,sm:16,md:20,lg:28,xl:36};function m4(e){const n=e.trim().split(/\s+/).filter(Boolean);return n.length===0?"":n.length===1?[...n[0]].slice(0,2).join("").toUpperCase():([...n[0]][0]+[...n[n.length-1]][0]).toUpperCase()}function h4({src:e,name:n,size:a="md",shape:r="circle",className:s=""}){const{t:i}=be.useTranslation(),[l,u]=o.useState(null),d=!!e&&l===e,c=n?m4(n):"",p=!!e&&!d,m=!p&&!!c,C=n||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return t.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":C,children:[p&&t.jsx("img",{className:"avatar__image",src:e,alt:C,onError:()=>u(e??null)}),!p&&m&&t.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:c}),!p&&!m&&t.jsx(Ke,{icon:"user-round",size:p4[a],className:"avatar__icon"})]})}function C4(e,n){if(!n)return!0;const a=n.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),s=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?s.startsWith(l.slice(0,-1)):s===l})}function f4({onFilesSelected:e,accept:n,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:d}=be.useTranslation(),c=o.useRef(null),[p,m]=o.useState(!1),[C,g]=o.useState([]),v=i??C,f=x=>{if(!x||x.length===0)return;const N=Array.from(x).filter(k=>C4(k,n));if(N.length===0)return;const B=a?N:N.slice(0,1);if(i===void 0){const k=a?[...v,...B]:B;g(k),e?.(k)}else e?.(B)},y=x=>{x.preventDefault(),!r&&m(!0)},w=x=>{x.preventDefault(),m(!1)},h=x=>{x.preventDefault(),m(!1),!r&&f(x.dataTransfer.files)},_=x=>{const N=x.target;try{f(N.files)}finally{N.value=""}},b=()=>{r||c.current?.click()},A=x=>{if(!r&&(l?.(x),i===void 0)){const N=v.filter((B,k)=>k!==x);g(N),l||e?.(N)}};return t.jsxs("div",{className:`file-upload ${u}`.trim(),children:[t.jsxs("div",{className:De("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:b,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())},onDragOver:y,onDragLeave:w,onDrop:h,children:[t.jsx(Ke,{icon:"upload",size:24,className:"file-upload__icon"}),t.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),t.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),b()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),t.jsx("input",{ref:c,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:_,tabIndex:-1})]}),s&&v.length>0&&t.jsx("ul",{className:"file-upload__list",children:v.map((x,N)=>t.jsxs("li",{className:"file-upload__list-item body-3",children:[t.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),t.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>A(N),children:t.jsx(Ke,{icon:"x",size:14})})]},`${x.name}-${N}`))})]})}function g4({items:e,className:n=""}){const{t:a}=be.useTranslation();return t.jsx("nav",{className:`breadcrumb ${n}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:t.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return t.jsxs("li",{className:"breadcrumb__item",children:[i?t.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?t.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?t.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):t.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&t.jsx(Ke,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const b4={small:14,medium:20,large:28};function y4({value:e,onChange:n,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=be.useTranslation(),d=r||!n,[c,p]=o.useState(null),m=d?e:Number.isFinite(e)?Math.round(e):0,C=c??m,g=b4[s],v=x=>{x!==e&&n?.(x)},f=x=>{d||v(x)},y=x=>{d||na()||p(x)},w=o.useRef(null),h=x=>{const N=Math.min(a,Math.max(1,x));v(N),Array.from(w.current?.querySelectorAll("[data-star]")??[]).find(B=>B.dataset.star===String(N))?.focus()},_=x=>{if(!d){switch(x.key){case"ArrowRight":case"ArrowUp":h((m||0)+1);break;case"ArrowLeft":case"ArrowDown":h((m||1)-1);break;case"Home":h(1);break;case"End":h(a);break;default:return}x.preventDefault()}},b=m>=1&&m<=a?Math.round(m):1,A=()=>{d||p(null)};return t.jsx("div",{className:`rating rating--${s}${d?" rating--readOnly":""} ${l}`.trim(),ref:w,onKeyDown:_,role:d?"img":"radiogroup","aria-label":d?u("rating.valueLabel",{value:e,max:a}):i??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:x=>{x.pointerType==="touch"&&A()},onPointerCancel:x=>{x.pointerType==="touch"&&A()},children:Array.from({length:a},(x,N)=>{const B=N+1,k=Math.max(0,Math.min(1,C-N)),E=k>0&&k<1,S=t.jsxs("span",{className:"rating__star-wrap",children:[t.jsx(Ke,{icon:"star",size:g,className:"rating__star rating__star--empty"}),k>0&&t.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${k*100}%`}:void 0,children:t.jsx(Ke,{icon:"star",size:g,className:"rating__star rating__star--filled"})})]});return d?t.jsx("span",{className:"rating__item","aria-hidden":"true",children:S},B):t.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===B,"aria-label":u("rating.starLabel",{n:B}),"data-star":B,tabIndex:B===b?0:-1,onClick:()=>f(B),onMouseEnter:()=>y(B),children:S},B)})})}const v4=20,x4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function _4({value:e,onChange:n,palette:a=x4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=be.useTranslation();return t.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(u=>{const d=e?.toLowerCase()===u.toLowerCase();return t.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:u},onClick:()=>n(u),"aria-pressed":d,"aria-label":d?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:d&&t.jsx(Ke,{icon:"check",size:v4,className:"color-picker__check"})},u)})})}function Tl({icon:e,label:n,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:d}=be.useTranslation(),c=u==="small",p=De("category-icon",c?"category-icon--small":""),m=c?16:20,C=o.useRef(null),[g,v]=o.useState(!1),f=o.useMemo(()=>{const N=r&&typeof r=="object"?{...r}:{};return!s&&!i?N:{...N,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),y=a||n,[w,h]=o.useState(null);o.useLayoutEffect(()=>{g&&h(C.current?.getBoundingClientRect()??null)},[g]),o.useEffect(()=>{if(!l&&g)try{v(!1)}catch{}},[l,g]),o.useEffect(()=>{if(!g)return;const N=B=>{const k=C.current;if(!k)return;const E=B.target;E&&!k.contains(E)&&v(!1)};return document.addEventListener("pointerdown",N,!0),()=>document.removeEventListener("pointerdown",N,!0)},[g]);const _=o.useCallback(()=>{l&&v(!0)},[l]),b=o.useCallback(()=>{l&&v(!1)},[l]),A=o.useCallback(()=>v(!1),[]),x=o.useCallback(N=>{if(N.key==="Escape"){v(!1);return}(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),v(B=>!B))},[]);return t.jsxs("span",{ref:C,className:"category-icon__wrap",onPointerEnter:_,onPointerLeave:b,onFocus:_,onBlur:b,onKeyDown:x,role:"button",tabIndex:0,"aria-label":typeof y=="string"?d("common.descriptionFor",{name:y,defaultValue:`${y} \uC124\uBA85`}):void 0,"aria-haspopup":!!y,"aria-expanded":g,"data-tooltip-ignore":!0,children:[t.jsx(Ke,{icon:e,label:n,className:p,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:m}),g&&y&&t.jsx(vn,{anchorRect:w,text:typeof y=="string"?y:void 0,offset:8,onClose:A,className:"category-icon__tooltip",ariaLabel:typeof y=="string"?y:void 0})]})}let jn=null;function Xa(e){if(jn&&jn!==e)try{jn()}catch{}return jn=e,()=>{jn===e&&(jn=null)}}function Ja(e){if(jn===e){jn=null;try{e()}catch{}}}function w4(e,n){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(u=>u?.contextCode||u?.context_code).filter(Boolean).map(String);if(n==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}if(n==="SHORT_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"SHORT_S"}}if(n==="LONG_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LONG"}}if(n==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}const s=a.sentences||a.items||[],i=r(Array.isArray(s)?s:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function A4(e,n){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),d=o.useRef(null),c=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[C,g]=o.useState(!1),v=o.useRef([]),{previewCodes:f,previewBucket:y}=w4(e,n),w=`${f.join(",")}|${y??""}`,h=o.useMemo(()=>l.key===w?l.urls:[],[l,w]);o.useEffect(()=>{if(!f.length)return;let b=!1;return(async()=>{const A=[],x=[];for(const N of f)try{const B=Ws(N,y);if(!B){A.push("");continue}let k=null;try{k=await qs(B)}catch{}if(!k)try{const E=await Us(B);E&&(k=URL.createObjectURL(E),x.push(k))}catch{}A.push(k??"")}catch{A.push("")}b?x.forEach(N=>{try{URL.revokeObjectURL(N)}catch{}}):(v.current.forEach(N=>{try{URL.revokeObjectURL(N)}catch{}}),v.current=x,u({key:w,urls:A}))})(),()=>{b=!0}},[f.join(","),y]),o.useEffect(()=>()=>{v.current.forEach(b=>{try{URL.revokeObjectURL(b)}catch{}}),v.current=[]},[]);const _=o.useCallback(async b=>{if(b.stopPropagation(),b.preventDefault(),c.current){p.current&&Ja(p.current),c.current=!1;try{d.current?.pause()}catch{}r(!1),i(-1);return}if(!h.filter(Boolean).length)return;let A=null;const x=()=>{c.current=!1;try{d.current?.pause()}catch{}A?.()};p.current=x;const N=Xa(x);c.current=!0,r(!0);for(let B=0;B<h.length&&c.current;B++){const k=h[B];if(k){i(B);try{await new Promise((E,S)=>{A=E;const z=new Audio(k);d.current=z,z.onended=()=>E(),z.onerror=()=>S(),z.play().catch(S)})}catch{break}}}N(),p.current===x&&(p.current=null,c.current=!1,r(!1),i(-1))},[h]);return o.useEffect(()=>()=>{p.current&&Ja(p.current),c.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:s,previewUrls:h,previewHover:C,setPreviewHover:g,previewBtnRef:m,handlePreview:_}}const k4=e=>{if(!e)return[];const n=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(n)return[String(n)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const s=r;return s.sentence||s.text||s.context||s.question||s.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function so(e){const{index:n,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:u,completedIds:d,selectedIds:c,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:C,hideCheckBadge:g=!1,showTypeLabel:v=!1,onComplete:f,onSelect:y,onMore:w,countLabelOverride:h,size:_="square"}=e||{},{t:b}=be.useTranslation(),[A,x]=o.useState(!1),N=o.useRef(null),[B,k]=o.useState(!1);o.useEffect(()=>{N.current?.matches(":hover")&&k(!0)},[]);const{playing:E,playingIndex:S,previewUrls:z,previewHover:R,setPreviewHover:U,previewBtnRef:j,handlePreview:L}=A4(r,a?.key),F=o.useCallback(()=>{y?y():x(!0)},[y]),K=o.useCallback(()=>x(!1),[]),te=o.useCallback(()=>k(!0),[]),V=o.useCallback(()=>k(!1),[]),I=o.useCallback(()=>U(!0),[U]),q=o.useCallback(()=>U(!1),[U]),[H,D]=o.useState(null);o.useLayoutEffect(()=>{R&&D(j.current?.getBoundingClientRect()??null)},[R,j]);const[O,M]=o.useState(null);o.useLayoutEffect(()=>{B&&!A&&m&&M(N.current?.getBoundingClientRect()??null)},[B,A,m]);const P=o.useCallback(Se=>{Se.target===Se.currentTarget&&(Se.key==="Enter"||Se.key===" ")&&(Se.preventDefault(),F())},[F]),$=r||null,Y=o.useMemo(()=>{if(!m)return null;const Se=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ae=Se&&Se.length>0?Se:k4($);return Ae&&Ae.length>0?Ae:null},[m,p,$]),ne=o.useCallback(Se=>{Se.stopPropagation(),C?.()},[C]),J=o.useCallback(Se=>Se.stopPropagation(),[]),ae=o.useCallback(Se=>{typeof f=="function"&&f(Se)},[f]),ue=u||(d&&r?.id!=null?d.has(String(r.id)):!1),ie=!ue&&(c!=null&&r?.id!=null?c.has(String(r.id)):!1);tl("speechear.popup.close",K);const xe=pi(),W=`${a?.label||""} ${n+1}`,Q=$?.title||$?.name||W;let se=a?.icon,ke,me="",re="";try{const Se=$?.category_0||$?.category_main_code||$?.category_main,Ae=$?.category_1||$?.category_sub_code||$?.category_sub,ee=xe.find(fe=>fe.key===Se);ee?.icon&&(se=ee.icon),!ke&&ee?.color&&(ke={"--t-item-fg":ee.color}),!ke&&$?.iconColor&&(ke={"--t-item-fg":$.iconColor}),me=ee?b(`topic.${ee.key}`,{defaultValue:ee.label||""}):"";try{const fe=ee?.subs?.find(ze=>ze.key===Ae);re=fe?b(`topic.sub.${fe.key}`,{defaultValue:fe.label||""}):""}catch{}}catch{}const Ce=re?`${me} / ${re}`:me||a?.label||Q,ge=Se=>b("training.countQuestions",{n:Se}),Ee=Se=>b("training.countSentences",{n:Se});let Re="";try{if($)if(a?.key==="LISTEN_IN_NOISE"){let Se=0;Array.isArray($.items)&&$.items.length>0?Se=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0?Se=$.sentences.length:$.sentences&&(Se=1),Re=Ee(Se)}else if(a?.key==="SHORT_STORY"){let Se=1;Array.isArray(r?.items)?Se=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Se=r.raw.items.length:Array.isArray($?.questions)?Se=$.questions.length:Array.isArray($?.sentences)&&(Se=$.sentences.length),Re=ge(Se)}else if(a?.key==="LONG_STORY"){let Se=1;if(Array.isArray($.items)&&$.items.length>0){const Ae=$.items.reduce((ee,fe)=>{const ze=fe.questionItems;return Array.isArray(ze)?ee+ze.length:Array.isArray(fe.questions)?ee+fe.questions.length:ee},0);Se=Ae>0?Ae:$.items.length}else Array.isArray($.questions)&&$.questions.length>0?Se=$.questions.length:Array.isArray($.sentences)&&$.sentences.length>0&&(Se=$.sentences.length);Re=ge(Se)}else if(a?.key==="ORDERING_SENTENCE"){let Se=1;Array.isArray($.items)&&$.items.length>0?Se=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0&&(Se=$.sentences.length),Re=Ee(Se)}else Array.isArray($.items)&&(Re=$.items.length>0?ge($.items.length):"")}catch{}const Le=_==="row",Je=_==="list"||Le,Qe=_==="compact",qe=_==="small",Fe=qe&&a?.key?zC().find(Se=>Se.key===a.key):void 0,st=Fe?mi[Fe.key]:void 0,et=Fe?st?b(`trainingType.${st}.title`,{defaultValue:Fe.label}):Fe.label??"":"",Ye=!!v&&!!a?.label&&a.label!==String(Q)||qe&&!!et&&et!==String(Q);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:N,className:`training-block-button${Je?" training-block-button--list":""}${Le?" training-block-button--row":""}${Qe?" training-block-button--compact":""}${qe?" training-block-button--small":""}${ue?" training-block-button--completed":""}${ie?" training-block-button--selected":""}${Ye&&!qe?" training-block-button--withType":""}${qe&&!Ye?" training-block-button--no-type-label":""}`,onClick:F,onPointerEnter:te,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:P,"aria-label":typeof s=="string"?s:typeof Q=="string"?Q:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
|
|
853
|
-
`):p)||void 0,children:[t.jsxs("div",{className:"training-block-button__left",children:[v&&a?.label&&a.label!==String(Q)&&t.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),qe&&et&&et!==String(Q)&&t.jsx("span",{className:"training-block-button__type-label caption-2",children:et}),t.jsx(Tl,{icon:se,label:Q,tooltip:Ce,wrapperStyle:ke,iconSize:qe||Qe?"small":"medium"}),!g&&(ue||ie)&&!(C&&B)&&t.jsx(yt,{className:C?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":ue?b("training.completed","\uD6C8\uB828 \uC644\uB8CC"):b("training.selected","\uC120\uD0DD\uB428")}),C&&t.jsx(yt,{className:`training-block-button__remove${B?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":b("common.remove","\uC81C\uAC70"),onClick:ne}),t.jsx("div",{className:`training-block-button__title ${Qe?"body-3":qe?"body-3b":"h3"}`,children:String(Q)}),t.jsxs("div",{className:"training-block-button__description",children:[(()=>{const Se=h!==void 0?h:Re;return Se?t.jsx("div",{className:`training-block-button__count ${qe?"caption-2":"caption-1"}`,children:Se}):null})(),t.jsx("div",{className:"training-block-button__chevron",children:t.jsx(Ke,{icon:"chevron-right",label:b("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:qe?12:20})})]}),(Je&&!Le||qe)&&z.length>0&&t.jsx("div",{ref:j,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:J,onPointerEnter:I,onPointerLeave:q,children:t.jsx(de,{htmlType:"button",size:qe?28:32,type:"dot",icon:E?"pause":"play",variant:qe?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(Q).trim()?E?b("training.stopFor",{name:Q,defaultValue:`${Q} \uC815\uC9C0`}):b("training.previewFor",{name:Q,defaultValue:`${Q} \uBBF8\uB9AC \uB4E3\uAE30`}):E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:L})})]}),w&&t.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Se=>{Se.stopPropagation(),w(Se)},children:t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(Q).trim()?b("common.moreFor",{name:Q}):b("common.more","\uB354\uBCF4\uAE30")})})]}),R&&t.jsx(vn,{anchorRect:H,text:E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:q}),B&&!A&&m&&(Y?t.jsx(Vn,{anchorRect:O,items:Y,activeIndex:S,onClose:V}):$?.subTitle?t.jsx(vn,{anchorRect:O,text:$.subTitle,offset:8,onClose:V}):null),A&&l&&l({trainingData:$,typeKey:a?.key??"",onClose:K,onComplete:ae,popupTitle:String(Q),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:se,popupIconTooltip:String(Ce),popupWrapperStyle:ke})]})}const Ml=200;function B4(e){return e.itemId?(GC()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function Ll({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:s}=be.useTranslation(),i=o.useMemo(()=>YC(s).map(u=>({type:u,items:(e.items??[]).filter(d=>d.trainingType===u.key)})).filter(u=>u.items.length>0),[e.items,s]);if(i.length===0)return null;const l=t.jsx("div",{className:"tooltip-training__box",children:t.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:u,items:d},c)=>[c>0?t.jsx("div",{className:"tooltip-training__divider"},`div-${u.key}`):null,t.jsxs("div",{className:"tooltip-training__section",children:[t.jsx("div",{className:"tooltip-training__section-header",children:t.jsx("span",{className:"tooltip-training__type-label body-3b",children:u.label})}),t.jsx("div",{className:"tooltip-training__items",children:d.map((p,m)=>{const C=B4(p);return C?t.jsx(so,{index:m,type:u,trainingData:C,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},u.key)])})});return n?t.jsx(rn,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const N4=200;function D4({icon:e,count:n,title:a,plan:r,tooltip:s=!0,className:i="",onClick:l,onMouseEnter:u,onMouseLeave:d}){const c=De("count-tile",l&&"count-tile--clickable",i),p=o.useRef(null),[m,C]=o.useState(null),g=o.useRef(null),v=o.useRef(null),f=!!(m&&r&&s),y=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),v.current&&(clearTimeout(v.current),v.current=null)},[]),w=o.useCallback(()=>{y(),C(null)},[y]),h=o.useCallback(()=>{!s||!r||(y(),g.current=setTimeout(()=>{g.current=null,C(p.current?.getBoundingClientRect()??null)},Ml))},[s,r,y]),_=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!v.current&&(v.current=setTimeout(()=>{v.current=null,C(null)},N4))},[]);return o.useEffect(()=>()=>{y()},[y]),o.useEffect(()=>{(!s||!r)&&w()},[s,r,w]),o.useEffect(()=>{if(!f)return;const b=x=>x instanceof Element&&(p.current?.contains(x)||!!x.closest(".tooltip-training")),A=x=>{b(x.target)?y():_()};return document.addEventListener("pointerover",A,!0),()=>document.removeEventListener("pointerover",A,!0)},[f,y,_]),t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:p,className:c,onClick:l?b=>{w(),l(b)}:void 0,onKeyDown:l?b=>{b.key!=="Enter"&&b.key!==" "||(b.preventDefault(),b.currentTarget.click())}:void 0,onPointerEnter:b=>{b.pointerType==="touch"||b.pointerType==="pen"?w():h()},onMouseEnter:u,onMouseLeave:b=>{_(),d?.(b)},role:l?"button":"img",tabIndex:l?0:void 0,"aria-label":`${a} ${n}`,children:[t.jsx(Ke,{icon:e,size:20,className:"count-tile__icon"}),t.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:n})]}),m&&r&&t.jsx(Ll,{plan:r,anchorRect:m,onClose:w})]})}let Sa=0,$l="",io="",ja=0;function Rl(){return Pl(!1)}function E4(){return Pl(!0)}function Pl(e){const n=typeof document<"u";Sa===0&&n&&($l=document.body.style.overflow,document.body.style.overflow="hidden"),e&&n&&(ja===0&&(io=document.body.style.paddingRight),ja++,document.body.style.paddingRight="0px"),Sa++;let a=!1;return()=>{a||(a=!0,Sa=Math.max(0,Sa-1),e&&n&&(ja=Math.max(0,ja-1),ja===0&&(io?document.body.style.paddingRight=io:document.body.style.removeProperty("padding-right"))),Sa===0&&n&&(document.body.style.overflow=$l))}}function S4(){return t.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:t.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function j4({open:e,onClose:n,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:d=!0,className:c,contentClassName:p}){const{t:m}=be.useTranslation(),C=o.useId(),g=o.useRef(null),v=o.useCallback(()=>n(),[n]);o.useEffect(()=>{if(!e)return;const h=document.activeElement,_=Rl(),b=g.current;return Vr(b,h),b?.focus(),()=>{_();const A=document.activeElement;(!A||A===document.body||b&&b.contains(A))&&Wr(h)?.focus?.()}},[e]);const f=o.useRef(v),y=o.useRef(u);o.useEffect(()=>{f.current=v,y.current=u}),o.useEffect(()=>{if(e)return zn(()=>{y.current&&f.current()})},[e]);const w=o.useRef(!1);return Hr(g,e),!e||typeof document>"u"?null:Xt.createPortal(t.jsx("div",{className:De("dialog",c),onPointerDown:l?h=>{w.current=h.target===h.currentTarget}:void 0,onMouseDown:h=>{h.target===h.currentTarget&&h.preventDefault()},onClick:l?h=>{const _=w.current;w.current=!1,_&&h.target===h.currentTarget&&v()}:void 0,children:t.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?C:void 0,tabIndex:-1,className:De("dialog__surface",`dialog__surface--${i}`,p),onClick:h=>h.stopPropagation(),children:[r?t.jsx("div",{className:"dialog__header",children:t.jsx("h2",{id:C,className:"dialog__title h4b",children:r})}):null,d?t.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:v,children:t.jsx(S4,{})}):null,t.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function T4({columns:e,rows:n,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:u,className:d=""}){const{t:c}=be.useTranslation(),p=!l&&n.length===0;return t.jsxs("div",{className:De("board",d),children:[r||s?t.jsxs("div",{className:"board__head",children:[r?t.jsx("h2",{className:"board__title",children:r}):t.jsx("span",{}),s?t.jsx("div",{className:"board__toolbar",children:s}):null]}):null,t.jsxs("table",{className:"board__table",children:[u?t.jsx("caption",{className:"board__caption",children:u}):null,t.jsx("thead",{children:t.jsx("tr",{children:e.map(m=>t.jsx("th",{scope:"col",className:De("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),t.jsx("tbody",{children:l?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:i??c("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):n.map((m,C)=>t.jsx("tr",{className:"board__row",children:e.map(g=>t.jsx("td",{className:De("board__td",`board__cell--${g.align??"left"}`),children:g.render(m,C)},g.key))},a(m,C)))})]})]})}function M4({name:e,role:n,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return t.jsxs("div",{className:De("person-card",l),children:[t.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?t.jsx("img",{src:a,alt:n?`${e} ${n}`:e}):null)}),t.jsx("h3",{className:"person-card__name",children:e}),n?t.jsx("p",{className:"person-card__role",children:n}):null,s?.length?t.jsx("ul",{className:"person-card__credentials",children:s.map(u=>t.jsx("li",{children:u},u))}):null]})}function L4({groups:e,className:n=""}){return t.jsx("div",{className:De("timeline",n),children:e.map(a=>t.jsxs("section",{className:"timeline__group",children:[t.jsx("h3",{className:"timeline__title",children:a.title}),t.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>t.jsxs("li",{className:"timeline__row",children:[r.label?t.jsx("span",{className:"timeline__label",children:r.label}):null,t.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>t.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function $4({title:e,kind:n,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:u=""}){const d=r??(s?t.jsx("img",{src:s,alt:""}):null);return t.jsxs("div",{className:De("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[d?t.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,t.jsx("h3",{className:"publication-card__title",children:e}),n?t.jsx("p",{className:"publication-card__kind",children:n}):null,t.jsx("p",{className:"publication-card__body",children:a}),i?t.jsx("div",{className:"publication-card__footer",children:i}):null]})}function R4({logo:e,alt:n,onDone:a,durationMs:r=3e3}){const s=xa(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),t.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:t.jsx("img",{src:e,alt:n,className:"splash-logo__image"})})}function P4({eyebrow:e,eyebrowIndex:n,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const u=s===1?"h1":"h2";return t.jsxs("div",{className:De("section-header",`section-header--${i}`,l),children:[e?t.jsxs("p",{className:"section-header__eyebrow",children:[n?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"section-header__index",children:n}),t.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?t.jsx(u,{className:"section-header__title",children:a}):null,r?t.jsx("div",{className:"section-header__description",children:r}):null]})}function I4({items:e,className:n=""}){return t.jsx("ul",{className:De("company-meta",n),children:e.map((a,r)=>t.jsxs("li",{className:"company-meta__item",children:[r>0?t.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Il(e){return typeof e=="string"?e:e.label}function Fl({value:e,onChange:n,suggestions:a,openOnFocus:r=!1,filterSuggestions:s,onSelectSuggestion:i,autoActiveFirst:l=!1}){const u=o.useId(),[d,c]=o.useState(!1),[p,m]=o.useState(-1),C=o.useRef(null),g=o.useMemo(()=>{if(!a.length)return[];const S=e??"";return s===!1?a:S?typeof s=="function"?s(a,S):a.filter(z=>Il(z).toLowerCase().includes(S.toLowerCase())):r?a:[]},[a,e,r,s]),[v,f]=o.useState(!1),y=o.useRef([]),w=v&&g.length===0?y.current:g;o.useEffect(()=>{w.length&&(y.current=w)},[w]);const h=o.useCallback(()=>f(!0),[]),_=o.useCallback(()=>f(!1),[]),b=l?0:-1;o.useEffect(()=>{d||m(b)},[d,b]),o.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const A=p<w.length?p:b<w.length?b:-1,x=o.useCallback(S=>{i?i(S):n?.(Il(S)),c(!1)},[n,i]),N=o.useCallback(()=>c(!0),[]),B=o.useCallback(()=>{c(!0),m(b)},[b]),k=o.useCallback(()=>{C.current=setTimeout(()=>c(!1),120)},[]),E=o.useCallback(S=>{S.nativeEvent.isComposing||S.keyCode===229||(S.key==="ArrowDown"?(S.preventDefault(),c(!0),m(z=>Math.min(w.length-1,(z<w.length?z:b)+1))):S.key==="ArrowUp"?(S.preventDefault(),m(z=>Math.max(b,(z<w.length?z:w.length)-1))):S.key==="Enter"?A>=0&&x(w[A]):S.key==="Escape"&&d&&(S.preventDefault(),c(!1)))},[w,A,d,x,b]);return{listId:u,open:d,activeIdx:A,filtered:w,handleFocus:N,handleBlur:k,handleInput:B,handleKeyDown:E,handleSelect:x,handleCompositionStart:h,handleCompositionEnd:_}}const lo=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Un(e){const{value:n,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:u,ariaDescribedBy:d,required:c,placeholder:p,ghostText:m,ghostHint:C,type:g="text",disabled:v=!1,readOnly:f=!1,error:y,helperText:w,maxLength:h,size:_=48,variant:b="input",fullWidth:A=!1,newline:x=!1,multiline:N=!1,rows:B=3,leftIcon:k,rightIcon:E,clearable:S=!1,list:z,showCount:R=!0,className:U="",onFocus:j,onBlur:L,onKeyDown:F,onEnter:K,inputMode:te,autoComplete:V,autoFocus:I,suggestions:q,filterSuggestions:H,onSelectSuggestion:D,autoActiveFirst:O,openOnFocus:M=!1}=e,P=f||v?void 0:q,{t:$}=be.useTranslation(),Y=o.useId();!l&&!u&&pn(`TextField:unnamed:${Y}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const ne=`tf-${Y}`,J=`tf-helper-${Y}`,ae=o.useRef(null),ue=Fl({value:n??"",onChange:i,suggestions:P??[],openOnFocus:M,filterSuggestions:H,onSelectSuggestion:D,autoActiveFirst:O}),ie=!!P&&ue.open&&ue.filtered.length>0,xe=o.useRef(null),[W,Q]=o.useState(null),se=o.useCallback(()=>{const Ae=xe.current;if(!Ae||typeof window>"u")return;const ee=Ae.getBoundingClientRect(),fe=230,ze=window.innerHeight-ee.bottom<fe+8&&ee.top>fe+8;Q({position:"fixed",left:ee.left,width:ee.width,...ze?{bottom:window.innerHeight-ee.top+8}:{top:ee.bottom+8},zIndex:Aa(Ae)})},[]);lo(()=>{if(!ie)return;se();const Ae=ee=>{const fe=ee.target;fe&&fe.nodeType===1&&fe.closest?.(".text-field__suggestions")||se()};return window.addEventListener("scroll",Ae,!0),window.addEventListener("resize",se),()=>{window.removeEventListener("scroll",Ae,!0),window.removeEventListener("resize",se)}},[ie,se]);const ke=o.useCallback(Ae=>{ae.current=Ae,typeof s=="function"?s(Ae):s&&(s.current=Ae)},[s]),me=m?`${m}${C??$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:p,re=n!==void 0,Ce=re&&g==="password",[ge,Ee]=o.useState((a??"").length),Re=re?(n??"").length:ge,Le=o.useRef(n);lo(()=>{Le.current=n}),o.useEffect(()=>{const Ae=ae.current;if(!Ce||!Ae)return;const ee=n??"";Ae.value!==ee&&(Ae.value=ee)},[Ce,n]),o.useEffect(()=>{if(!x||!ae.current)return;const Ae=ae.current;Ae.style.height="",Ae.scrollHeight>Ae.clientHeight&&(Ae.style.height=`${Ae.scrollHeight}px`)},[n,ge,x]);const Je=h!=null&&Re>h,Qe=_===32?16:20,qe=De("text-field",`text-field--s${_}`,b==="display"?"text-field--display":"",A?"text-field--full-width":"",v?"text-field--disabled":"",f?"text-field--readonly":"",y?"text-field--error":"",k?"text-field--has-left-icon":"",E||S?"text-field--has-right-icon":"",U),Fe={id:ne,...Ce?{}:re?{value:n}:{defaultValue:a},ref:ke,placeholder:me,name:r,disabled:v,readOnly:f,autoFocus:I,maxLength:h,list:z,inputMode:te,autoComplete:V,"aria-label":!l&&u?u:void 0,"aria-required":c,"aria-invalid":!!y,"aria-describedby":[w||y?J:null,d].filter(Boolean).join(" ")||void 0,role:P?"combobox":void 0,"aria-autocomplete":P?"list":void 0,"aria-haspopup":P?"listbox":void 0,"aria-expanded":P?ie:void 0,"aria-controls":ie?ue.listId:void 0,"aria-activedescendant":ie&&ue.activeIdx>=0?`${ue.listId}-option-${ue.activeIdx}`:void 0,onChange:Ae=>{const ee=Ae.target;re||Ee(ee.value.length),i?.(ee.value),P&&ue.handleInput(),Ce&&queueMicrotask(()=>{const fe=Le.current??"";ee.value!==fe&&(ee.value=fe)})},onCompositionStart:P?ue.handleCompositionStart:void 0,onCompositionEnd:P?ue.handleCompositionEnd:void 0,onFocus:(Ae=>{j?.(Ae),P&&ue.handleFocus()}),onBlur:(Ae=>{L?.(Ae),P&&ue.handleBlur()}),onKeyDown:(Ae=>{const ee=(Ae.key==="Tab"&&!Ae.shiftKey||Ae.key===" ")&&!Ae.nativeEvent.isComposing;if(m&&ee&&!f&&!v&&!(Ae.currentTarget.value??"").trim()){Ae.preventDefault();const fe=Ae.currentTarget;re||(fe.value=m,Ee(m.length)),i?.(m);return}P&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&ue.activeIdx>=0?Ae.preventDefault():K&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&(Ae.preventDefault(),K()),F?.(Ae),P&&ue.handleKeyDown(Ae)})},st=S&&!v&&!f&&Re>0,et=()=>x?t.jsx("textarea",{...Fe,className:"text-field__input text-field__input--auto body-2",rows:1}):N?t.jsx("textarea",{...Fe,className:"text-field__input text-field__input--textarea body-2",rows:B}):t.jsx("input",{...Fe,type:g,className:"text-field__input body-2"}),Ye=b==="display"&&!x&&!N&&!!me,Se=()=>t.jsxs(t.Fragment,{children:[et(),Ye&&t.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:me})]});return t.jsxs("div",{ref:xe,className:qe,children:[l&&t.jsxs("label",{htmlFor:ne,className:"text-field__label caption-1",children:[l,c&&t.jsx("span",{className:"text-field__required",children:"*"})]}),t.jsxs("div",{className:"text-field__wrap",children:[k&&t.jsx("span",{className:"text-field__icon text-field__icon--left",children:t.jsx(Ke,{icon:k,label:"",className:"",svgClassName:"text-field__icon-svg",size:Qe})}),Se(),h!=null&&R&&t.jsxs("span",{className:`text-field__count caption-2${Je?" text-field__count--over":""}`,children:[Re,"/",h]}),st&&t.jsx(de,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:$("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ae=>{Ae.preventDefault()},onClick:()=>{!re&&ae.current&&(ae.current.value="",Ee(0)),i?.("")},tabIndex:-1}),E&&!st&&t.jsx("span",{className:"text-field__icon text-field__icon--right",children:t.jsx(Ke,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Qe})})]}),!!P&&t.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:ue.open&&(n??"").length>0&&ue.filtered.length===0?$("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),ie&&(typeof document>"u"?null:Xt.createPortal(t.jsx("ul",{id:ue.listId,className:"text-field__suggestions",role:"listbox",style:W??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:ue.filtered.map((Ae,ee)=>t.jsx("li",{id:`${ue.listId}-option-${ee}`,role:"option","aria-selected":ee===ue.activeIdx,className:`text-field__suggestion body-2${ee===ue.activeIdx?" is-active":""}`,onMouseDown:fe=>fe.preventDefault(),onClick:()=>{ue.handleSelect(Ae),ae.current?.focus()},children:typeof Ae=="string"?Ae:t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"text-field__suggestion-label",children:Ae.label}),Ae.hint&&t.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Ae.hint})]})},typeof Ae=="string"?`${Ae}-${ee}`:Ae.id))}),document.body)),(w||y)&&t.jsx("div",{className:"text-field__footer",children:t.jsx("span",{id:J,className:"text-field__helper caption-1",role:y?"alert":void 0,children:y||w})})]})}function sn({options:e,value:n,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:u=!1,className:d="",ariaLabel:c,ariaDescribedBy:p}){const{t:m}=be.useTranslation(),C=r??m("dropdown.placeholder","\uC120\uD0DD"),g=o.useId(),v=o.useId(),f=o.useRef(null),y=o.useCallback((j,L)=>{const F=window.innerHeight-j.bottom<260&&j.top>260;return{position:"fixed",left:j.left,minWidth:j.width,...F?{bottom:window.innerHeight-j.top+6}:{top:j.bottom+6},zIndex:Aa(L)}},[]),{open:w,setOpen:h,toggle:_,style:b,triggerRef:A,menuRef:x}=ka({computeStyle:y}),[N,B]=o.useState(-1),k=o.useCallback(()=>B(-1),[]),E=e.find(j=>j.value===n);o.useEffect(()=>{if(w){const j=e.findIndex(L=>L.value===n);B(j>=0?j:e.length?0:-1),requestAnimationFrame(()=>{const L=x.current;if(!L)return;const F=L.querySelectorAll(".dropdown__option")[j];F&&(L.scrollTop=Math.max(0,F.offsetTop-L.clientHeight/2+F.clientHeight/2))})}},[w]),o.useEffect(()=>{w&&B(j=>{if(j>=0&&j<e.length)return j;const L=e.findIndex(F=>F.value===n);return L>=0?L:e.length?0:-1})},[w,e.length]);const S=o.useCallback(()=>{s||_()},[s,_]),z=o.useCallback(j=>{j.disabled||s||(j.value!==n&&a?.(j.value),h(!1))},[a,h,s,n]);o.useEffect(()=>{s&&h(!1)},[s,h]);const R=o.useCallback(j=>{if(!s){if(!w){(j.key==="Enter"||j.key===" "||j.key==="ArrowDown")&&(j.preventDefault(),h(!0));return}if(j.key==="Escape"){j.preventDefault(),h(!1);return}j.key==="ArrowDown"?(j.preventDefault(),B(L=>{let F=L+1;for(;F<e.length&&e[F].disabled;)F++;return F<e.length?F:L})):j.key==="ArrowUp"?(j.preventDefault(),B(L=>{let F=L-1;for(;F>=0&&e[F].disabled;)F--;return F>=0?F:L})):(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),e[N]?z(e[N]):h(!1))}},[s,w,e,N,z,h]),U=w?t.jsx("div",{ref:x,id:g,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:b,onMouseLeave:k,onMouseDown:j=>j.preventDefault(),children:e.map((j,L)=>t.jsxs("button",{id:`${g}-option-${L}`,type:"button",role:"option","aria-selected":j.value===n,className:De("dropdown__option body-2",j.value===n?"dropdown__option--active":"",L===N?"dropdown__option--active":"",j.disabled?"dropdown__option--disabled":""),onMouseDown:F=>F.preventDefault(),onClick:()=>z(j),onMouseEnter:()=>B(L),disabled:j.disabled,children:[t.jsx("span",{className:"dropdown__option-check",children:j.value===n&&t.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),j.label]},j.value))}):null;return t.jsxs("div",{ref:f,className:De("dropdown",`dropdown--s${l}`,w?"dropdown--open":"",i?"dropdown--block":"",u?"dropdown--error":"",d),onKeyDown:R,children:[t.jsxs("button",{ref:A,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?g:void 0,"aria-activedescendant":w&&N>=0?`${g}-option-${N}`:void 0,"aria-label":c,"aria-describedby":[c&&E?v:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:s,onClick:S,onBlur:j=>{w&&!x.current?.contains(j.relatedTarget)&&h(!1)},children:[t.jsx("span",{id:v,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:C}),t.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Xt.createPortal(U,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Qa({page:e,totalPages:n,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=be.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),c=Math.max(1,n),p=()=>a(Math.max(1,Math.min(c,e-1))),m=()=>a(Math.min(c,e+1));return t.jsxs("div",{className:De("pagination",i),children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:u,disabled:e<=1,onClick:p}),t.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),c)," / ",c]}),t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=n,onClick:m})]})}function An(e){const{t:n}=be.useTranslation(),{options:a=[],value:r=a.find(h=>!h.disabled)?.key??a[0]?.key,onChange:s=h=>{},className:i="",size:l=40,shape:u="pill",useBG:d=!0,fullWidth:c=!1,minButtonWidth:p,ariaLabel:m}=e||{},C=o.useRef(null),g=a.filter(h=>!h.disabled),v=h=>{if(!g.length)return;const _=Math.max(0,g.findIndex(A=>A.key===r)),b=h==="first"?g[0]:h==="last"?g[g.length-1]:g[(_+h+g.length)%g.length];b&&(s(b.key),Array.from(C.current?.querySelectorAll("[data-segkey]")??[]).find(A=>A.dataset.segkey===b.key)?.focus())},f=h=>{switch(h.key){case"ArrowRight":case"ArrowDown":v(1);break;case"ArrowLeft":case"ArrowUp":v(-1);break;case"Home":v("first");break;case"End":v("last");break;default:return}h.preventDefault()},y=h=>{const _=b=>typeof b=="string"||typeof b=="number";if(!(!_(h.label)||h.count==null||h.count===!1||!_(h.count)))return`${h.label}, ${h.count}`},w=g.some(h=>h.key===r)?r:g[0]?.key;return t.jsx("div",{ref:C,onKeyDown:f,className:De("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,c&&"segmented-control--full",!d&&"segmented-control--no-bg",p!=null&&"segmented-control--min",i),style:p!=null?{"--segmented-min-button-w":`${p}px`}:void 0,role:"radiogroup","aria-label":m??n("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(h=>t.jsx(de,{htmlType:"button",role:"radio","aria-checked":h.key===r,"data-segkey":h.key,tabIndex:h.key===w?0:-1,label:h.label,count:h.count,ariaLabel:y(h),disabled:h.disabled,className:h.key===r?"is-selected":"",onClick:()=>{h.disabled||s(h.key)},size:l,shape:u,useBorder:!1,useBG:!1},h.key))})}function uo({count:e,search:n,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:u}){const{t:d}=be.useTranslation(),c=e!=null&&t.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??d("common.totalPrefix","\uCD1D "),t.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(n||r?.length||s||i||l);return t.jsxs("div",{className:De("toolbar",u),children:[t.jsxs("div",{className:"toolbar__row",children:[c,a&&(Array.isArray(a)?a:[a]).map((m,C)=>t.jsx(An,{size:40,...m},m.ariaLabel??C))]}),p&&t.jsx("div",{className:"toolbar__row",children:t.jsxs("div",{className:"toolbar__row-end",children:[n&&t.jsx(Un,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??d("common.search","\uAC80\uC0C9"),autoFocus:n.autoFocus,clearable:!0}),r?.map((m,C)=>t.jsx(sn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},C)),(s||i)&&t.jsxs("div",{className:"toolbar__pager",children:[s&&t.jsx(sn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&t.jsx(Qa,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}function Ol(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Ol).join(""):""}function F4(e){let n=e.replace(/\r\n/g,`
|
|
851
|
+
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},dg={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},pg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},mg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},hg={answer:"Answer",distractor:"Distractor"},Cg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},fg={clearAriaLabel:"Clear input"},gg={ariaLabel:"Select tab"},bg={ariaLabel:"Tabs"},yg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},vg={ariaLabel:"User avatar"},xg={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},_g={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},wg={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},Ag={manage:{unit:"item(s)"}},kg={cancelLabel:"Cancel"},Bg={subtitle:"Select a topic to start listening practice."},Ng={steps:"Step {{current}} of {{total}}"},Dg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},Eg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table"},Sg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},jg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Tg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Mg={previewRegion:"Report preview \u2014 scrollable sideways"},Lg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},$g={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Rg={clearSelection:"Clear selection"},Pg={showResult:"Show {{type}} result"},Ig={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Fg={loading:"Loading"},Og={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Hg={ariaLabel:"Breadcrumb"},zg={empty:"No items yet."},Vg={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Wg={common:E2,calendar:S2,passCard:j2,searchField:T2,rating:M2,colorPicker:L2,dropdown:$2,accordion:R2,header:P2,nav:I2,settings:F2,usage:O2,account:H2,help:z2,training:V2,trainingSettings:W2,customers:q2,payment:U2,coupons:G2,visits:K2,company:Y2,trainingType:Z2,myWordTraining:X2,myWordTable:J2,keyWords:Q2,wordTable:eg,wordSearch:tg,wordPrint:ng,topic:ag,accessLinkManager:rg,login:og,device:sg,manager:ig,wordPairs:lg,game:ug,footer:cg,landing:dg,date:pg,trainingSetPage:mg,wordTrainingPreview:hg,wordData:Cg,textField:fg,segmentedControl:gg,tabs:bg,fileUpload:yg,avatar:vg,myHomework:xg,trainingStatus:_g,store:wg,homework:Ag,inquiry:kg,trainingPlanRun:Bg,progress:Ng,trainingMiss:Dg,table:Eg,wordScore:Sg,topBanner:jg,datePicker:Tg,report:Mg,tooltip:Lg,phonemeProfile:$g,bulkBar:Rg,debug:Pg,badge:Ig,loader:Fg,soundCompass:Og,breadcrumb:Hg,board:zg,promoBannerBg:Vg};const qg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Kr="ko",Ug="ihab_display_language";function wi(){if(typeof window>"u")return Kr;try{const e=localStorage.getItem(Ug);if(e&&qg.some(n=>n.code===e))return e}catch{}return Kr}function Ai(e){try{document.documentElement.lang=e}catch{}}Et.on("languageChanged",Ai),Ai(wi()),Et.use(be.initReactI18next).init({resources:{ko:{translation:D2},en:{translation:Wg}},lng:wi(),fallbackLng:Kr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function bt(e,n,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return n(s,e),()=>a(s)},[e,n,a]),r}const _a={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Yr=new WeakMap;function Zr(e){if(e)return Yr.get(e)}function It(e,n){e&&(e.style.setProperty(_a.title,n.title),e.style.setProperty(_a.description,n.description),Yr.set(e,n))}function Ft(e){e&&(e.style.removeProperty(_a.title),e.style.removeProperty(_a.description),Yr.delete(e))}const ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Bi(){const e=bt(ki,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Ni={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Di(){const e=bt(Ni,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ei={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Si(){const e=bt(Ei,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ti(){const e=bt(ji,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Mi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Li(){const e=bt(Mi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const $i={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Ri(){const e=bt($i,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Pi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Ii(){const e=bt(Pi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const Fi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Oi(){const e=bt(Fi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Hi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function zi(){const e=bt(Hi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Vi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Wi(){const e=bt(Vi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const qi={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Ui(){const e=bt(qi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:t.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const Gi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ki(){const e=bt(Gi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Yi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Zi(){const e=bt(Yi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Xi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Ji(){const e=bt(Xi,It,Ft);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Kt=(e,n,a)=>({key:e,get label(){return Et.t(`promoBannerBg.${e}`,n)},textTone:a}),Gg=[Kt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("soft","\uC18C\uD504\uD2B8","dark"),Kt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Kt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Kt("warm","\uC6DC(\uAC15\uC870)","dark"),Kt("dark","\uB2E4\uD06C","light"),Kt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Kt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Kt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Kt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Kt("success","\uC131\uACF5/\uC644\uB8CC","light"),Kt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Kt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Qi={main:Bi,soft:Di,sub:Si,deep:Ti,softSub:Li,warm:Ri,dark:Ii,radial:Oi,diagonal:zi,dots:Wi,outline:Ui,success:Ki,naver:Zi,instagram:Ji};function el({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=_=>Math.max(a,Math.min(r,Number(_))),u=_=>{try{const b=localStorage.getItem(_),A=b?Number(b):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[d,c]=o.useState(()=>u(e)),[p,m]=o.useState(e);p!==e&&(m(e),c(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const C=_=>{c(typeof _=="function"?b=>l(_(b)):l(_))},g=()=>C(_=>+(_+s).toFixed(6)),v=()=>C(_=>+(_-s).toFixed(6)),f=d<r-Number.EPSILON,y=d>a+Number.EPSILON,w=Math.round(n*d),h=Math.round(w*i);return{scale:d,setScale:C,increase:g,decrease:v,canIncrease:f,canDecrease:y,fontSize:w,lineHeight:h}}function tl(e,n){const a=xa(n);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Xr=" \xB7 ",nl=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Xr)?e.split(Xr).pop()??e:e})(),Kg=o.createContext(!1),Wn=[];let al=null;function Yg(e){const n=o.useContext(Kg);o.useEffect(()=>{if(n||typeof e!="string"||!e)return;Wn.length===0&&(al=document.title);const a={text:nl?`${e}${Xr}${nl}`:e};return Wn.push(a),document.title=a.text,()=>{const r=Wn.lastIndexOf(a);r>=0&&Wn.splice(r,1),document.title=Wn.length?Wn[Wn.length-1].text:al??document.title}},[e,n])}const rl=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],Zg=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function aa(e,n){return Zg().compare(e,n)}const Ka=new Map;function Xg(e){const n=Ka.get(e);if(n)return n;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,u=i[0];u[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,u=u.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(u)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ka.size>5e3&&Ka.clear(),Ka.set(e,a),a}function Jg(e){if(!/^[\d\s-]+$/.test(e))return null;const n=e.replace(/\D/g,"");return n.length<9||n.length>11?null:n[0]==="0"||n[0]==="1"&&e!==n?n:null}function Qg(e,n){const a=c=>c==null||typeof c=="number"&&Number.isNaN(c)?"":String(c).trim(),r=a(e),s=a(n);if(r===s)return 0;const i=(c,p)=>{if(typeof c=="number"&&!Number.isNaN(c))return[c];const m=Jg(p);return m!==null?[m]:Xg(p)},l=i(e,r),u=i(n,s),d=Math.min(l.length,u.length);for(let c=0;c<d;c++){const p=l[c],m=u[c];if(typeof p=="number"&&typeof m=="number"){if(p!==m)return p-m;continue}if(typeof p=="number")return-1;if(typeof m=="number")return 1;const C=aa(p,m);if(C!==0)return C}return l.length!==u.length?l.length-u.length:aa(r,s)}const ol=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Jr(e,n,a){const r=ol(e),s=ol(n);if(r||s)return r===s?0:r?1:-1;const i=Qg(e,n);return a?i:-i}function eb(e,n,a){const{t:r}=be.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&rl.some(f=>f.value===v)?v:"25"}),[l,u]=o.useState(1),[d,c]=o.useState(n);Object.is(d,n)||(c(n),l!==1&&u(1));const p=o.useMemo(()=>rl.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),m=o.useCallback(v=>{i(v),u(1)},[]),C=Math.max(1,Math.ceil(e.length/Number(s)));(l>C||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),C));const g=Math.min(Math.max(1,Number.isFinite(l)?l:1),C);return{pageRows:o.useMemo(()=>e.slice((g-1)*Number(s),g*Number(s)),[e,g,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:g,total:C,onChange:u},setPage:u}}function tb(e){const[n,a]=o.useState(null),r=o.useRef(n),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(d=>{const c=r.current,p=c?.key===d?{key:d,asc:!c.asc}:{key:d,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((d,c)=>({label:d,sortDir:n?.key===c?n.asc?"asc":"desc":null,onClick:()=>i(c)}),[n,i]),u=o.useCallback((d,c)=>{if(!n)return d;const{key:p,asc:m}=n;return[...d].sort((C,g)=>Jr(c(C,p),c(g,p),m))},[n]);return{\uC815\uB82C:n,\uCE78:l,sortRows:u}}const on="\uC804\uCCB4",nb=new Map;try{Et.store?.on?.("added",()=>nb.clear())}catch{}Object.fromEntries(Object.entries(dC).map(([e,{nucleus:n}])=>[e,n]));const ab={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},rb={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},ob={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function sb(e,n){if("place"in n)return ab[n.place](e);const a=rb[n.vowel](e);return n.glide?`${a} \xB7 ${ob[n.glide](e)}`:a}const ib=(e,{defaultValue:n})=>n,sl=(e,n)=>({jamos:e,phonetic:n,tooltip:sb(ib,n)}),xn=(e,n)=>n.map(a=>sl([a],{place:e})),St=(e,n,a)=>sl([...e],a?{vowel:n,glide:a}:{vowel:n}),Qr={cho:[xn("labial",["\u3142","\u3143","\u314D","\u3141"]),xn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),xn("alveolar",["\u3145","\u3146"]),xn("palatal",["\u3148","\u3149","\u314A"]),xn("velar",["\u3131","\u3132","\u314B"]),xn("glottal",["\u314E"])],jung:[[St("\u3163","frontHigh"),St("\u315F","frontHigh","w"),St("\u3162","frontHigh","velar")],[St("\u3161","backHighUnrounded")],[St("\u315C","backHighRounded"),St("\u3160","backHighRounded","j")],[St("\u3154\u3150","frontMid"),St("\u3156\u3152","frontMid","j"),St("\u3159\u315A\u315E","frontMid","w")],[St("\u3153","backMidUnrounded"),St("\u3155","backMidUnrounded","j"),St("\u315D","backMidUnrounded","w")],[St("\u3157","backMidRounded"),St("\u315B","backMidRounded","j")],[St("\u314F","low"),St("\u3151","low","j"),St("\u3158","low","w")]],jong:[xn("labial",["\u3142","\u3141"]),xn("alveolar",["\u3137","\u3134","\u3139"]),xn("velar",["\u3131","\u3147"])]},lb=e=>e===ub?[]:Array.from(e),ub="__NO_CODA__",eo=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),il={cho:eo(Qr.cho),jung:eo(Qr.jung),jong:eo(Qr.jong)};il.jung.flat().forEach(({v:e})=>{for(const n of lb(e));}),new Set(il.cho.flat().map(e=>e.v));function cb(e,n=!0){const a=xa(e);o.useEffect(()=>{if(n)return zn(()=>{a.current?.()})},[n,a])}function wa(){const[e,n]=o.useState(null),a=o.useCallback(i=>n(i.getBoundingClientRect()),[]),r=o.useCallback(()=>n(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();n(u=>u?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function db(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),i=o.useRef(null);o.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=o.useCallback((d,c)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),s(c)},e)},[e]),u=o.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),s(null)},[]);return{payload:n,anchorRect:r,openAfterDelay:l,close:u}}function ll(e="warning"){const[n,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((m,C)=>{s(C),a(m),l(g=>g+1)},[]),d=o.useCallback(m=>u(m,"warning"),[u]),c=o.useCallback(m=>u(m,"normal"),[u]),p=o.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:i,showToast:u,showWarning:d,showNormal:c,clearToast:p}}function Aa(e){let n=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>n&&(n=r)}return n>0?`max(var(--z-menu, 1500), ${n+1})`:"var(--z-menu, 1500)"}function ka({computeStyle:e,onScroll:n="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,u]=o.useState({}),d=o.useRef(null),c=o.useRef(null),p=o.useCallback(()=>{d.current&&u(e(d.current.getBoundingClientRect(),d.current))},[e]);o.useEffect(()=>{if(!s)return;p();let g=c.current?.offsetHeight??0;g>0&&p();let v=0,f=null;typeof ResizeObserver<"u"&&c.current&&(f=new ResizeObserver(()=>{const A=c.current?.offsetHeight??0;if(A!==g){if(g=A,++v>4){f?.disconnect(),f=null;return}p()}}),f.observe(c.current));const y=A=>{const x=A.target;r&&x.closest?.(r)||d.current?.contains(x)||c.current?.contains(x)||i(!1)};document.addEventListener("mousedown",y),document.addEventListener("pointerdown",y);const w=A=>{c.current?.contains(A.target)||(n==="reposition"?p():n==="close"&&i(!1))};n!=="ignore"&&window.addEventListener("scroll",w,!0);const h=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const b=()=>{h(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",h),window.addEventListener("orientationchange",b)),()=>{f?.disconnect(),document.removeEventListener("mousedown",y),document.removeEventListener("pointerdown",y),n!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",h),window.removeEventListener("orientationchange",b)),_&&clearTimeout(_)}},[s,p,n,a,r]),o.useEffect(()=>{if(s)return zn(()=>i(!1))},[s]);const m=o.useCallback(()=>i(g=>!g),[]),C=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:C,style:l,triggerRef:d,menuRef:c}}function pb(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[u,d]=o.useState([]),[c,p]=o.useState(0),[m,C]=o.useState("idle"),[g,v]=o.useState(null),[f,y]=o.useState([]),[w,h]=o.useState(null),[_,b]=o.useState(0),A=o.useRef(0),x=o.useCallback(P=>{A.current=typeof P=="function"?P(A.current):P,b(A.current)},[]),N=o.useRef(r),B=o.useRef(s);o.useEffect(()=>{N.current=r,B.current=s},[r,s]);const k=o.useRef([]),E=()=>{k.current.forEach(clearTimeout),k.current=[]},S=(P,F)=>{k.current.push(setTimeout(F,P))};o.useEffect(()=>()=>E(),[]);const z=u[c]?.id??null,R=o.useRef(null),q=o.useCallback(()=>{E(),C("playing"),y([]),h(null),x(0);let P=0;e.forEach((F,D)=>{S(P,()=>{p(D),v(F.id),N.current?.(F)}),S(P+1e3,()=>{v(null),y(H=>[...H,F.id])}),P+=1300}),S(P,()=>{C("done"),B.current?.({score:0,total:e.length})})},[e,x]),j=o.useCallback((P,F)=>{if(F>=P.length){C("done"),B.current?.({score:A.current,total:P.length});return}R.current=null,p(F),h(null),C("playing"),v(P[F].id),N.current?.(P[F]),S(i,()=>{v(null),C("waiting")})},[i]),M=o.useCallback(()=>{E();const P=ya(e);d(P),x(0),y([]),j(P,0)},[e,j,x]),O=o.useCallback(()=>{n==="playback"?(d(e),q()):M()},[n,e,q,M]),Y=o.useCallback(()=>{E(),C("idle"),v(null),y([]),h(null),p(0),x(0),d([])},[x]),te=e.map(P=>P.id).join("|");o.useEffect(()=>(a?O():Y(),()=>E()),[n,te,a]);const V=o.useCallback(P=>{m!=="waiting"||n==="playback"||R.current===c||(R.current=c,h(P),P===u[c]?.id&&x(F=>F+1),n==="exam"?(C("playing"),S(400,()=>j(u,c+1))):(C("feedback"),S(l,()=>j(u,c+1))))},[m,n,u,c,j,l,x]),U=n==="playback"?e.length:u.length;return{bind:{activeSpeakerId:g,playedIds:f,selectedId:w,answerId:z,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:V},index:c,total:U,score:_,phase:m,done:m==="done",start:O,reset:Y}}function mb({title:e,description:n,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:u,titleColor:d,descriptionColor:c,className:p=""}){const m=s??i??"main",C=o.useRef(null),[g,v]=o.useState("main"),f=tn("(max-width: 767px)"),y=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const _=C.current;if(!_)return;const b=Zr(_),A=(x,N,B)=>{if(B!==void 0)_.style.setProperty(N,B),y.current[x]=!0;else if(y.current[x]){const k=b?.[x];k?_.style.setProperty(N,k):_.style.removeProperty(N),y.current[x]=!1}};A("title","--promo-banner-bg-title",d),A("description","--promo-banner-bg-description",c)},[d,c,m]),o.useLayoutEffect(()=>{const _=C.current;if(!_)return;const b=Zr(_);v(b?.actionVariant??"main")},[m]);const w=De("promo-banner",`promo-banner--${l}`,p),h=Qi[m];return t.jsxs("div",{ref:C,className:w,role:"note",children:[t.jsx(h,{}),t.jsxs("div",{className:"promo-banner__text",children:[t.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),n&&t.jsx("span",{className:"promo-banner__description body-3",children:n})]}),a&&r&&t.jsx(de,{htmlType:"button",size:40,variant:u??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...f?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function hb({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=be.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),d=u.length,[c,p]=o.useState(0),[m,C]=o.useState(!1),[g,v]=o.useState(!1),[f,y]=o.useState(!1),w=o.useRef(null),h=o.useRef(null),_=o.useRef(null),b=qr(),A=m||g||f,x=d>0?Math.min(c,d-1):0;o.useEffect(()=>{if(d<2||n<=0||A||b)return;const B=window.setInterval(()=>p(k=>(Math.min(k,d-1)+1)%d),n);return()=>window.clearInterval(B)},[d,n,A,b]);const N=B=>{h.current!=null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>{h.current=null,y(!1)},B)};return o.useEffect(()=>()=>{h.current!=null&&window.clearTimeout(h.current)},[]),o.useEffect(()=>{if(!f)return;const B=k=>{k.pointerType==="touch"&&(_.current&&_.current.contains(k.target)||(h.current!=null&&(window.clearTimeout(h.current),h.current=null),y(!1)))};return document.addEventListener("pointerdown",B,!0),()=>document.removeEventListener("pointerdown",B,!0)},[f]),d===0?null:t.jsxs("section",{ref:_,className:De("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:B=>{w.current=B.pointerType},onPointerDown:B=>{w.current=B.pointerType,B.pointerType==="touch"&&(h.current!=null&&(window.clearTimeout(h.current),h.current=null),y(!0))},onPointerUp:B=>{B.pointerType==="touch"&&N(5e3)},onPointerCancel:B=>{B.pointerType==="touch"&&N(5e3)},onMouseEnter:()=>{w.current!=="touch"&&C(!0)},onMouseLeave:()=>C(!1),onFocus:B=>{let k=!0;try{k=B.target.matches(":focus-visible")}catch{k=!0}v(k)},onBlur:B=>{B.currentTarget.contains(B.relatedTarget)||v(!1)},children:[t.jsx("div",{className:"top-banner__viewport",children:t.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${x*100}%)`},children:u.map((B,k)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":k!==x,...k!==x?{inert:!0}:{},children:B},k))})}),d>1&&t.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((B,k)=>t.jsx("button",{type:"button",className:`top-banner__dot${k===x?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:k+1,defaultValue:`${d}\uAC1C \uC911 ${k+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":k===x,onClick:()=>p(k)},k))})]})}function Cb({title:e,body:n,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:d}=be.useTranslation();return t.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${u}`.trim(),role:"listitem",children:[t.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:c=>{if(c.key==="Enter"||c.key===" ")c.preventDefault(),r?.();else if(c.key==="ArrowDown"||c.key==="ArrowUp"){c.preventDefault();const p=c.currentTarget.closest('[role="list"]');if(!p)return;const m=Array.from(p.querySelectorAll("[data-accordion-header]")),C=m.indexOf(c.currentTarget);(c.key==="ArrowDown"?m[C+1]:m[C-1])?.focus()}},children:[s&&t.jsx("div",{className:"accordion-item__avatar",children:s}),t.jsx("div",{className:`accordion-item__title ${i}`,children:e}),t.jsx("div",{className:"accordion-item__chevron",children:t.jsx(Ke,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&t.jsx("div",{className:`accordion-item__body ${l}`,children:typeof n=="string"?t.jsx("p",{children:n}):n})]})}function fb({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:n}),u=(d,c)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&c===i.index;return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((d,c)=>t.jsx(Cb,{title:d.title,body:d.body,avatar:d.avatar,open:u(d,c),onToggle:()=>l(u(d,c)?{index:-1}:{index:c,id:d.id}),bodyClassName:s},d.id??c))})}function gb(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("polyline",{points:"2,6 5,9 10,3"})})}function bb(){return t.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),t.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function yb(){return t.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:t.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function yt(e){const{t:n}=be.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:x,position:N="top-right",onClick:B,animate:k=!1}=e,E=A??"check",S=x!==void 0?"number":E,z=typeof r=="number"?r:32,R=De("circle-badge",`circle-badge--${S}`,`circle-badge--${N}`,`circle-badge--${z}`,k?"circle-badge--animate":"",B?"circle-badge--clickable":"",s),q=x!==void 0?n("badge.nthSelected",{n:x,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:n("badge.selected","\uC120\uD0DD\uB428"),remove:n("badge.remove","\uC81C\uAC70"),minus:n("badge.exclude","\uC81C\uC678")}[E];return t.jsxs("span",{className:R,onClick:B,onKeyDown:B?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??q,"aria-hidden":l||void 0,role:B?"button":l?void 0:"img",tabIndex:B?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&t.jsx(gb,{}),x===void 0&&E==="remove"&&t.jsx(bb,{}),x===void 0&&E==="minus"&&t.jsx(yb,{})]})}const{label:u,children:d,variant:c="default",fill:p="filled",minWidth:m,iconLeft:C,iconRight:g,color:v}=e,f=typeof r=="number"?"medium":r??"medium",y={small:"caption-2b",medium:"body-3b",large:"body-2b"}[f]??"body-2b",w={small:12,medium:14,large:16}[f]??14,h=De("badge",`badge--${c}`,`badge--${f}`,p!=="filled"?`badge--${p}`:"",y,s),_=v?.startsWith("--")?`var(${v})`:v,b=m!==void 0||_?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},..._?{"--badge-color":_}:{}}:void 0;return t.jsxs("span",{className:h,style:b,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[C&&t.jsx(Ke,{icon:C,size:w,className:"badge__icon"}),u??d,g&&t.jsx(Ke,{icon:g,size:w,className:"badge__icon"})]})}function Ba({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:s}=be.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),d=o.useMemo(()=>{const y=[{title:null,columns:e}];let w=e;for(const h of l){const _=w?.[h.ci]?.items?.[h.ii];if(!_||!Array.isArray(_.children)||!_.children.length)break;w=[{title:null,items:_.children}],y.push({title:_.label||null,columns:w})}return y},[e,l]),c=d[d.length-1],p=d.length-1,m=o.useCallback(()=>u(y=>y.slice(0,Math.max(0,Math.min(y.length,p)-1))),[p]),C=o.useRef(null),g=o.useRef(null),v=d.length;o.useEffect(()=>{g.current||(g.current=document.activeElement);let y=0,w=0;const h=()=>{const _=C.current?.querySelector("button:not([disabled])");if(_&&_.offsetParent){_.focus({preventScroll:!0});return}w++<20&&(y=requestAnimationFrame(h))};return y=requestAnimationFrame(h),()=>cancelAnimationFrame(y)},[v]),o.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const f=o.useCallback((y,w,h)=>{if(y){if(Array.isArray(y.children)&&y.children.length){u(_=>[..._.slice(0,p),{ci:w,ii:h}]);return}try{typeof y.onClick=="function"&&y.onClick()}catch{}try{y&&y.closeOnSelect&&typeof n=="function"&&n()}catch{}}},[n,p]);return t.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(d.length>1||c.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?t.jsx(de,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,t.jsx("div",{className:"tooltip-menu__title button-1",children:c.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:C,children:c.columns&&c.columns.map((y,w)=>t.jsxs("div",{className:"tooltip-menu__column",children:[y.title?t.jsx("div",{className:"tooltip-menu__column-title body-3",children:y.title}):null,t.jsx("div",{className:"tooltip-menu__items",children:(y.items||[]).map((h,_)=>t.jsxs(o.Fragment,{children:[h.separatorBefore&&_>0&&t.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),t.jsx(de,{htmlType:"button",className:"tooltip-menu__item",size:i,type:h.label?"bar":"dot",icon:h.selected?"check":h.icon||"none",rightIcon:Array.isArray(h.children)&&h.children.length?"chevron-right":h.badgeCount?t.jsx(yt,{type:"dot",position:"inline",number:Math.min(h.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:h.label,ariaLabel:h.label&&h.badgeCount&&h.badgeCount>0?s("nav.badgeLabel",{label:h.label,count:h.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):h.label,onClick:()=>f(h,w,_),selected:h.selected,disabled:h.disabled,showTooltipInfo:h.tooltip||!1,useBorder:!1,align:"left"})]},_))})]},w))})]})}const ul=".content-area";function to(e,n="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(ul);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&pn("nav-scroll-container",`[${n}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${ul}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const no=52,Ya=10,cl=e=>e&&e>0?e:0;function dl({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=be.useTranslation(),d=r==="manager"?"malgwi":"manager",c=r==="manager"?"arrow-left":"arrow-right",p=r==="manager"?u("nav.modeLabelMalgwi","\uB9D0\uADC0"):u("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=o.useRef(null),[C,g]=o.useState(0),v=e.length;o.useEffect(()=>{const P=m.current;if(!P)return;const F=()=>{const H=typeof getComputedStyle=="function"?getComputedStyle(P):null,L=P.clientWidth-(parseFloat(H?.paddingLeft??"")||0)-(parseFloat(H?.paddingRight??"")||0),I=P.querySelector(".bottom-nav__left"),$=I?.nextElementSibling,K=(I?.offsetWidth??0)+(I&&$?.classList.contains("bottom-nav__divider")?$.offsetWidth:0);g(Math.max(0,L-K))};if(F(),typeof ResizeObserver>"u")return;const D=new ResizeObserver(F);return D.observe(P),()=>D.disconnect()},[]);const f=no+1,y=P=>Math.max(0,Math.floor((P+Ya)/(no+Ya))),w=v*(no+Ya)-Ya<=C,h=C<=0||i.length===0&&w?v:Math.min(v,y(C-f)),_=C>0&&h<v,b=_?h:v,A=e.slice(0,b),x=e.slice(b),N=_||i.length>0,B=o.useCallback((P,F)=>({position:"fixed",bottom:window.innerHeight-P.top+8,right:window.innerWidth-P.right,zIndex:Aa(F)}),[]),k=o.useId(),{open:E,toggle:S,close:z,style:R,triggerRef:q,menuRef:j}=ka({computeStyle:B,onScroll:"ignore",onResize:"reposition"}),M=o.useCallback((P,F)=>F>0?u("nav.badgeLabel",{label:P,count:F,defaultValue:"{{label}}, {{count}}\uAC1C"}):P,[u]),O=o.useCallback((P,F)=>F>0?u("nav.badgeInsideLabel",{label:P,count:F,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):P,[u]),Y=o.useCallback(()=>s?.(d),[s,d]),te=o.useMemo(()=>x.find(P=>!!P.key&&P.key===n)??i.find(P=>P.selected||P.key&&P.key===n),[x,n,i]),V=o.useMemo(()=>[{items:[...x.map(P=>({label:P.label,icon:P.icon,badgeCount:P.badgeCount,selected:!!P.key&&P.key===n,closeOnSelect:!0,disabled:P.state==="disabled",onClick:()=>{P.state!=="disabled"&&(P.key&&a&&(a(P.key),to(l,"BottomNav")),z())}})),...i.map(P=>({label:P.label,icon:P.icon,badgeCount:P.badgeCount,selected:P.selected??(!!P.key&&P.key===n),closeOnSelect:!0,onClick:()=>{P.onClick?.(),z()}}))]}],[x,i,n,a,z]),U=[...x,...i].reduce((P,F)=>P+cl(F.badgeCount),0);return t.jsxs("nav",{className:"bottom-nav",ref:m,"aria-label":u("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__left",children:t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:c,ariaLabel:p,className:"bottom-nav-item",onClick:Y})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",children:A.map((P,F)=>{const D=cl(P.badgeCount);return t.jsxs("span",{className:"bottom-nav__slot",children:[t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:P.icon,ariaLabel:M(P.label,D),selected:!!P.key&&P.key===n,disabled:P.state==="disabled",className:"bottom-nav-item",onClick:()=>{P.key&&(a?.(P.key),to(l,"BottomNav"))}}),D>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(yt,{type:"dot",position:"top-right",number:Math.min(D,99),size:24})})]},P.key??`__slot-${F}`)})}),N&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),t.jsx("div",{className:"bottom-nav__right",children:t.jsxs("div",{ref:q,className:"bottom-nav__slot",children:[t.jsx(de,{htmlType:"button",size:52,type:"dot",icon:te?.icon??"ellipsis",ariaLabel:O(te?.label??u("nav.more","\uB354\uBCF4\uAE30"),U),selected:!!te,className:"bottom-nav-item",onClick:S,"aria-expanded":E,"aria-controls":E?k:void 0}),U>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(yt,{type:"dot",position:"top-right",number:Math.min(U,99),size:24})}),E&&Xt.createPortal(t.jsx("div",{id:k,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:R,ref:j,children:t.jsx(Ba,{columns:V,onClose:z})}),document.body)]})})]})]})}function pl(e){if(typeof e!="string")return!1;let n="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(n+=r)}if(!n)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(n);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ml(e,n,a){return a&&a>0?e("nav.badgeLabel",{label:n,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):n}function vb(e){const{t:n}=be.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:u,onFeedback:d,onAccount:c}=e||{},p="default";return s||i||l||u||d||c?t.jsxs("div",{className:"side-nav__footer",children:[s&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"terminal",ariaLabel:n("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&t.jsxs("span",{className:"side-nav__notification-wrap",children:[t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bell",ariaLabel:ml(n,n("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&t.jsx(yt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"settings",ariaLabel:n("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),u&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"message-circle-question-mark",ariaLabel:n("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:u,selected:a==="help"}),d&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bug",ariaLabel:n("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),c&&t.jsx(de,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:c,selected:a==="account"})]}):null}function hl(e){const{t:n}=be.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:d,state:c,labelStyle:p}=e||{},m=a?.key??r??"",C=a?.label??s??"",g=a?.icon??i??"",v=a?.badge??0,f=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Ke,{icon:g,label:typeof C=="string"?C:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),y=c==="disabled",w=`side-nav__item ${l?"active":""} ${c||""} ${y?"disabled":""} ${a?.child?"side-nav__item--child":""}`,h=o.useCallback(_=>{if(y)return;const b=_.detail>0;if(b)try{_.currentTarget.blur()}catch{}u?.(m,_.currentTarget,b)},[y,m,u]);return t.jsxs("button",{type:"button",className:w,onClick:h,"aria-label":typeof C=="string"?ml(n,C,v):void 0,"aria-current":l?"page":void 0,style:d,"aria-disabled":y,children:[f,t.jsx("span",{className:"side-nav__label button-1 f",style:p,children:C}),v>0&&t.jsx(yt,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),c==="loading"&&t.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":n("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Cl(e){const{t:n}=be.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g,scrollContainer:v}=e||{},f=C==="manager",y=o.useCallback(()=>g?.(f?"malgwi":"manager"),[g,f]),w=o.useRef(null),[h,_]=o.useState(null);o.useEffect(()=>{const B=w.current;if(!B)return;const k=()=>{const{scrollHeight:S,clientHeight:z,scrollTop:R}=B;if(S<=z+1){_(null);return}const q=Math.max(24,z/S*z),j=z-q,M=S-z;_({top:Math.round(R/M*j),height:Math.round(q)})};k(),B.addEventListener("scroll",k,{passive:!0});const E=typeof ResizeObserver<"u"?new ResizeObserver(k):null;E?.observe(B);for(const S of Array.from(B.children))E?.observe(S);return()=>{B.removeEventListener("scroll",k),E?.disconnect()}},[a]);const b=o.useRef(null),A=o.useCallback(B=>{const k=w.current;k&&(B.preventDefault(),b.current={y:B.clientY,top:k.scrollTop},B.currentTarget.setPointerCapture(B.pointerId))},[]),x=o.useCallback(B=>{const k=w.current,E=b.current;!k||!E||(k.scrollTop=E.top+(B.clientY-E.y)*(k.scrollHeight/k.clientHeight))},[]),N=o.useCallback(B=>{b.current=null,B.currentTarget.hasPointerCapture(B.pointerId)&&B.currentTarget.releasePointerCapture(B.pointerId)},[]);return t.jsxs("nav",{ref:w,"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[h&&t.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:t.jsx("div",{className:"side-nav__scroll-thumb",style:{top:h.top,height:h.height},onPointerDown:A,onPointerMove:x,onPointerUp:N,onPointerCancel:N})}),t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(B=>!B.section&&(B.key||B.label)).map((B,k)=>t.jsxs(o.Fragment,{children:[B.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx(hl,{item:B,active:!!B.key&&B.key===r,state:B.disabled?"disabled":void 0,onClick:(E,S,z)=>{if(B.disabled)return;if(B.href){if(pl(B.href)&&window.open(B.href,"_blank","noopener,noreferrer"),z)try{S?.blur()}catch{}return}if(s?.(B.key),to(v,"SideNav"),!z)return;try{S?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const R=document.querySelector(".header");if(R){const q=typeof R.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&q&&R.matches(":hover"))){R.classList.add("header--force-collapsed");const j=()=>{R.classList.remove("header--force-collapsed"),R.removeEventListener("mouseenter",j)};R.addEventListener("mouseenter",j)}}}})]},B.key??`side-nav__item-${k}`)),g&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),g&&t.jsx(hl,{item:{key:"__mode-switch__",label:f?n("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):n("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:f?"arrow-left":"arrow-right"},onClick:y})]}),t.jsx(vb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m})]})}var Za='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',ao='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',xb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function fl({appMode:e}){const{t:n}=be.useTranslation(),a=e==="manager",r=a?ao:Za,s=xb;return t.jsxs("div",{className:"brand-identity__root","aria-label":n("header.biArea","BI \uC601\uC5ED"),children:[t.jsx("img",{src:s,alt:n("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),t.jsx("img",{src:r,alt:a?n("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):n("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function gl({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g,scrollContainer:v}){const{t:f}=be.useTranslation(),y=tn("(max-width: 767px)"),w=o.useMemo(()=>(a??[]).filter(R=>!R.section&&(R.key||R.label)).map(R=>({key:R.key,label:typeof R.label=="string"?R.label:void 0,icon:R.icon,state:R.disabled?"disabled":void 0,badgeCount:R.badge})),[a]),h=o.useCallback(R=>{const q=a?.find(j=>j.key===R);if(!q?.disabled){if(q?.href){pl(q.href)&&window.open(q.href,"_blank","noopener,noreferrer");return}n?.(R)}},[a,n]),_=o.useMemo(()=>{const R=[];return l&&R.push({key:"debug",icon:"terminal",label:f("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&R.push({key:"notifications",icon:"bell",label:f("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),c&&R.push({key:"settings",icon:"settings",label:f("nav.settings","\uC124\uC815"),onClick:c}),p&&R.push({key:"help",icon:"message-circle-question-mark",label:f("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),m&&R.push({key:"feedback",icon:"bug",label:f("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:m}),d&&R.push({key:"account",icon:"user-round",label:f("nav.account","\uACC4\uC815"),onClick:d}),R},[f,l,u,c,p,m,d,i]),b=o.useCallback((R,q)=>({position:"fixed",top:R.bottom+8,right:Math.max(8,window.innerWidth-R.right),zIndex:Aa(q)}),[]),A=o.useId(),{open:x,toggle:N,close:B,style:k,triggerRef:E,menuRef:S}=ka({computeStyle:b,onScroll:"ignore",onResize:"reposition"}),z=o.useMemo(()=>[{items:_.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===e),closeOnSelect:!0,onClick:()=>{R.onClick?.(),B()}}))}],[_,e,B]);return t.jsxs("aside",{className:`header${C==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(fl,{appMode:C}),t.jsxs("div",{className:"header__menu-button",ref:E,children:[t.jsx(de,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&i&&i>0?f("nav.badgeInsideLabel",{label:f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:N,"aria-expanded":x,"aria-controls":x?A:void 0}),!!u&&!!i&&i>0&&t.jsx(yt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&Xt.createPortal(t.jsx("div",{id:A,role:"group","aria-label":f("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:k,ref:S,children:t.jsx(Ba,{columns:z,onClose:B})}),document.body)]})]}),t.jsx(Cl,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:n,unreadCount:i,onDebug:l,onNotification:u,onAccount:d,onSetting:c,onHelp:p,onFeedback:m,appMode:C,onAppModeChange:g}),y&&t.jsx(dl,{items:w,activeKey:e??void 0,onChange:h,scrollContainer:v,appMode:C,onAppModeChange:g})]})}const _b=gl,wb=()=>Et.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function bl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const n=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(n))return Qn(`${n.toLocaleString("ko-KR")}\uC6D0`)}return Qn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Ab(e){const n=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(n)?"manager":"speechear"}function kb(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const n=(e.code??"").match(/(\d+)(d|y)\b/i);if(n)return n[2].toLowerCase()==="y"?`${n[1]}\uB144`:`${n[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const s=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return s?s[2].toLowerCase()==="year"?`${s[1]}\uB144`:`${s[1]}\uC77C`:a||wb()}function Bb(e){const n=(e??"").match(/(\d+)(d|y)\b/i);if(!n)return null;const a=Number(n[1]);return n[2].toLowerCase()==="y"?a*365:a}function yl(e){return{type:e.type??Ab(e),plan:kb(e),label:e.label,price:bl(e.price),originalPrice:bl(e.originalPrice),discountLabel:e.discountLabel}}var Nb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Db='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Eb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Sb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',jb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Tb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',vl='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const qn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},ro=new WeakMap;function Mb(e){if(e)return ro.get(e)}function _n(e,n){e&&(e.style.setProperty(qn.text,n.text),e.style.setProperty(qn.sub,n.sub),n.copyrightColor&&e.style.setProperty(qn.copyright,n.copyrightColor),ro.set(e,n))}function wn(e){e&&(e.style.removeProperty(qn.text),e.style.removeProperty(qn.sub),e.style.removeProperty(qn.copyright),ro.delete(e))}const xl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function _l(e={}){const n=bt(xl,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-two-circle__c1"}),t.jsx("div",{className:"pass-card-bg-two-circle__c3"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${vl}")`}})]})}const wl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var Na='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Lb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},$b=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Al(e={}){const n=bt(Lb,_n,wn),a="var(--color-main)",r=270,s=170;return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[t.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:$b.map(({scale:i,opacity:l},u)=>t.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:t.jsx("path",{d:wl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Rb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Pb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ib(e={}){const n=bt(Rb,_n,wn),a="#ffffff",r=270,s=170;return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[t.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Pb.map(({scale:i,opacity:l},u)=>t.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:t.jsx("path",{d:wl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${vl}")`}})]})}const Fb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Ob(e={}){const n=bt(Fb,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),t.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Hb={Logo_speechear_kr:{"":Za,_white:Nb,_textWhite:Db,_black:Eb},Logo_speechearManager_kr:{"":ao,_white:Sb,_textWhite:jb,_black:Tb}};function zb(e,n){if(e)return Hb[e]?.[n??""]??void 0}const Vb={speechear:Za,manager:ao},Wb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},kl=10;function Bl(e,n){if(e<=0)return n("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return n("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return n("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?n("passCard.remainingMinute",{n:s}):n("passCard.remainingSecond",{n:Math.floor(e)})}function qb(e,n,a){if(e==="manager"){const r=/년/.test(n)||/yr|year/i.test(n)||/1년|365/.test(n),s=a==="\uC624\uD508\uD2B9\uAC00"||a===Et.t("passCard.specialLabel");return r?t.jsx(Ob,{}):s?t.jsx(Ib,{}):t.jsx(Al,{})}return t.jsx(_l,{})}function Nl({ariaLabel:e,product:n,showPrice:a=!1,plan:r,type:s,endDate:i,remainingSeconds:l,endInclusive:u=!1,state:d="active",bg:c,bgOnly:p=!1,textColor:m,subColor:C,copyrightColor:g,logoSrc:v,label:f,price:y,originalPrice:w,discountLabel:h,onUse:_,onRefund:b,onDelete:A}){const{t:x}=be.useTranslation(),N=n?yl(n):void 0,B=s??N?.type??"speechear",k=r??N?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=f??N?.label,S=y??(a?N?.price:void 0),z=w??(a?N?.originalPrice:void 0),R=h??N?.discountLabel,q=o.useMemo(()=>{if(S)return null;const W=n?.durationDays??Bb(n?.code);if(!W||W<=0)return l!=null?{percent:null,remainingLabel:Bl(l,x)}:null;const Q=W*86400;let se;if(l!=null)se=l;else if((d==="active"||d==="expired")&&i){const me=new Date(i).getTime();if(Number.isNaN(me))return null;const re=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),Ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(va()),ge=Math.round(re&&Ce?(Date.UTC(+re[1],+re[2]-1,+re[3])-Date.UTC(+Ce[1],+Ce[2]-1,+Ce[3]))/864e5:(me-Date.now())/864e5);se=Math.max(0,u?ge+1:ge)*86400}else d==="expired"?se=0:se=Q;const ke=Math.max(0,Math.min(100,Math.floor(Math.min(se,Q)/Q*100)));return d==="pending"&&ke>=100?null:{percent:ke,remainingLabel:d==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):Bl(se,x)}},[S,d,i,l,u,n?.durationDays,n?.code,x]),j=o.useRef(null),[M,O]=o.useState({}),[Y,te]=o.useState(null),V=!!(_||b||A),U=o.useRef(!1),P=o.useRef(void 0),[F,D]=o.useState(v);o.useLayoutEffect(()=>{D(v)},[v]),o.useLayoutEffect(()=>{const W=j.current;W&&(m!==void 0&&W.style.setProperty("--pass-card-text",m),C!==void 0&&W.style.setProperty("--pass-card-sub",C),g!==void 0&&W.style.setProperty("--pass-card-copyright",g))},[m,C,g]),o.useLayoutEffect(()=>{const W=j.current;if(!W)return;const Q=Mb(W);if(!v){const se=Wb[B],ke=d==="expired"?"_black":Q?.logoColor??"",me=zb(se,ke);D(me)}},[c,v,B,d]);const H=W=>{const Q=j.current;if(!Q)return null;const{left:se,top:ke,width:me,height:re}=Q.getBoundingClientRect(),Ce=(W.clientX-se)/me-.5;return{rotateX:-((W.clientY-ke)/re-.5)*kl,rotateY:Ce*kl}},L=(W,Q)=>{const se=Q*-.7,ke=W*.7+10,me=20+(Math.abs(W)+Math.abs(Q))*.4;return`${se}px ${ke}px ${me}px rgba(0, 0, 0, 0.18)`},I=o.useCallback(W=>{if(na())return;U.current=!0,clearTimeout(P.current),P.current=setTimeout(()=>{U.current=!1},200);const Q=H(W);Q&&O({transform:`perspective(800px) rotateX(${Q.rotateX}deg) rotateY(${Q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(Q.rotateX,Q.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),$=o.useCallback(W=>{if(na())return;const Q=H(W);if(!Q)return;const se=U.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";O({transform:`perspective(800px) rotateX(${Q.rotateX}deg) rotateY(${Q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(Q.rotateX,Q.rotateY),transition:se})},[]),K=o.useCallback(()=>{clearTimeout(P.current),U.current=!1,O({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ne=o.useCallback(()=>te(null),[]),J=o.useMemo(()=>{const W=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),Q=k.replace("\uC774\uC6A9\uAD8C","").replace(W==="\uC774\uC6A9\uAD8C"?"":W,"").trim(),se=Q.match(/^(.*?)(일|년)$/);return se?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"h0 pass-card__plan-number",children:se[1]}),t.jsx("span",{className:"h5b pass-card__plan-unit",children:se[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):t.jsx("span",{className:"h0",children:Q})},[k,x]),ae=o.useMemo(()=>{const W=Qn(S);if(!W)return null;const Q=W.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!Q)return t.jsx("span",{className:"h1",children:W});const[,se,ke,me]=Q;return t.jsxs(t.Fragment,{children:[se&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:se}),t.jsx("span",{className:"h1 pass-card__price-amount",children:ke}),me.trim()&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:me.trim()})]})},[S]),ue=o.useCallback(()=>{V&&te(W=>{if(W)return null;const Q=j.current?.getBoundingClientRect();if(!Q)return null;const se=50;return{left:Q.left,right:Q.right,width:Q.width,height:Q.height,x:Q.x,y:Q.y+se,top:Q.top+se,bottom:Q.bottom+se}})},[V]),ie=o.useCallback(W=>{V&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),ue())},[V,ue]),xe=[{items:[..._?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{_(),te(null)},closeOnSelect:!0}]:[],...b?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{b(),te(null)},closeOnSelect:!0}]:[],...A?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),te(null)},closeOnSelect:!0}]:[]]}];return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pass-card-frame",children:t.jsxs("div",{ref:j,className:`pass-card pass-card--${d}${V?" pass-card--clickable":""}`,style:M,onMouseEnter:I,onMouseMove:$,onMouseLeave:K,onPointerUp:W=>{W.pointerType==="touch"&&K()},onPointerCancel:W=>{W.pointerType==="touch"&&K()},onClick:ue,onKeyDown:V?ie:void 0,role:V?"button":void 0,tabIndex:V?0:void 0,"aria-label":e,"aria-haspopup":V?"menu":void 0,"aria-expanded":V?!!Y:void 0,children:[c??qb(B,k,E),!p&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pass-card__top",children:t.jsxs("div",{className:"pass-card__top-left",children:[t.jsx("img",{src:F??Vb[B],className:"pass-card__logo",alt:B==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),t.jsxs("div",{className:"pass-card__plan",children:[t.jsx("div",{children:J}),t.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?x("passCard.labeledPlan",{label:E}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),S?t.jsxs("div",{className:"pass-card__price-area",children:[R&&t.jsx("span",{className:"pass-card__discount body-3",children:R}),t.jsxs("div",{className:"pass-card__price",children:[z&&t.jsx("span",{className:"pass-card__price-original body-3",children:Qn(z)}),ae]})]}):q?t.jsxs("div",{className:"pass-card__usage",children:[t.jsx("span",{className:"h5b pass-card__usage-remaining",children:q.remainingLabel}),q.percent!=null&&t.jsxs("span",{className:"pass-card__usage-percent",children:[t.jsx("span",{className:"h1 pass-card__usage-value",children:q.percent}),t.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):t.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),Y&&t.jsx(rn,{anchorRect:Y,onClose:ne,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:t.jsx(Ba,{columns:xe,onClose:ne,size:"small"})})]})}const Ub={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Gb(e={}){const n=`passcard-sound-line-grad-${o.useId()}`,a=bt(Ub,_n,wn);return t.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[t.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:n,x1:"0",y1:"0",x2:"1",y2:"0",children:[t.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),t.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),t.jsx("g",{transform:"translate(25, 45)",children:t.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${n})`,strokeWidth:"50",strokeLinecap:"round"})})]}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}const Kb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Yb(e={}){const n=bt(Kb,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),t.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}function Zb(e,n){if(e){if(n==="manager_pro")return t.jsx(Yb,{});if(n==="manager_standard")return t.jsx(Gb,{});if(n==="manager_lite")return t.jsx(Al,{})}}function Xb(e){const n=Qn(e);if(!n)return null;const a=n.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return n;const[,r,s,i]=a;return t.jsxs(t.Fragment,{children:[r&&t.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&t.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Jb(e){const{t:n}=be.useTranslation(),a=n("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=n("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:u}=e||{},d=b=>!!b&&!!u?.includes(b),c=b=>b.onceOnly??/오픈\s*특가/.test(b.label??""),p=(s.tiers||[]).some(b=>c(b)&&d(b.code)),m=b=>{const A=b.prices?b.prices[l]:b.price;return A?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===A):!1},C=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",g=n("payment.plan.freePrice","\uBB34\uB8CC"),v=n("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=b=>b.prices?b.prices[l]:b.price,y=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const A=f(b);return A==="\uBB34\uB8CC"||A===g||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),w=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const A=f(b);return A==="\uBB38\uC758"||A===v}),h=s.group==="org",_=h?"manager":"speechear";return t.jsxs("div",{className:"payment-plan__card",style:{borderColor:C,"--plan-color":C},children:[s.cardBadge&&t.jsx("div",{className:"payment-plan__card-badge",children:t.jsx(yt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),t.jsxs("div",{className:"payment-plan__title",children:[t.jsx("p",{className:"payment-plan__quote body-3b",style:{color:C},children:s.quote||"\xA0"}),t.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),t.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),t.jsxs("div",{className:"payment-plan__box",children:[t.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),t.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((b,A)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Ke,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},A))})]}),t.jsxs("div",{className:"payment-plan__box",children:[t.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),t.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((b,A)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Ke,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},A))})]}),t.jsx("div",{className:"payment-plan__card-pricing",children:y?null:w?t.jsx(de,{htmlType:"button",className:"payment-plan__contact-button",label:n("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>s.tiers?.[0]&&i?.({...s.tiers[0],productId:s.id,productTitle:s.title})}):t.jsx(t.Fragment,{children:t.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(b=>{const A=b.label||a,x=c(b),N=x||b.openPromo===!0,B=A.replace(/^오픈\s*특가\s*/,"")||a,k=b.prices?b.prices[l]:b.price,E=b.badge?N?`${r}
|
|
852
|
+
${b.badge}`:b.badge:void 0;if(x&&d(b.code))return null;if(!b.badge&&!p)return m(b)?null:t.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${b.highlight?" payment-plan__pricing-row--highlight":""}`,children:[t.jsx("div",{className:"payment-plan__pricing-row-title",children:t.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:b.label})}),t.jsx("div",{className:"payment-plan__pricing-row-price",children:t.jsx("span",{className:"payment-plan__pricing-current h1",children:Xb(k)})})]},b.id);const S=s.tier??(h?s.title:void 0),z=t.jsx(Nl,{showPrice:!0,product:{type:_,code:b.code,name:B,label:S,price:k,originalPrice:b.originals?.[l]??void 0,discountLabel:E},bg:Zb(h,s.id)}),R=()=>i?.({...b,productId:s.id,productTitle:s.title,preview:z});return t.jsx("div",{className:"payment-plan__pricing-card",onClick:R,onKeyDown:i?q=>{q.target===q.currentTarget&&(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),R())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:z},b.id)})})})})]})}function Qb({variant:e="default"}){return t.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),t.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var oo='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Dl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function e4(){const e=bt(Dl,_n,wn);return t.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${oo}")`}})})}const El={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function t4(e={}){const n=bt(El,_n,wn);return t.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[t.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),t.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),t.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Na}")`}})]})}function Sl({keys:e,anchor:n="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return t.jsx("span",{className:De("shortcut-badge",`shortcut-badge--${n}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>t.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&t.jsx("span",{className:"shortcut-badge__plus",children:"+"}),t.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const Da=(e,n,a)=>e+(n-e)*a;function n4({speakers:e,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:u=!1,pulseSelected:d=!1,pulseSelectedDuration:c,pulseScale:p,clickable:m=!1,onSelectSpeaker:C,buttonSize:g=40,showIcon:v=!0,onCenterClick:f,centerLabel:y,centerDisabled:w=!1,centerAttention:h=!1,shortcutAnchor:_="top-right",shortcutScale:b,scaleShortcut:A=!1}){const{t:x}=be.useTranslation(),N=Math.max(0,Math.min(1,a)),B=n/2,k=110/300,E=.18,S=W=>n*(k+(W-1)*E),z=W=>{const Q=S(W.row??1),se=W.angleDeg*Math.PI/180;return{x:B+Q*Math.cos(se),y:B+Q*Math.sin(se)}},R=Math.max(...e.map(W=>W.row??1),1),q=n*.08,j=n*.1,M=n*.24,O=n-2*q,Y=n-j-M,te=n-M/2,V=o.useMemo(()=>[...new Set(e.map(W=>W.deg))].sort((W,Q)=>W-Q),[e]),U=V.length,P=Math.max(68,U>1?O/(U-1):0),F=o.useMemo(()=>new Map(V.map((W,Q)=>[W,Q])),[V]),D=W=>{const Q=F.get(W.deg)??0,se=B+(Q-(U-1)/2)*P,ke=R>1?Math.min(68,Y/(R-1)):0,me=ke*(R-1),re=j+(Y-me)/2,Ce=R===1?j+Y*.4:re+(R-(W.row??1))*ke;return{x:se,y:Ce}},H=W=>{const Q=z(W),se=D(W);return{x:Da(Q.x,se.x,N),y:Da(Q.y,se.y,N)}},L={x:B,y:Da(B,te,N)},I=Math.round(g*1.2),$=Math.round(Math.max(16,Math.min(80,g*.7))),K=[],ne=new Map;for(const W of e){const Q=W.row??1;ne.has(Q)||ne.set(Q,[]),ne.get(Q).push(W)}for(const[W,Q]of ne.entries()){if(Q.length<2)continue;const se=[...Q].sort((Fe,st)=>Fe.deg-st.deg),ke=se.map(Fe=>H(Fe)),me=se.map(Fe=>Fe.deg),re=me[me.length-1]-me[0],Ce=re/(me.length-1),ge=360-re,Ee=se.length>=3&&Ce>0&&ge<=Ce*1.5,Re=Math.round(S(W)*1e3)/1e3,Le=(Fe,st,et,Ye)=>{const Se=(st.angleDeg-Fe.angleDeg+540)%360-180;if(Se===0)return`L ${Ye.x} ${Ye.y}`;if(N===0)return`A ${Re} ${Re} 0 0 ${Se>0?1:0} ${Ye.x} ${Ye.y}`;const Ae=(Fe.angleDeg+Se/2)*Math.PI/180,ee={x:B+Re*Math.cos(Ae),y:B+Re*Math.sin(Ae)},fe={x:(et.x+Ye.x)/2,y:(et.y+Ye.y)/2},ze={x:Da(ee.x,fe.x,N),y:Da(ee.y,fe.y,N)},Be={x:2*ze.x-fe.x,y:2*ze.y-fe.y};return`Q ${Be.x} ${Be.y} ${Ye.x} ${Ye.y}`},Je=Ee?[...se,se[0]]:se,Qe=Ee?[...ke,ke[0]]:ke;let qe=`M ${Qe[0].x} ${Qe[0].y}`;for(let Fe=1;Fe<Qe.length;Fe++)qe+=" "+Le(Je[Fe-1],Je[Fe],Qe[Fe-1],Qe[Fe]);K.push({key:`arc-${W}`,d:qe})}const J=o.useMemo(()=>new Set(s??[]),[s]),ae=W=>({idle:"",active:x("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:x("soundCompass.state.played","\uB4E4\uC74C"),correct:x("soundCompass.state.correct","\uC815\uB2F5"),wrong:x("soundCompass.state.wrong","\uC624\uB2F5")})[W],ue=W=>{if(r===W.id)return"active";if(u){if(W.id===l)return"correct";if(W.id===i&&i!==l)return"wrong"}return J.has(W.id)?"played":"idle"},ie=W=>r===W.id?"loop":u?W.id===l?"loop":null:d&&W.id===i?"once":null,xe=(W,Q)=>{switch(W){case"played":case"correct":return t.jsx(ss,{size:Q});case"wrong":return t.jsx(fs,{size:Q});default:return t.jsx(Cs,{size:Q})}};return t.jsx("div",{className:"sound-compass",children:t.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:n,height:n},children:[t.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"sound-compass__svg",children:[N===0&&e.map(W=>{const{x:Q,y:se}=H(W);return t.jsx("line",{x1:L.x,y1:L.y,x2:Q,y2:se,stroke:"#dde3ec",strokeWidth:"1"},W.id)}),K.map(W=>t.jsx("path",{d:W.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},W.key))]}),h&&!w&&t.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:I,height:I,left:L.x-I/2,top:L.y-I/2}}),f?t.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${w?" sound-compass__center--disabled":""}`,style:{width:I,height:I,left:L.x,top:L.y},"aria-label":y,"aria-disabled":w||void 0,tabIndex:w?-1:0,onClick:w?void 0:f,children:t.jsx(br,{size:$,color:"currentColor",strokeWidth:1.5})}):t.jsx("div",{className:"sound-compass__center",style:{width:I,height:I,left:L.x,top:L.y},children:t.jsx(br,{size:$,color:"currentColor",strokeWidth:1.5})}),e.map((W,Q)=>{const{x:se,y:ke}=H(W),me=ue(W),re=ie(W),Ce={...b!==void 0||A?{"--shortcut-badge-scale":String(b??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:me!=="idle"?10:1},ge=g,Ee=Math.round(Math.max(10,Math.min(56,ge*.38))),Re=Math.round(Math.max(7,Math.min(18,ge*.2))),Le=Math.round(Math.max(10,Math.min(56,ge*.4))),Je=v==="answered"&&(me==="played"||me==="correct"||me==="wrong"),Qe=v===!0||Je,qe=!Je;return t.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Ce,left:se-ge/2,top:ke-ge/2},children:[re&&t.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${me}`+(re==="once"?" sound-compass__pulse--once":""),style:{width:ge,height:ge,...re==="once"&&c!==void 0?{"--sc-pulse-duration-once":`${c}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),t.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>C?.(W.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${me}`,style:{width:ge,height:ge},"aria-label":ae(me)?`${W.label}, ${ae(me)}`:W.label,"aria-pressed":i!=null?W.id===i:void 0,children:[Qe&&xe(me,Ee),qe&&t.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?Re:Le},children:Q+1})]}),W.shortcut&&t.jsx(Sl,{keys:W.shortcut,anchor:_,className:"sound-compass__speaker-shortcut"})]},W.id)})]})})}function a4({children:e,position:n="top-left",size:a=24,className:r=""}){return t.jsx("span",{className:De("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:e})}function r4({orientation:e="horizontal",label:n,className:a=""}){const r=De("divider",`divider--${e}`,n&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?t.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):n?t.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[t.jsx("span",{className:"divider__line"}),t.jsx("span",{className:"divider__label caption-1",children:n}),t.jsx("span",{className:"divider__line"})]}):t.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function jl({checked:e,onChange:n,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const u=o.useId();return t.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:u,children:[t.jsx("input",{id:u,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:d=>n?.(d.target.checked)}),t.jsx("span",{className:"radio__dot"}),i&&t.jsx("span",{className:"radio__label body-2",children:i})]})}function o4({options:e,value:n,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:u}){const d=o.useId(),c=r??`radio-group-${d}`;return t.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(p=>t.jsx(jl,{name:c,value:p.value,checked:n===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const s4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function i4({tone:e="info",title:n,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:d}=be.useTranslation(),[c,p]=o.useState(!1),m=o.useRef(null),C=o.useCallback(()=>{const h=m.current;h&&h.contains(document.activeElement)&&Ua(h),p(!0),i?.()},[i]);if(c)return null;const g=De("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),f=v==="assertive"?"alert":v==="polite"?"status":void 0,y=!!n,w=!!(a||r);return t.jsxs("div",{ref:m,className:g,role:f,children:[t.jsxs("div",{className:"alert__body",children:[t.jsxs("div",{className:"alert__header",children:[t.jsx(Ke,{icon:s4[e],size:20,className:"alert__icon"}),y&&t.jsx("span",{className:"alert__title body-2",children:n}),!y&&w&&t.jsx("div",{className:"alert__message body-3",children:a||r})]}),y&&w&&t.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&t.jsx("button",{type:"button",className:"alert__dismiss",onClick:C,"aria-label":d("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const l4={ready:"search",guide:"info",error:"circle-alert"};function u4(e,n){const a=n.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const u=e.indexOf(l,s);u<0||(u>s&&r.push(e.slice(s,u)),r.push(t.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=u+l.length)}return s<e.length&&r.push(e.slice(s)),r}function c4({status:e="guide",label:n,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??l4[e],u=De("search-summary",`search-summary--${e}`,i),d=n??a,c=typeof d=="string"&&r&&r.length>0?u4(d,r):d;return t.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&t.jsx(Ke,{icon:l,size:18,className:"search-summary__icon"}),t.jsx("span",{className:"search-summary__text body-2",children:c})]})}function Ea({title:e,items:n}){const{t:a}=be.useTranslation(),{anchorRect:r,openAt:s,close:i}=wa(),l=o.useRef(null),u=Gr(!!r,(d,c)=>{d&&c?s(l.current?.querySelector("button")??c):i()},l);return t.jsxs("span",{ref:l,style:{display:"contents"},children:[t.jsx(de,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:d=>{ta(d)||s(d.currentTarget)},onPointerLeave:d=>{ta(d)||i()},onClick:d=>{u.touchPress(d.currentTarget)},onFocus:d=>{na()||s(d.currentTarget)},onBlur:i}),r&&t.jsx(Vn,{title:e,items:n,showIndex:n.length>1,anchorRect:r,onClose:i})]})}function d4({items:e=[],value:n,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=be.useTranslation(),u=o.useRef(null),d=e.find(f=>!f.disabled)?.key,c=e.some(f=>f.key===n)?n:d??e[0]?.key,p=e.find(f=>f.key===c&&!f.disabled)?.key??d,m=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),C=(f,y=m())=>{if(y.length===0)return;const w=(f%y.length+y.length)%y.length;y[w]?.focus(),y[w]?.click()},g=f=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const y=m(),w=y.indexOf(f.currentTarget);f.key==="ArrowRight"||f.key==="ArrowDown"?C(w+1,y):f.key==="ArrowLeft"||f.key==="ArrowUp"?C(w-1,y):f.key==="Home"?C(0,y):C(y.length-1,y)},v=e.find(f=>f.key===c);return t.jsxs("div",{className:`tabs ${r}`.trim(),children:[t.jsx("div",{ref:u,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(f=>t.jsx("button",{id:`tabs__tab-${i}-${f.key}`,type:"button",role:"tab","aria-selected":f.key===c,"aria-controls":`tabs__panel-${i}-${f.key}`,disabled:f.disabled,tabIndex:f.key===p?0:-1,className:`tabs__tab body-2${f.key===c?" tabs__tab--active":""}`,onClick:()=>{f.key!==n&&a?.(f.key)},onKeyDown:g,children:f.label},f.key))}),v&&t.jsx("div",{id:`tabs__panel-${i}-${v.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${v.key}`,tabIndex:0,className:"tabs__panel",children:v.panel},v.key)]})}const p4={xs:12,sm:16,md:20,lg:28,xl:36};function m4(e){const n=e.trim().split(/\s+/).filter(Boolean);return n.length===0?"":n.length===1?[...n[0]].slice(0,2).join("").toUpperCase():([...n[0]][0]+[...n[n.length-1]][0]).toUpperCase()}function h4({src:e,name:n,size:a="md",shape:r="circle",className:s=""}){const{t:i}=be.useTranslation(),[l,u]=o.useState(null),d=!!e&&l===e,c=n?m4(n):"",p=!!e&&!d,m=!p&&!!c,C=n||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return t.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":C,children:[p&&t.jsx("img",{className:"avatar__image",src:e,alt:C,onError:()=>u(e??null)}),!p&&m&&t.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:c}),!p&&!m&&t.jsx(Ke,{icon:"user-round",size:p4[a],className:"avatar__icon"})]})}function C4(e,n){if(!n)return!0;const a=n.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),s=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?s.startsWith(l.slice(0,-1)):s===l})}function f4({onFilesSelected:e,accept:n,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:d}=be.useTranslation(),c=o.useRef(null),[p,m]=o.useState(!1),[C,g]=o.useState([]),v=i??C,f=x=>{if(!x||x.length===0)return;const N=Array.from(x).filter(k=>C4(k,n));if(N.length===0)return;const B=a?N:N.slice(0,1);if(i===void 0){const k=a?[...v,...B]:B;g(k),e?.(k)}else e?.(B)},y=x=>{x.preventDefault(),!r&&m(!0)},w=x=>{x.preventDefault(),m(!1)},h=x=>{x.preventDefault(),m(!1),!r&&f(x.dataTransfer.files)},_=x=>{const N=x.target;try{f(N.files)}finally{N.value=""}},b=()=>{r||c.current?.click()},A=x=>{if(!r&&(l?.(x),i===void 0)){const N=v.filter((B,k)=>k!==x);g(N),l||e?.(N)}};return t.jsxs("div",{className:`file-upload ${u}`.trim(),children:[t.jsxs("div",{className:De("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:b,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())},onDragOver:y,onDragLeave:w,onDrop:h,children:[t.jsx(Ke,{icon:"upload",size:24,className:"file-upload__icon"}),t.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),t.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),b()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),t.jsx("input",{ref:c,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:_,tabIndex:-1})]}),s&&v.length>0&&t.jsx("ul",{className:"file-upload__list",children:v.map((x,N)=>t.jsxs("li",{className:"file-upload__list-item body-3",children:[t.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),t.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>A(N),children:t.jsx(Ke,{icon:"x",size:14})})]},`${x.name}-${N}`))})]})}function g4({items:e,className:n=""}){const{t:a}=be.useTranslation();return t.jsx("nav",{className:`breadcrumb ${n}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:t.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return t.jsxs("li",{className:"breadcrumb__item",children:[i?t.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?t.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?t.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):t.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&t.jsx(Ke,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const b4={small:14,medium:20,large:28};function y4({value:e,onChange:n,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=be.useTranslation(),d=r||!n,[c,p]=o.useState(null),m=d?e:Number.isFinite(e)?Math.round(e):0,C=c??m,g=b4[s],v=x=>{x!==e&&n?.(x)},f=x=>{d||v(x)},y=x=>{d||na()||p(x)},w=o.useRef(null),h=x=>{const N=Math.min(a,Math.max(1,x));v(N),Array.from(w.current?.querySelectorAll("[data-star]")??[]).find(B=>B.dataset.star===String(N))?.focus()},_=x=>{if(!d){switch(x.key){case"ArrowRight":case"ArrowUp":h((m||0)+1);break;case"ArrowLeft":case"ArrowDown":h((m||1)-1);break;case"Home":h(1);break;case"End":h(a);break;default:return}x.preventDefault()}},b=m>=1&&m<=a?Math.round(m):1,A=()=>{d||p(null)};return t.jsx("div",{className:`rating rating--${s}${d?" rating--readOnly":""} ${l}`.trim(),ref:w,onKeyDown:_,role:d?"img":"radiogroup","aria-label":d?u("rating.valueLabel",{value:e,max:a}):i??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:x=>{x.pointerType==="touch"&&A()},onPointerCancel:x=>{x.pointerType==="touch"&&A()},children:Array.from({length:a},(x,N)=>{const B=N+1,k=Math.max(0,Math.min(1,C-N)),E=k>0&&k<1,S=t.jsxs("span",{className:"rating__star-wrap",children:[t.jsx(Ke,{icon:"star",size:g,className:"rating__star rating__star--empty"}),k>0&&t.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${k*100}%`}:void 0,children:t.jsx(Ke,{icon:"star",size:g,className:"rating__star rating__star--filled"})})]});return d?t.jsx("span",{className:"rating__item","aria-hidden":"true",children:S},B):t.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===B,"aria-label":u("rating.starLabel",{n:B}),"data-star":B,tabIndex:B===b?0:-1,onClick:()=>f(B),onMouseEnter:()=>y(B),children:S},B)})})}const v4=20,x4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function _4({value:e,onChange:n,palette:a=x4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=be.useTranslation();return t.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(u=>{const d=e?.toLowerCase()===u.toLowerCase();return t.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:u},onClick:()=>n(u),"aria-pressed":d,"aria-label":d?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:d&&t.jsx(Ke,{icon:"check",size:v4,className:"color-picker__check"})},u)})})}function Tl({icon:e,label:n,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:d}=be.useTranslation(),c=u==="small",p=De("category-icon",c?"category-icon--small":""),m=c?16:20,C=o.useRef(null),[g,v]=o.useState(!1),f=o.useMemo(()=>{const N=r&&typeof r=="object"?{...r}:{};return!s&&!i?N:{...N,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),y=a||n,[w,h]=o.useState(null);o.useLayoutEffect(()=>{g&&h(C.current?.getBoundingClientRect()??null)},[g]),o.useEffect(()=>{if(!l&&g)try{v(!1)}catch{}},[l,g]),o.useEffect(()=>{if(!g)return;const N=B=>{const k=C.current;if(!k)return;const E=B.target;E&&!k.contains(E)&&v(!1)};return document.addEventListener("pointerdown",N,!0),()=>document.removeEventListener("pointerdown",N,!0)},[g]);const _=o.useCallback(()=>{l&&v(!0)},[l]),b=o.useCallback(()=>{l&&v(!1)},[l]),A=o.useCallback(()=>v(!1),[]),x=o.useCallback(N=>{if(N.key==="Escape"){v(!1);return}(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),v(B=>!B))},[]);return t.jsxs("span",{ref:C,className:"category-icon__wrap",onPointerEnter:_,onPointerLeave:b,onFocus:_,onBlur:b,onKeyDown:x,role:"button",tabIndex:0,"aria-label":typeof y=="string"?d("common.descriptionFor",{name:y,defaultValue:`${y} \uC124\uBA85`}):void 0,"aria-haspopup":!!y,"aria-expanded":g,"data-tooltip-ignore":!0,children:[t.jsx(Ke,{icon:e,label:n,className:p,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:m}),g&&y&&t.jsx(vn,{anchorRect:w,text:typeof y=="string"?y:void 0,offset:8,onClose:A,className:"category-icon__tooltip",ariaLabel:typeof y=="string"?y:void 0})]})}let jn=null;function Xa(e){if(jn&&jn!==e)try{jn()}catch{}return jn=e,()=>{jn===e&&(jn=null)}}function Ja(e){if(jn===e){jn=null;try{e()}catch{}}}function w4(e,n){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(u=>u?.contextCode||u?.context_code).filter(Boolean).map(String);if(n==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}if(n==="SHORT_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"SHORT_S"}}if(n==="LONG_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LONG"}}if(n==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}const s=a.sentences||a.items||[],i=r(Array.isArray(s)?s:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function A4(e,n){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),d=o.useRef(null),c=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[C,g]=o.useState(!1),v=o.useRef([]),{previewCodes:f,previewBucket:y}=w4(e,n),w=`${f.join(",")}|${y??""}`,h=o.useMemo(()=>l.key===w?l.urls:[],[l,w]);o.useEffect(()=>{if(!f.length)return;let b=!1;return(async()=>{const A=[],x=[];for(const N of f)try{const B=Ws(N,y);if(!B){A.push("");continue}let k=null;try{k=await qs(B)}catch{}if(!k)try{const E=await Us(B);E&&(k=URL.createObjectURL(E),x.push(k))}catch{}A.push(k??"")}catch{A.push("")}b?x.forEach(N=>{try{URL.revokeObjectURL(N)}catch{}}):(v.current.forEach(N=>{try{URL.revokeObjectURL(N)}catch{}}),v.current=x,u({key:w,urls:A}))})(),()=>{b=!0}},[f.join(","),y]),o.useEffect(()=>()=>{v.current.forEach(b=>{try{URL.revokeObjectURL(b)}catch{}}),v.current=[]},[]);const _=o.useCallback(async b=>{if(b.stopPropagation(),b.preventDefault(),c.current){p.current&&Ja(p.current),c.current=!1;try{d.current?.pause()}catch{}r(!1),i(-1);return}if(!h.filter(Boolean).length)return;let A=null;const x=()=>{c.current=!1;try{d.current?.pause()}catch{}A?.()};p.current=x;const N=Xa(x);c.current=!0,r(!0);for(let B=0;B<h.length&&c.current;B++){const k=h[B];if(k){i(B);try{await new Promise((E,S)=>{A=E;const z=new Audio(k);d.current=z,z.onended=()=>E(),z.onerror=()=>S(),z.play().catch(S)})}catch{break}}}N(),p.current===x&&(p.current=null,c.current=!1,r(!1),i(-1))},[h]);return o.useEffect(()=>()=>{p.current&&Ja(p.current),c.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:s,previewUrls:h,previewHover:C,setPreviewHover:g,previewBtnRef:m,handlePreview:_}}const k4=e=>{if(!e)return[];const n=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(n)return[String(n)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const s=r;return s.sentence||s.text||s.context||s.question||s.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function so(e){const{index:n,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:u,completedIds:d,selectedIds:c,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:C,hideCheckBadge:g=!1,showTypeLabel:v=!1,onComplete:f,onSelect:y,onMore:w,countLabelOverride:h,size:_="square"}=e||{},{t:b}=be.useTranslation(),[A,x]=o.useState(!1),N=o.useRef(null),[B,k]=o.useState(!1);o.useEffect(()=>{N.current?.matches(":hover")&&k(!0)},[]);const{playing:E,playingIndex:S,previewUrls:z,previewHover:R,setPreviewHover:q,previewBtnRef:j,handlePreview:M}=A4(r,a?.key),O=o.useCallback(()=>{y?y():x(!0)},[y]),Y=o.useCallback(()=>x(!1),[]),te=o.useCallback(()=>k(!0),[]),V=o.useCallback(()=>k(!1),[]),U=o.useCallback(()=>q(!0),[q]),P=o.useCallback(()=>q(!1),[q]),[F,D]=o.useState(null);o.useLayoutEffect(()=>{R&&D(j.current?.getBoundingClientRect()??null)},[R,j]);const[H,L]=o.useState(null);o.useLayoutEffect(()=>{B&&!A&&m&&L(N.current?.getBoundingClientRect()??null)},[B,A,m]);const I=o.useCallback(Se=>{Se.target===Se.currentTarget&&(Se.key==="Enter"||Se.key===" ")&&(Se.preventDefault(),O())},[O]),$=r||null,K=o.useMemo(()=>{if(!m)return null;const Se=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ae=Se&&Se.length>0?Se:k4($);return Ae&&Ae.length>0?Ae:null},[m,p,$]),ne=o.useCallback(Se=>{Se.stopPropagation(),C?.()},[C]),J=o.useCallback(Se=>Se.stopPropagation(),[]),ae=o.useCallback(Se=>{typeof f=="function"&&f(Se)},[f]),ue=u||(d&&r?.id!=null?d.has(String(r.id)):!1),ie=!ue&&(c!=null&&r?.id!=null?c.has(String(r.id)):!1);tl("speechear.popup.close",Y);const xe=pi(),W=`${a?.label||""} ${n+1}`,Q=$?.title||$?.name||W;let se=a?.icon,ke,me="",re="";try{const Se=$?.category_0||$?.category_main_code||$?.category_main,Ae=$?.category_1||$?.category_sub_code||$?.category_sub,ee=xe.find(fe=>fe.key===Se);ee?.icon&&(se=ee.icon),!ke&&ee?.color&&(ke={"--t-item-fg":ee.color}),!ke&&$?.iconColor&&(ke={"--t-item-fg":$.iconColor}),me=ee?b(`topic.${ee.key}`,{defaultValue:ee.label||""}):"";try{const fe=ee?.subs?.find(ze=>ze.key===Ae);re=fe?b(`topic.sub.${fe.key}`,{defaultValue:fe.label||""}):""}catch{}}catch{}const Ce=re?`${me} / ${re}`:me||a?.label||Q,ge=Se=>b("training.countQuestions",{n:Se}),Ee=Se=>b("training.countSentences",{n:Se});let Re="";try{if($)if(a?.key==="LISTEN_IN_NOISE"){let Se=0;Array.isArray($.items)&&$.items.length>0?Se=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0?Se=$.sentences.length:$.sentences&&(Se=1),Re=Ee(Se)}else if(a?.key==="SHORT_STORY"){let Se=1;Array.isArray(r?.items)?Se=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Se=r.raw.items.length:Array.isArray($?.questions)?Se=$.questions.length:Array.isArray($?.sentences)&&(Se=$.sentences.length),Re=ge(Se)}else if(a?.key==="LONG_STORY"){let Se=1;if(Array.isArray($.items)&&$.items.length>0){const Ae=$.items.reduce((ee,fe)=>{const ze=fe.questionItems;return Array.isArray(ze)?ee+ze.length:Array.isArray(fe.questions)?ee+fe.questions.length:ee},0);Se=Ae>0?Ae:$.items.length}else Array.isArray($.questions)&&$.questions.length>0?Se=$.questions.length:Array.isArray($.sentences)&&$.sentences.length>0&&(Se=$.sentences.length);Re=ge(Se)}else if(a?.key==="ORDERING_SENTENCE"){let Se=1;Array.isArray($.items)&&$.items.length>0?Se=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0&&(Se=$.sentences.length),Re=Ee(Se)}else Array.isArray($.items)&&(Re=$.items.length>0?ge($.items.length):"")}catch{}const Le=_==="row",Je=_==="list"||Le,Qe=_==="compact",qe=_==="small",Fe=qe&&a?.key?zC().find(Se=>Se.key===a.key):void 0,st=Fe?mi[Fe.key]:void 0,et=Fe?st?b(`trainingType.${st}.title`,{defaultValue:Fe.label}):Fe.label??"":"",Ye=!!v&&!!a?.label&&a.label!==String(Q)||qe&&!!et&&et!==String(Q);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:N,className:`training-block-button${Je?" training-block-button--list":""}${Le?" training-block-button--row":""}${Qe?" training-block-button--compact":""}${qe?" training-block-button--small":""}${ue?" training-block-button--completed":""}${ie?" training-block-button--selected":""}${Ye&&!qe?" training-block-button--withType":""}${qe&&!Ye?" training-block-button--no-type-label":""}`,onClick:O,onPointerEnter:te,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:I,"aria-label":typeof s=="string"?s:typeof Q=="string"?Q:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
|
|
853
|
+
`):p)||void 0,children:[t.jsxs("div",{className:"training-block-button__left",children:[v&&a?.label&&a.label!==String(Q)&&t.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),qe&&et&&et!==String(Q)&&t.jsx("span",{className:"training-block-button__type-label caption-2",children:et}),t.jsx(Tl,{icon:se,label:Q,tooltip:Ce,wrapperStyle:ke,iconSize:qe||Qe?"small":"medium"}),!g&&(ue||ie)&&!(C&&B)&&t.jsx(yt,{className:C?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":ue?b("training.completed","\uD6C8\uB828 \uC644\uB8CC"):b("training.selected","\uC120\uD0DD\uB428")}),C&&t.jsx(yt,{className:`training-block-button__remove${B?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":b("common.remove","\uC81C\uAC70"),onClick:ne}),t.jsx("div",{className:`training-block-button__title ${Qe?"body-3":qe?"body-3b":"h3"}`,children:String(Q)}),t.jsxs("div",{className:"training-block-button__description",children:[(()=>{const Se=h!==void 0?h:Re;return Se?t.jsx("div",{className:`training-block-button__count ${qe?"caption-2":"caption-1"}`,children:Se}):null})(),t.jsx("div",{className:"training-block-button__chevron",children:t.jsx(Ke,{icon:"chevron-right",label:b("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:qe?12:20})})]}),(Je&&!Le||qe)&&z.length>0&&t.jsx("div",{ref:j,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:J,onPointerEnter:U,onPointerLeave:P,children:t.jsx(de,{htmlType:"button",size:qe?28:32,type:"dot",icon:E?"pause":"play",variant:qe?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(Q).trim()?E?b("training.stopFor",{name:Q,defaultValue:`${Q} \uC815\uC9C0`}):b("training.previewFor",{name:Q,defaultValue:`${Q} \uBBF8\uB9AC \uB4E3\uAE30`}):E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:M})})]}),w&&t.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Se=>{Se.stopPropagation(),w(Se)},children:t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(Q).trim()?b("common.moreFor",{name:Q}):b("common.more","\uB354\uBCF4\uAE30")})})]}),R&&t.jsx(vn,{anchorRect:F,text:E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:P}),B&&!A&&m&&(K?t.jsx(Vn,{anchorRect:H,items:K,activeIndex:S,onClose:V}):$?.subTitle?t.jsx(vn,{anchorRect:H,text:$.subTitle,offset:8,onClose:V}):null),A&&l&&l({trainingData:$,typeKey:a?.key??"",onClose:Y,onComplete:ae,popupTitle:String(Q),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:se,popupIconTooltip:String(Ce),popupWrapperStyle:ke})]})}const Ml=200;function B4(e){return e.itemId?(GC()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function Ll({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:s}=be.useTranslation(),i=o.useMemo(()=>YC(s).map(u=>({type:u,items:(e.items??[]).filter(d=>d.trainingType===u.key)})).filter(u=>u.items.length>0),[e.items,s]);if(i.length===0)return null;const l=t.jsx("div",{className:"tooltip-training__box",children:t.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:u,items:d},c)=>[c>0?t.jsx("div",{className:"tooltip-training__divider"},`div-${u.key}`):null,t.jsxs("div",{className:"tooltip-training__section",children:[t.jsx("div",{className:"tooltip-training__section-header",children:t.jsx("span",{className:"tooltip-training__type-label body-3b",children:u.label})}),t.jsx("div",{className:"tooltip-training__items",children:d.map((p,m)=>{const C=B4(p);return C?t.jsx(so,{index:m,type:u,trainingData:C,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},u.key)])})});return n?t.jsx(rn,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const N4=200;function D4({icon:e,count:n,title:a,plan:r,tooltip:s=!0,className:i="",onClick:l,onMouseEnter:u,onMouseLeave:d}){const c=De("count-tile",l&&"count-tile--clickable",i),p=o.useRef(null),[m,C]=o.useState(null),g=o.useRef(null),v=o.useRef(null),f=!!(m&&r&&s),y=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),v.current&&(clearTimeout(v.current),v.current=null)},[]),w=o.useCallback(()=>{y(),C(null)},[y]),h=o.useCallback(()=>{!s||!r||(y(),g.current=setTimeout(()=>{g.current=null,C(p.current?.getBoundingClientRect()??null)},Ml))},[s,r,y]),_=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!v.current&&(v.current=setTimeout(()=>{v.current=null,C(null)},N4))},[]);return o.useEffect(()=>()=>{y()},[y]),o.useEffect(()=>{(!s||!r)&&w()},[s,r,w]),o.useEffect(()=>{if(!f)return;const b=x=>x instanceof Element&&(p.current?.contains(x)||!!x.closest(".tooltip-training")),A=x=>{b(x.target)?y():_()};return document.addEventListener("pointerover",A,!0),()=>document.removeEventListener("pointerover",A,!0)},[f,y,_]),t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:p,className:c,onClick:l?b=>{w(),l(b)}:void 0,onKeyDown:l?b=>{b.key!=="Enter"&&b.key!==" "||(b.preventDefault(),b.currentTarget.click())}:void 0,onPointerEnter:b=>{b.pointerType==="touch"||b.pointerType==="pen"?w():h()},onMouseEnter:u,onMouseLeave:b=>{_(),d?.(b)},role:l?"button":"img",tabIndex:l?0:void 0,"aria-label":`${a} ${n}`,children:[t.jsx(Ke,{icon:e,size:20,className:"count-tile__icon"}),t.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:n})]}),m&&r&&t.jsx(Ll,{plan:r,anchorRect:m,onClose:w})]})}let Sa=0,$l="",io="",ja=0;function Rl(){return Pl(!1)}function E4(){return Pl(!0)}function Pl(e){const n=typeof document<"u";Sa===0&&n&&($l=document.body.style.overflow,document.body.style.overflow="hidden"),e&&n&&(ja===0&&(io=document.body.style.paddingRight),ja++,document.body.style.paddingRight="0px"),Sa++;let a=!1;return()=>{a||(a=!0,Sa=Math.max(0,Sa-1),e&&n&&(ja=Math.max(0,ja-1),ja===0&&(io?document.body.style.paddingRight=io:document.body.style.removeProperty("padding-right"))),Sa===0&&n&&(document.body.style.overflow=$l))}}function S4(){return t.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:t.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function j4({open:e,onClose:n,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:d=!0,className:c,contentClassName:p}){const{t:m}=be.useTranslation(),C=o.useId(),g=o.useRef(null),v=o.useCallback(()=>n(),[n]);o.useEffect(()=>{if(!e)return;const h=document.activeElement,_=Rl(),b=g.current;return Vr(b,h),b?.focus(),()=>{_();const A=document.activeElement;(!A||A===document.body||b&&b.contains(A))&&Wr(h)?.focus?.()}},[e]);const f=o.useRef(v),y=o.useRef(u);o.useEffect(()=>{f.current=v,y.current=u}),o.useEffect(()=>{if(e)return zn(()=>{y.current&&f.current()})},[e]);const w=o.useRef(!1);return Hr(g,e),!e||typeof document>"u"?null:Xt.createPortal(t.jsx("div",{className:De("dialog",c),onPointerDown:l?h=>{w.current=h.target===h.currentTarget}:void 0,onMouseDown:h=>{h.target===h.currentTarget&&h.preventDefault()},onClick:l?h=>{const _=w.current;w.current=!1,_&&h.target===h.currentTarget&&v()}:void 0,children:t.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?C:void 0,tabIndex:-1,className:De("dialog__surface",`dialog__surface--${i}`,p),onClick:h=>h.stopPropagation(),children:[r?t.jsx("div",{className:"dialog__header",children:t.jsx("h2",{id:C,className:"dialog__title h4b",children:r})}):null,d?t.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:v,children:t.jsx(S4,{})}):null,t.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function T4({columns:e,rows:n,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:u,className:d=""}){const{t:c}=be.useTranslation(),p=!l&&n.length===0;return t.jsxs("div",{className:De("board",d),children:[r||s?t.jsxs("div",{className:"board__head",children:[r?t.jsx("h2",{className:"board__title",children:r}):t.jsx("span",{}),s?t.jsx("div",{className:"board__toolbar",children:s}):null]}):null,t.jsxs("table",{className:"board__table",children:[u?t.jsx("caption",{className:"board__caption",children:u}):null,t.jsx("thead",{children:t.jsx("tr",{children:e.map(m=>t.jsx("th",{scope:"col",className:De("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),t.jsx("tbody",{children:l?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:i??c("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):n.map((m,C)=>t.jsx("tr",{className:"board__row",children:e.map(g=>t.jsx("td",{className:De("board__td",`board__cell--${g.align??"left"}`),children:g.render(m,C)},g.key))},a(m,C)))})]})]})}function M4({name:e,role:n,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return t.jsxs("div",{className:De("person-card",l),children:[t.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?t.jsx("img",{src:a,alt:n?`${e} ${n}`:e}):null)}),t.jsx("h3",{className:"person-card__name",children:e}),n?t.jsx("p",{className:"person-card__role",children:n}):null,s?.length?t.jsx("ul",{className:"person-card__credentials",children:s.map(u=>t.jsx("li",{children:u},u))}):null]})}function L4({groups:e,className:n=""}){return t.jsx("div",{className:De("timeline",n),children:e.map(a=>t.jsxs("section",{className:"timeline__group",children:[t.jsx("h3",{className:"timeline__title",children:a.title}),t.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>t.jsxs("li",{className:"timeline__row",children:[r.label?t.jsx("span",{className:"timeline__label",children:r.label}):null,t.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>t.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function $4({title:e,kind:n,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:u=""}){const d=r??(s?t.jsx("img",{src:s,alt:""}):null);return t.jsxs("div",{className:De("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[d?t.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,t.jsx("h3",{className:"publication-card__title",children:e}),n?t.jsx("p",{className:"publication-card__kind",children:n}):null,t.jsx("p",{className:"publication-card__body",children:a}),i?t.jsx("div",{className:"publication-card__footer",children:i}):null]})}function R4({logo:e,alt:n,onDone:a,durationMs:r=3e3}){const s=xa(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),t.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:t.jsx("img",{src:e,alt:n,className:"splash-logo__image"})})}function P4({eyebrow:e,eyebrowIndex:n,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const u=s===1?"h1":"h2";return t.jsxs("div",{className:De("section-header",`section-header--${i}`,l),children:[e?t.jsxs("p",{className:"section-header__eyebrow",children:[n?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"section-header__index",children:n}),t.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?t.jsx(u,{className:"section-header__title",children:a}):null,r?t.jsx("div",{className:"section-header__description",children:r}):null]})}function I4({items:e,className:n=""}){return t.jsx("ul",{className:De("company-meta",n),children:e.map((a,r)=>t.jsxs("li",{className:"company-meta__item",children:[r>0?t.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Il(e){return typeof e=="string"?e:e.label}function Fl({value:e,onChange:n,suggestions:a,openOnFocus:r=!1,filterSuggestions:s,onSelectSuggestion:i,autoActiveFirst:l=!1}){const u=o.useId(),[d,c]=o.useState(!1),[p,m]=o.useState(-1),C=o.useRef(null),g=o.useMemo(()=>{if(!a.length)return[];const S=e??"";return s===!1?a:S?typeof s=="function"?s(a,S):a.filter(z=>Il(z).toLowerCase().includes(S.toLowerCase())):r?a:[]},[a,e,r,s]),[v,f]=o.useState(!1),y=o.useRef([]),w=v&&g.length===0?y.current:g;o.useEffect(()=>{w.length&&(y.current=w)},[w]);const h=o.useCallback(()=>f(!0),[]),_=o.useCallback(()=>f(!1),[]),b=l?0:-1;o.useEffect(()=>{d||m(b)},[d,b]),o.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const A=p<w.length?p:b<w.length?b:-1,x=o.useCallback(S=>{i?i(S):n?.(Il(S)),c(!1)},[n,i]),N=o.useCallback(()=>c(!0),[]),B=o.useCallback(()=>{c(!0),m(b)},[b]),k=o.useCallback(()=>{C.current=setTimeout(()=>c(!1),120)},[]),E=o.useCallback(S=>{S.nativeEvent.isComposing||S.keyCode===229||(S.key==="ArrowDown"?(S.preventDefault(),c(!0),m(z=>Math.min(w.length-1,(z<w.length?z:b)+1))):S.key==="ArrowUp"?(S.preventDefault(),m(z=>Math.max(b,(z<w.length?z:w.length)-1))):S.key==="Enter"?A>=0&&x(w[A]):S.key==="Escape"&&d&&(S.preventDefault(),c(!1)))},[w,A,d,x,b]);return{listId:u,open:d,activeIdx:A,filtered:w,handleFocus:N,handleBlur:k,handleInput:B,handleKeyDown:E,handleSelect:x,handleCompositionStart:h,handleCompositionEnd:_}}const lo=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Un(e){const{value:n,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:u,ariaDescribedBy:d,required:c,placeholder:p,ghostText:m,ghostHint:C,type:g="text",disabled:v=!1,readOnly:f=!1,error:y,helperText:w,maxLength:h,size:_=48,variant:b="input",fullWidth:A=!1,newline:x=!1,multiline:N=!1,rows:B=3,leftIcon:k,rightIcon:E,clearable:S=!1,list:z,showCount:R=!0,className:q="",onFocus:j,onBlur:M,onKeyDown:O,onEnter:Y,inputMode:te,autoComplete:V,autoFocus:U,suggestions:P,filterSuggestions:F,onSelectSuggestion:D,autoActiveFirst:H,openOnFocus:L=!1}=e,I=f||v?void 0:P,{t:$}=be.useTranslation(),K=o.useId();!l&&!u&&pn(`TextField:unnamed:${K}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const ne=`tf-${K}`,J=`tf-helper-${K}`,ae=o.useRef(null),ue=Fl({value:n??"",onChange:i,suggestions:I??[],openOnFocus:L,filterSuggestions:F,onSelectSuggestion:D,autoActiveFirst:H}),ie=!!I&&ue.open&&ue.filtered.length>0,xe=o.useRef(null),[W,Q]=o.useState(null),se=o.useCallback(()=>{const Ae=xe.current;if(!Ae||typeof window>"u")return;const ee=Ae.getBoundingClientRect(),fe=230,ze=window.innerHeight-ee.bottom<fe+8&&ee.top>fe+8;Q({position:"fixed",left:ee.left,width:ee.width,...ze?{bottom:window.innerHeight-ee.top+8}:{top:ee.bottom+8},zIndex:Aa(Ae)})},[]);lo(()=>{if(!ie)return;se();const Ae=ee=>{const fe=ee.target;fe&&fe.nodeType===1&&fe.closest?.(".text-field__suggestions")||se()};return window.addEventListener("scroll",Ae,!0),window.addEventListener("resize",se),()=>{window.removeEventListener("scroll",Ae,!0),window.removeEventListener("resize",se)}},[ie,se]);const ke=o.useCallback(Ae=>{ae.current=Ae,typeof s=="function"?s(Ae):s&&(s.current=Ae)},[s]),me=m?`${m}${C??$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:p,re=n!==void 0,Ce=re&&g==="password",[ge,Ee]=o.useState((a??"").length),Re=re?(n??"").length:ge,Le=o.useRef(n);lo(()=>{Le.current=n}),o.useEffect(()=>{const Ae=ae.current;if(!Ce||!Ae)return;const ee=n??"";Ae.value!==ee&&(Ae.value=ee)},[Ce,n]),o.useEffect(()=>{if(!x||!ae.current)return;const Ae=ae.current;Ae.style.height="",Ae.scrollHeight>Ae.clientHeight&&(Ae.style.height=`${Ae.scrollHeight}px`)},[n,ge,x]);const Je=h!=null&&Re>h,Qe=_===32?16:20,qe=De("text-field",`text-field--s${_}`,b==="display"?"text-field--display":"",A?"text-field--full-width":"",v?"text-field--disabled":"",f?"text-field--readonly":"",y?"text-field--error":"",k?"text-field--has-left-icon":"",E||S?"text-field--has-right-icon":"",q),Fe={id:ne,...Ce?{}:re?{value:n}:{defaultValue:a},ref:ke,placeholder:me,name:r,disabled:v,readOnly:f,autoFocus:U,maxLength:h,list:z,inputMode:te,autoComplete:V,"aria-label":!l&&u?u:void 0,"aria-required":c,"aria-invalid":!!y,"aria-describedby":[w||y?J:null,d].filter(Boolean).join(" ")||void 0,role:I?"combobox":void 0,"aria-autocomplete":I?"list":void 0,"aria-haspopup":I?"listbox":void 0,"aria-expanded":I?ie:void 0,"aria-controls":ie?ue.listId:void 0,"aria-activedescendant":ie&&ue.activeIdx>=0?`${ue.listId}-option-${ue.activeIdx}`:void 0,onChange:Ae=>{const ee=Ae.target;re||Ee(ee.value.length),i?.(ee.value),I&&ue.handleInput(),Ce&&queueMicrotask(()=>{const fe=Le.current??"";ee.value!==fe&&(ee.value=fe)})},onCompositionStart:I?ue.handleCompositionStart:void 0,onCompositionEnd:I?ue.handleCompositionEnd:void 0,onFocus:(Ae=>{j?.(Ae),I&&ue.handleFocus()}),onBlur:(Ae=>{M?.(Ae),I&&ue.handleBlur()}),onKeyDown:(Ae=>{const ee=(Ae.key==="Tab"&&!Ae.shiftKey||Ae.key===" ")&&!Ae.nativeEvent.isComposing;if(m&&ee&&!f&&!v&&!(Ae.currentTarget.value??"").trim()){Ae.preventDefault();const fe=Ae.currentTarget;re||(fe.value=m,Ee(m.length)),i?.(m);return}I&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&ue.activeIdx>=0?Ae.preventDefault():Y&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&(Ae.preventDefault(),Y()),O?.(Ae),I&&ue.handleKeyDown(Ae)})},st=S&&!v&&!f&&Re>0,et=()=>x?t.jsx("textarea",{...Fe,className:"text-field__input text-field__input--auto body-2",rows:1}):N?t.jsx("textarea",{...Fe,className:"text-field__input text-field__input--textarea body-2",rows:B}):t.jsx("input",{...Fe,type:g,className:"text-field__input body-2"}),Ye=b==="display"&&!x&&!N&&!!me,Se=()=>t.jsxs(t.Fragment,{children:[et(),Ye&&t.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:me})]});return t.jsxs("div",{ref:xe,className:qe,children:[l&&t.jsxs("label",{htmlFor:ne,className:"text-field__label caption-1",children:[l,c&&t.jsx("span",{className:"text-field__required",children:"*"})]}),t.jsxs("div",{className:"text-field__wrap",children:[k&&t.jsx("span",{className:"text-field__icon text-field__icon--left",children:t.jsx(Ke,{icon:k,label:"",className:"",svgClassName:"text-field__icon-svg",size:Qe})}),Se(),h!=null&&R&&t.jsxs("span",{className:`text-field__count caption-2${Je?" text-field__count--over":""}`,children:[Re,"/",h]}),st&&t.jsx(de,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:$("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ae=>{Ae.preventDefault()},onClick:()=>{!re&&ae.current&&(ae.current.value="",Ee(0)),i?.("")},tabIndex:-1}),E&&!st&&t.jsx("span",{className:"text-field__icon text-field__icon--right",children:t.jsx(Ke,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Qe})})]}),!!I&&t.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:ue.open&&(n??"").length>0&&ue.filtered.length===0?$("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),ie&&(typeof document>"u"?null:Xt.createPortal(t.jsx("ul",{id:ue.listId,className:"text-field__suggestions",role:"listbox",style:W??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:ue.filtered.map((Ae,ee)=>t.jsx("li",{id:`${ue.listId}-option-${ee}`,role:"option","aria-selected":ee===ue.activeIdx,className:`text-field__suggestion body-2${ee===ue.activeIdx?" is-active":""}`,onMouseDown:fe=>fe.preventDefault(),onClick:()=>{ue.handleSelect(Ae),ae.current?.focus()},children:typeof Ae=="string"?Ae:t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"text-field__suggestion-label",children:Ae.label}),Ae.hint&&t.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Ae.hint})]})},typeof Ae=="string"?`${Ae}-${ee}`:Ae.id))}),document.body)),(w||y)&&t.jsx("div",{className:"text-field__footer",children:t.jsx("span",{id:J,className:"text-field__helper caption-1",role:y?"alert":void 0,children:y||w})})]})}function sn({options:e,value:n,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:u=!1,className:d="",ariaLabel:c,ariaDescribedBy:p}){const{t:m}=be.useTranslation(),C=r??m("dropdown.placeholder","\uC120\uD0DD"),g=o.useId(),v=o.useId(),f=o.useRef(null),y=o.useCallback((j,M)=>{const O=window.innerHeight-j.bottom<260&&j.top>260;return{position:"fixed",left:j.left,minWidth:j.width,...O?{bottom:window.innerHeight-j.top+6}:{top:j.bottom+6},zIndex:Aa(M)}},[]),{open:w,setOpen:h,toggle:_,style:b,triggerRef:A,menuRef:x}=ka({computeStyle:y}),[N,B]=o.useState(-1),k=o.useCallback(()=>B(-1),[]),E=e.find(j=>j.value===n);o.useEffect(()=>{if(w){const j=e.findIndex(M=>M.value===n);B(j>=0?j:e.length?0:-1),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const O=M.querySelectorAll(".dropdown__option")[j];O&&(M.scrollTop=Math.max(0,O.offsetTop-M.clientHeight/2+O.clientHeight/2))})}},[w]),o.useEffect(()=>{w&&B(j=>{if(j>=0&&j<e.length)return j;const M=e.findIndex(O=>O.value===n);return M>=0?M:e.length?0:-1})},[w,e.length]);const S=o.useCallback(()=>{s||_()},[s,_]),z=o.useCallback(j=>{j.disabled||s||(j.value!==n&&a?.(j.value),h(!1))},[a,h,s,n]);o.useEffect(()=>{s&&h(!1)},[s,h]);const R=o.useCallback(j=>{if(!s){if(!w){(j.key==="Enter"||j.key===" "||j.key==="ArrowDown")&&(j.preventDefault(),h(!0));return}if(j.key==="Escape"){j.preventDefault(),h(!1);return}j.key==="ArrowDown"?(j.preventDefault(),B(M=>{let O=M+1;for(;O<e.length&&e[O].disabled;)O++;return O<e.length?O:M})):j.key==="ArrowUp"?(j.preventDefault(),B(M=>{let O=M-1;for(;O>=0&&e[O].disabled;)O--;return O>=0?O:M})):(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),e[N]?z(e[N]):h(!1))}},[s,w,e,N,z,h]),q=w?t.jsx("div",{ref:x,id:g,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:b,onMouseLeave:k,onMouseDown:j=>j.preventDefault(),children:e.map((j,M)=>t.jsxs("button",{id:`${g}-option-${M}`,type:"button",role:"option","aria-selected":j.value===n,className:De("dropdown__option body-2",j.value===n?"dropdown__option--active":"",M===N?"dropdown__option--active":"",j.disabled?"dropdown__option--disabled":""),onMouseDown:O=>O.preventDefault(),onClick:()=>z(j),onMouseEnter:()=>B(M),disabled:j.disabled,children:[t.jsx("span",{className:"dropdown__option-check",children:j.value===n&&t.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),j.label]},j.value))}):null;return t.jsxs("div",{ref:f,className:De("dropdown",`dropdown--s${l}`,w?"dropdown--open":"",i?"dropdown--block":"",u?"dropdown--error":"",d),onKeyDown:R,children:[t.jsxs("button",{ref:A,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?g:void 0,"aria-activedescendant":w&&N>=0?`${g}-option-${N}`:void 0,"aria-label":c,"aria-describedby":[c&&E?v:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:s,onClick:S,onBlur:j=>{w&&!x.current?.contains(j.relatedTarget)&&h(!1)},children:[t.jsx("span",{id:v,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:C}),t.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Xt.createPortal(q,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Qa({page:e,totalPages:n,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=be.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),c=Math.max(1,n),p=()=>a(Math.max(1,Math.min(c,e-1))),m=()=>a(Math.min(c,e+1));return t.jsxs("div",{className:De("pagination",i),children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:u,disabled:e<=1,onClick:p}),t.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),c)," / ",c]}),t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=n,onClick:m})]})}function An(e){const{t:n}=be.useTranslation(),{options:a=[],value:r=a.find(h=>!h.disabled)?.key??a[0]?.key,onChange:s=h=>{},className:i="",size:l=40,shape:u="pill",useBG:d=!0,fullWidth:c=!1,minButtonWidth:p,ariaLabel:m}=e||{},C=o.useRef(null),g=a.filter(h=>!h.disabled),v=h=>{if(!g.length)return;const _=Math.max(0,g.findIndex(A=>A.key===r)),b=h==="first"?g[0]:h==="last"?g[g.length-1]:g[(_+h+g.length)%g.length];b&&(s(b.key),Array.from(C.current?.querySelectorAll("[data-segkey]")??[]).find(A=>A.dataset.segkey===b.key)?.focus())},f=h=>{switch(h.key){case"ArrowRight":case"ArrowDown":v(1);break;case"ArrowLeft":case"ArrowUp":v(-1);break;case"Home":v("first");break;case"End":v("last");break;default:return}h.preventDefault()},y=h=>{const _=b=>typeof b=="string"||typeof b=="number";if(!(!_(h.label)||h.count==null||h.count===!1||!_(h.count)))return`${h.label}, ${h.count}`},w=g.some(h=>h.key===r)?r:g[0]?.key;return t.jsx("div",{ref:C,onKeyDown:f,className:De("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,c&&"segmented-control--full",!d&&"segmented-control--no-bg",p!=null&&"segmented-control--min",i),style:p!=null?{"--segmented-min-button-w":`${p}px`}:void 0,role:"radiogroup","aria-label":m??n("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(h=>t.jsx(de,{htmlType:"button",role:"radio","aria-checked":h.key===r,"data-segkey":h.key,tabIndex:h.key===w?0:-1,label:h.label,count:h.count,ariaLabel:y(h),disabled:h.disabled,className:h.key===r?"is-selected":"",onClick:()=>{h.disabled||s(h.key)},size:l,shape:u,useBorder:!1,useBG:!1},h.key))})}function uo({count:e,search:n,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:u}){const{t:d}=be.useTranslation(),c=e!=null&&t.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??d("common.totalPrefix","\uCD1D "),t.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(n||r?.length||s||i||l);return t.jsxs("div",{className:De("toolbar",u),children:[t.jsxs("div",{className:"toolbar__row",children:[c,a&&(Array.isArray(a)?a:[a]).map((m,C)=>t.jsx(An,{size:40,...m},m.ariaLabel??C))]}),p&&t.jsx("div",{className:"toolbar__row",children:t.jsxs("div",{className:"toolbar__row-end",children:[n&&t.jsx(Un,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??d("common.search","\uAC80\uC0C9"),autoFocus:n.autoFocus,clearable:!0}),r?.map((m,C)=>t.jsx(sn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},C)),(s||i)&&t.jsxs("div",{className:"toolbar__pager",children:[s&&t.jsx(sn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&t.jsx(Qa,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}function Ol(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Ol).join(""):""}function F4(e){let n=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|
|
855
855
|
`);n=n.replace(/^\n+/,"").replace(/\n+$/,"");const a=n.split(`
|
|
856
856
|
`).map(i=>i.replace(/\t/g," ")),r=a.filter(i=>i.trim().length>0),s=r.length>0?Math.min(...r.map(i=>i.match(/^ */)?.[0].length??0)):0;return a.map(i=>i.slice(s)).join(`
|
|
857
857
|
`)}const O4=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),H4=/^(?:const|let|var|function|return|if|else|for|while|switch|case|break|import|from|export|class|new|try|catch|finally|throw|await|async|null|true|false|this|typeof|instanceof)\b/;function z4(e,n){let a=e;const r=[],s=/^(?:sh|bash|zsh|shell|console)$/.test(n.toLowerCase()),i=(l,u)=>r.push({type:l,content:u});for(;a.length>0;){const l=a.match(/^\s+/);if(l){i("whitespace",l[0]),a=a.slice(l[0].length);continue}if(!s&&a.startsWith("//")){const v=a.indexOf(`
|
|
858
858
|
`),f=v===-1?a:a.slice(0,v);i("comment",f),a=a.slice(f.length);continue}if(s&&a.startsWith("#")){const v=a.indexOf(`
|
|
859
|
-
`),f=v===-1?a:a.slice(0,v);i("comment",f),a=a.slice(f.length);continue}const u=a.match(/^\/\*[\s\S]*?\*\//);if(u){i("comment",u[0]),a=a.slice(u[0].length);continue}const d=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(d){i("string",d[0]),a=a.slice(d[0].length);continue}const c=a.match(/^\d+(?:\.\d+)?/);if(c){i("number",c[0]),a=a.slice(c[0].length);continue}const p=a.match(H4);if(p){i("keyword",p[0]),a=a.slice(p[0].length);continue}const m=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(m){const v=m[0];i(s&&O4.has(v)?"command":"identifier",v),a=a.slice(v.length);continue}const C=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(C){i("operator",C[0]),a=a.slice(C[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function V4({children:e,language:n="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=be.useTranslation(),[u,d]=o.useState(!1),c=F4(Ol(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await MC(c))return;d(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>d(!1),2e3)}catch{}},C=z4(c,n),g=s==="small"?"caption-1":"body-3";return t.jsxs("div",{className:De("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&t.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[t.jsx("div",{className:"code-box__title caption-1",children:a}),r&&t.jsx(de,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:u?"check":"copy",onClick:m,ariaLabel:u?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),t.jsx("pre",{className:"code-box__inner","data-lang":n,children:t.jsx("code",{children:C.map((v,f)=>t.jsx("span",{className:`code-token ${v.type} ${g}`,children:v.content},f))})})]})}const W4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Ta(e){const{t:n}=be.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||n("loader.loading","Loading");if(a==="bar"){const d=s==null||!Number.isFinite(Number(s)),c=d?0:Math.max(0,Math.min(100,Number(s)));return t.jsx("div",{className:`loader-bar${d?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":d?void 0:c,"aria-label":l,children:t.jsx("div",{className:"loader-bar__inner",style:d?void 0:{width:`${c}%`}})})}const u=typeof r=="number"?`${r}px`:r;return t.jsxs("div",{className:"loader-spinner",style:{width:u,height:u},role:"status","aria-label":l,children:[t.jsx("span",{style:W4,children:l}),t.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[t.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),t.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function Hl({checked:e,onChange:n,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:u}){const d=r&&t.jsx("span",{className:"toggle__label body-3",children:r});return t.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&d,t.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:c=>n?.(c.target.checked),"aria-label":!r&&s?s:void 0}),t.jsx("span",{className:"toggle__slider"}),i==="right"&&d]})}function zl({checked:e=!1,onChange:n,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:u,ariaLabel:d}){const c=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{c.current&&(c.current.indeterminate=!!r)}),t.jsxs("label",{className:De("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:u,children:[t.jsx("input",{ref:c,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:C=>{n?.(C.target.checked),c.current&&(c.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&d?d:void 0}),t.jsx("span",{className:"checkbox__box"}),s&&t.jsx("span",{className:"checkbox__label body-3",children:s})]})}function q4({count:e,actions:n,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:u}=be.useTranslation(),d=s!==void 0?s:e>0,c=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),C=o.useRef(null),g=o.useRef(d);o.useLayoutEffect(()=>{const h=m.current,_=g.current;if(g.current=d,d&&!_){const b=typeof document<"u"?document.activeElement:null;C.current=b&&b!==document.body&&!h?.contains(b)?b:null}else!d&&_&&h&&h.contains(document.activeElement)&&Ua(h,C.current)},[d]);const[v,f]=o.useState(!1),y=o.useRef(!1),w=o.useRef(null);return o.useEffect(()=>{const h=p.current;if(!h)return;const _=k=>{y.current=k,f(k)},b=()=>{const k=h.firstElementChild??h,E=Array.from(k.children);if(E.length<2){_(!1);return}const S=E[0].offsetTop,z=E.some(F=>F.offsetTop!==S);if(!y.current){w.current=h.clientWidth,z&&_(!0);return}if(z)return;const R=E[0],U=E[E.length-1],j=U.offsetLeft+U.offsetWidth-R.offsetLeft,L=w.current;(L==null||j<=L)&&_(!1)};if(b(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(b);A.observe(h);const x=h.parentElement;let N=x?.clientWidth??0;const B=new ResizeObserver(()=>{const k=x?.clientWidth??0;k!==N&&(N=k,w.current=null,b())});return x&&B.observe(x),()=>{A.disconnect(),B.disconnect()}},[i,e]),t.jsxs("div",{ref:m,className:`bulk-bar ${d?"bulk-bar--visible":""}`,inert:!d||void 0,"aria-hidden":d?void 0:!0,children:[t.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??t.jsx("b",{children:u("common.selectedCount",{count:e})})}),l!==void 0&&t.jsx(yt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`,"aria-label":u("common.selectedOfMax",{count:e,max:l,defaultValue:`\uCD5C\uB300 ${l}\uAC1C \uC911 ${e}\uAC1C`})}),t.jsxs("div",{className:`bulk-bar__actions${v?" bulk-bar__actions--stacked":""}`,children:[t.jsx(de,{htmlType:"button",size:40,label:c,onClick:a}),n.map((h,_)=>t.jsx(de,{htmlType:"button",size:40,variant:h.variant??"default",icon:h.icon,label:h.label,onClick:h.onClick},_))]})]})}const U4=[{\uC5F4\uC1E0:"edit",icon:"edit-2",\uB2EB\uACE0\uD560\uAE4C:!0},{\uC5F4\uC1E0:"duplicate",icon:"copy",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"publish",icon:"book-marked",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"copyLink",icon:"link",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"remove",icon:"trash-2",\uB2EB\uACE0\uD560\uAE4C:!0}];function G4(e){const{onClose:n,className:a}=e;return t.jsx("div",{className:De("item-actions",a),children:U4.map(({\uC5F4\uC1E0:r,icon:s,\uB2EB\uACE0\uD560\uAE4C:i})=>{const l=e[r];if(!l)return null;const u=r==="publish"?l.published?l.unpublish:l.publish:l;return t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:s,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{i&&n(),u.onClick()}},r)})})}function Vl(e,n){const a=()=>{if(e){const[f,y]=e.split("-");return{y:+f,m:+y-1}}const[g,v]=Ir(n).split("-");return{y:+g,m:+v-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),u=o.useRef(e);o.useEffect(()=>{if(e===u.current)return;u.current=e;const g=a();s(g.y),l(g.m)},[e]);const d=o.useRef({y:r,m:i});o.useEffect(()=>{d.current={y:r,m:i}},[r,i]);const c=o.useCallback(g=>{const v=d.current.y*12+d.current.m+g,f=Math.floor(v/12),y=v-f*12;d.current={y:f,m:y},s(f),l(y)},[]),p=o.useCallback(()=>c(-1),[c]),m=o.useCallback(()=>c(1),[c]),C=o.useCallback((g,v)=>{d.current={y:g,m:v},s(g),l(v)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:C}}function er(e,n){return new Date(e,n+1,0).getDate()}function K4(e,n){return new Date(e,n,1).getDay()}function tr(e,n,a){return`${e}-${String(n+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function Y4(e){if(!e)return"";const[n,a,r]=e.split("-");return`${n}. ${a}. ${r}.`}function Z4(e,n,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let u=s;u<=i;u++)for(let d=0;d<12;d++){const c=`${u}-${String(d+1).padStart(2,"0")}`;a&&c<a.slice(0,7)||r&&c>r.slice(0,7)||l.push({value:c,label:n(u,d+1)})}return l}function X4({value:e,onChange:n,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:u,today:d}){const{t:c}=be.useTranslation(),p=l??c("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>c("calendar.dow",{returnObjects:!0}),[c]),C=Ir(d),{viewY:g,viewM:v,prevMonth:f,nextMonth:y,setViewYM:w}=Vl(e,d),h=o.useId(),_=o.useCallback((D,O)=>{const M=window.innerHeight,P=window.innerWidth,$=typeof document<"u"?document.getElementById(h):null,Y=Math.max($?.offsetHeight||0,$?.scrollHeight||0)||300,ne=Math.max(D.width,$?.offsetWidth||0,260),J=M-D.bottom,ae=D.top,ue=J<Y&&ae>J,ie=8,xe=(W,Q)=>Math.min(Math.max(ie,W),Math.max(ie,Q));return{position:"fixed",left:xe(D.left,P-ne-ie),width:D.width,minWidth:260,...ue?{top:"auto",bottom:xe(M-D.top+6,M-Y-ie)}:{bottom:"auto",top:xe(D.bottom+6,M-Y-ie)},zIndex:Aa(O)}},[h]),{open:b,setOpen:A,toggle:x,style:N,triggerRef:B,menuRef:k}=ka({computeStyle:_,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!b)return;const D=k.current;return(D?.querySelector(".date-picker__day--selected:not(:disabled)")??D?.querySelector(".date-picker__day--today:not(:disabled)")??D?.querySelector(".date-picker__day:not(:disabled)")??D?.querySelector(mn)??D)?.focus?.(),()=>{const O=document.activeElement;(!O||O===document.body)&&B.current?.focus?.()}},[b,k,B]);const[E,S]=o.useState(1),z=o.useRef(null),R=o.useRef(null);o.useEffect(()=>{if(!b)return;const D=e&&e.slice(0,7)===`${g}-${String(v+1).padStart(2,"0")}`?+e.slice(8):C.slice(0,7)===`${g}-${String(v+1).padStart(2,"0")}`?+C.slice(8):1;S(D)},[b]),o.useEffect(()=>{if(R.current==null)return;const D=R.current;R.current=null,z.current?.querySelector(`[data-day="${D}"]`)?.focus()}),o.useEffect(()=>{S(D=>Math.min(D,er(g,v)))},[g,v]);const U=o.useCallback(D=>{let O=tr(D.getFullYear(),D.getMonth(),D.getDate());r&&O<r&&(O=r),s&&O>s&&(O=s);const[M,P,$]=O.split("-").map(Number);(M!==g||P-1!==v)&&w(M,P-1),S($),R.current=$},[r,s,g,v,w]),j=o.useCallback(D=>{const O=new Date(g,v,E),M=$=>{O.setDate(O.getDate()+$),U(O)},P=$=>{const Y=O.getFullYear()*12+O.getMonth()+$,ne=Math.floor(Y/12),J=Y-ne*12;U(new Date(ne,J,Math.min(O.getDate(),er(ne,J))))};switch(D.key){case"ArrowLeft":M(-1);break;case"ArrowRight":M(1);break;case"ArrowUp":M(-7);break;case"ArrowDown":M(7);break;case"Home":M(-O.getDay());break;case"End":M(6-O.getDay());break;case"PageUp":D.shiftKey?P(-12):P(-1);break;case"PageDown":D.shiftKey?P(12):P(1);break;default:return}D.preventDefault()},[g,v,E,U]),L=o.useCallback(D=>{i||(n(tr(g,v,D)),A(!1))},[g,v,n,A,i]);o.useEffect(()=>{i&&A(!1)},[i,A]);const F=D=>{const O=tr(g,v,D);return!!(r&&O<r||s&&O>s)},K=(()=>{const D=er(g,v);if(E>=1&&E<=D&&!F(E))return E;for(let O=1;O<=D;O++)if(!F(O))return O;return-1})(),te=[];for(let D=0;D<K4(g,v);D++)te.push(null);for(let D=1;D<=er(g,v);D++)te.push(D);const V=a===64?20:a===40?16:18,I=Z4(g,(D,O)=>c("calendar.yearMonth",{year:D,month:O,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),q=`${g}-${String(v+1).padStart(2,"0")}`,H=b?Xt.createPortal(t.jsxs("div",{ref:k,id:h,className:"date-picker__dropdown",style:N,"data-tooltip-ignore":!0,role:"dialog","aria-label":c("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[t.jsxs("div",{className:"date-picker__nav",children:[t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":c("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(is,{size:16,strokeWidth:2})}),t.jsx(sn,{className:"date-picker__nav-dropdown",ariaLabel:c("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:I,value:q,onChange:D=>{const[O,M]=D.split("-");w(+O,+M-1)},block:!0,size:40}),t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:y,"aria-label":c("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(ls,{size:16,strokeWidth:2})})]}),t.jsxs("div",{className:"date-picker__grid",ref:z,onKeyDown:j,children:[m.map(D=>t.jsx("div",{className:"date-picker__dow caption-1",children:D},D)),te.map((D,O)=>{if(D===null)return t.jsx("div",{},`e${O}`);const M=tr(g,v,D),P=M===e,$=M===C,Y=F(D),ne=O%7;return t.jsx("button",{type:"button",disabled:Y,"data-day":D,tabIndex:D===K?0:-1,"aria-current":$?"date":void 0,onClick:()=>!Y&&L(D),className:De("date-picker__day caption-1",P&&"date-picker__day--selected",$&&!P&&"date-picker__day--today",Y&&"date-picker__day--disabled",ne===0&&"date-picker__day--sun",ne===6&&"date-picker__day--sat"),children:D},D)})]})]}),document.body):null;return t.jsxs("div",{className:De("date-picker",`date-picker--s${a}`,b&&"date-picker--open",u),children:[t.jsxs("button",{ref:B,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&x(),disabled:i,"aria-haspopup":"true","aria-expanded":b,children:[t.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?Y4(e):p}),t.jsx(gs,{size:V,className:"date-picker__icon",strokeWidth:1.5})]}),H]})}function Wl({children:e,className:n}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useEffect(()=>{s(a.current?.parentElement??null)},[]),o.useEffect(()=>{const i=a.current;if(!i||!r)return;const l=()=>{const d=typeof window<"u"&&window.getComputedStyle(i).position==="absolute"?Math.ceil(i.getBoundingClientRect().width):0;d>0?r.style.setProperty("--section-head-float-w",`${d}px`):r.style.removeProperty("--section-head-float-w")};if(l(),typeof ResizeObserver>"u")return()=>{r.style.removeProperty("--section-head-float-w")};const u=new ResizeObserver(()=>l());return u.observe(i),u.observe(r),()=>{u.disconnect(),r.style.removeProperty("--section-head-float-w")}},[r,e]),t.jsx("div",{ref:a,className:De("section-head-float",n),children:e})}function co({items:e,className:n}){return t.jsx("div",{className:n?`manager-bar-chart-legend ${n}`:"manager-bar-chart-legend",children:e.map((a,r)=>t.jsxs("span",{className:"manager-bar-chart-legend-item",children:[t.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ma({label:e,children:n}){return e?t.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[t.jsx("span",{className:"barchart-total__label body-3",children:e}),t.jsx("span",{className:"barchart-total__value",children:n})]}):t.jsx("div",{className:"barchart-total",children:n})}function po({title:e,titleClassName:n="h3",titleLevel:a=3,icon:r,disc:s,headRight:i,headFloat:l,headSegment:u,headMenuItems:d,collapseBelow:c=420,onClick:p,ariaLabel:m,tooltip:C,totalNum:g,totalUnit:v,totalLabel:f,subRow:y,subRowAlign:w="start",className:h,inGrid:_=!1,children:b}){const{t:A}=be.useTranslation(),x=o.useRef(null),{anchorRect:N,openAt:B,close:k}=wa(),E=o.useCallback(()=>{C&&x.current&&B(x.current)},[C,B]),[S,z]=o.useState(!1);lo(()=>{const M=x.current;if(!M||!u)return;const P=Y=>z(Y>0&&Y<c);if(P(M.clientWidth),typeof ResizeObserver>"u")return;const $=new ResizeObserver(Y=>P(Y[0].contentRect.width));return $.observe(M),()=>$.disconnect()},[u,c]);const[R,U]=o.useState(null),j=o.useCallback(()=>U(null),[]),L=o.useCallback(M=>{const P=M.currentTarget.getBoundingClientRect();U($=>$?null:{left:P.left,right:P.right,top:P.top,bottom:P.bottom,width:P.width,height:P.height,x:P.x,y:P.y})},[]),F=!!u&&S;o.useEffect(()=>{F||U(null)},[F]);const K=u?[...u.options.map(M=>({label:M.label,icon:M.icon,selected:M.key===u.value,disabled:M.disabled,onClick:()=>u.onChange(M.key),closeOnSelect:!0})),...(d??[]).map((M,P)=>P===0?{...M,separatorBefore:!0}:M)]:[],te=o.useCallback(M=>{if(!p)return;const P=M.target;P&&typeof P.closest=="function"&&P.closest('button, a, input, select, textarea, [role="radiogroup"]')||p()},[p]),V=o.useCallback(M=>{p&&M.target===M.currentTarget&&(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),p())},[p]),I=typeof i=="function"?i({collapsed:F}):i,q=g!=null||f?t.jsxs(Ma,{label:f,children:[g!=null&&t.jsx("span",{className:"barchart-total__num h0",children:g}),v&&t.jsx("span",{className:"barchart-total__unit h5",children:v})]}):null,H=I||u?t.jsxs("div",{className:"manager-section__head-right",children:[u&&(F?t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??A("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??A("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!R,onClick:L}):t.jsx(An,{size:32,ariaLabel:u.ariaLabel,options:u.options.map(M=>({key:M.key,label:M.label,disabled:M.disabled})),value:u.value,onChange:u.onChange})),I]}):null,D=o.useId(),O=a?`h${a}`:"div";return t.jsxs("section",{ref:x,className:["manager-section",_&&"manager-section--grid",p&&"manager-section--clickable",h].filter(Boolean).join(" "),onClick:p?te:void 0,onKeyDown:p?V:void 0,onPointerEnter:C?E:void 0,onPointerLeave:C?k:void 0,onFocus:C?E:void 0,onBlur:C?k:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,"aria-label":p?m??(typeof e=="string"?e:void 0):void 0,"aria-labelledby":!p&&e!=null?D:void 0,children:[C&&N&&t.jsx(vn,{anchorRect:{left:N.left,top:N.top+21,right:N.right,bottom:N.bottom,width:N.width,height:N.height},text:C}),l&&t.jsx(Wl,{children:l}),t.jsxs("div",{className:"manager-section__head",children:[t.jsxs("div",{className:"manager-section__title-row",children:[r&&t.jsx(Ke,{icon:r,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),t.jsx(O,{id:D,className:["manager-section__title",n].filter(Boolean).join(" "),children:e})]}),H,s&&t.jsx("div",{className:"manager-section__disc body-3",children:s})]}),(q||y)&&t.jsxs("div",{className:["barchart-sub-row",w!=="start"&&`barchart-sub-row--${w}`].filter(Boolean).join(" "),children:[q,y]}),b,R&&t.jsx(rn,{anchorRect:R,onClose:j,ariaLabel:u?.ariaLabel??A("tooltip.menu","\uBA54\uB274"),children:t.jsx(Ba,{columns:[{items:K}],onClose:j,size:"small"})})]})}function hn(e,n){const a=new Date(e,n,1).getDay();return 1+(8-(a===0?7:a))%7}function J4(){const e=Jn();let n=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<hn(n,a)){const l=new Date(n,a,0);n=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-hn(n,a))/7),i=`${n}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function Q4(e){const n=Jn(),a=`${n.getFullYear()}\uB144 ${n.getMonth()+1}\uC6D4`,r=(d,c)=>`${d}\uB144 ${c+1}\uC6D4`,s=new Map;s.set(a,[]);for(const d of e){if(isNaN(d.date.getTime()))continue;const c=r(d.date.getFullYear(),d.date.getMonth());s.has(c)||s.set(c,[]),s.get(c).push(d)}for(const[d,c]of[...s.entries()]){const p=d.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),C=Number(p[2])-1,g=hn(m,C);if(!(d===a&&n.getDate()<g)&&!c.some(y=>y.date.getDate()<g))continue;const v=new Date(m,C,0),f=r(v.getFullYear(),v.getMonth());s.has(f)||s.set(f,[])}const i=new Map;for(const[d,c]of s){const p=d.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),C=Number(p[2])-1,g=new Date(m,C+1,0).getDate(),v=c.reduce((b,A)=>Math.max(b,A.parts?.length??0,A.partsB?.length??0),0),f=c.some(b=>b.partsB),y=new Array(g+1).fill(0),w=new Array(g+1).fill(0),h=Array.from({length:g+1},()=>new Array(v).fill(0)),_=Array.from({length:g+1},()=>new Array(v).fill(0));for(const b of c){const A=b.date.getDate();if(y[A]+=b.a,w[A]+=b.b,b.parts)for(let x=0;x<v;x++)h[A][x]+=b.parts[x]??0;if(b.partsB)for(let x=0;x<v;x++)_[A][x]+=b.partsB[x]??0}i.set(d,{year:m,month:C,daysInMonth:g,partsLen:v,hasPartsB:f,dayA:y,dayB:w,dayParts:h,dayPartsB:_})}const l=(d,c,p)=>new Date(d,c,p).getTime()>new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),u={};for(const[d,c]of i){const{year:p,month:m,daysInMonth:C,dayA:g,dayB:v,dayParts:f,dayPartsB:y}=c,w=p===n.getFullYear()&&m===n.getMonth(),h=n.getDate(),_=i.get(r(m===11?p+1:p,(m+1)%12)),b=c.partsLen,A=[];for(let N=1;N<=C;N++){const B=w&&N>h;A.push({label:String(N),...B&&g[N]===0&&v[N]===0?{future:!0}:{},a:B&&g[N]===0&&v[N]===0?-1:g[N],b:v[N],...b?{parts:f[N]}:{},...b&&c.hasPartsB?{partsB:y[N]}:{}})}const x=[];for(let N=hn(p,m);N<=C;N+=7){const B=Math.max(0,N+6-C),k=B&&_?Math.max(b,_.partsLen):b,E=c.hasPartsB||!!(B&&_?.hasPartsB);let S=0,z=0;const R=new Array(k).fill(0),U=new Array(k).fill(0);for(let L=N;L<=Math.min(N+6,C);L++){S+=g[L],z+=v[L];for(let F=0;F<b;F++)R[F]+=f[L][F],U[F]+=y[L][F]}if(B&&_)for(let L=1;L<=B&&!l(_.year,_.month,L);L++){S+=_.dayA[L],z+=_.dayB[L];for(let F=0;F<_.partsLen;F++)R[F]+=_.dayParts[L][F],U[F]+=_.dayPartsB[L][F]}const j=B?`${(m+1)%12+1}/${B}`:`${N+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${N}\uC77C~${j}\uC77C]`,a:S,b:z,...k?{parts:R}:{},...k&&E?{partsB:U}:{}})}u[d]={weekly:x,daily:A}}return u}function ql(){const e=Jn(),n=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=n;s++){const i=s===n?a:12;for(let l=1;l<=i;l++){const u=`${s}\uB144 ${l}\uC6D4`;r.push({value:u,label:u,year:s,month:l})}}return r.reverse()}ql();function ey(){return ql()}const Ul=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Gl(e){const{t:n,i18n:a}=be.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>ey().filter(k=>k.value in e),[e]),l=o.useMemo(()=>{const k=[];for(const E of i){const S=new Date(E.year,E.month,0).getDate(),z=hn(E.year,E.month-1),R=Math.ceil((S-z+1)/7);for(let U=R-1;U>=0;U--)k.push({value:`${E.value}#${U}`,monthKey:E.value,year:E.year,month:E.month,week:U})}return k},[i]),u=o.useCallback(k=>{const E=n("calendar.yearMonth",{year:k.year,month:k.month});return a.language?.startsWith("ko")?`${E} ${Ul[k.week]??`${k.week+1}`}\uC8FC`:`${E} Week ${k.week+1}`},[n,a.language]),d=o.useMemo(()=>i.map(k=>({value:k.value,label:n("calendar.yearMonth",{year:k.year,month:k.month})})),[n,i]),c=o.useMemo(()=>l.map(k=>({value:k.value,label:u(k)})),[l,u]),p=o.useMemo(()=>J4(),[e]),m=o.useMemo(()=>i.find(k=>k.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),C=o.useMemo(()=>l.find(k=>k.value===p.value)?.value??l[0]?.value??"",[l,p]),[g,v]=o.useState(""),[f,y]=o.useState("");o.useEffect(()=>{i.find(k=>k.value===g)||v(m)},[i,g,m]),o.useEffect(()=>{l.find(k=>k.value===f)||y(C)},[l,f,C]);const w=r==="month"?d:c,h=r==="month"?g:f,_=r==="month"?v:y,b=o.useMemo(()=>{const k=n("calendar.dow",{returnObjects:!0});return Array.isArray(k)?k:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[n]),A=w.findIndex(k=>k.value===h),x=o.useCallback(()=>{const k=w.findIndex(E=>E.value===h);k<w.length-1&&_(w[k+1].value)},[w,h,_]),N=o.useCallback(()=>{const k=w.findIndex(E=>E.value===h);k>0&&_(w[k-1].value)},[w,h,_]),B=o.useMemo(()=>[{key:"week",label:n("manager.chart.periodWeek","\uC8FC")},{key:"month",label:n("manager.chart.periodMonth","\uC6D4")}],[n]);return{period:r,setPeriod:s,range:h,setRange:_,activeOptions:w,activeIdx:A,handlePrev:x,handleNext:N,periodOptions:B,monthRange:g,weekRange:f,weekRanges:l,DOW:b}}const pt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,n=!0){return e.future===!0||n&&e.a===-1}function ty({data:e,colorA:n,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:u=140,maxOverride:d,tightMax:c,seriesColors:p,seriesLabels:m,rateLabels:C,grouped:g=!1,baseline:v,focusableBars:f=!1}){const y=!a,w=!!(p&&p.length>0),h=v,_=o.useMemo(()=>w?Math.max(0,...e.filter(V=>!kn(V,h==null)).map(V=>g?Math.max(0,...(V.parts??[]).map(pt)):(V.parts??[]).reduce((I,q)=>I+Math.max(0,pt(q)),0))):Math.max(0,...e.filter(V=>!kn(V,h==null)).flatMap(V=>y?[pt(V.a)]:[pt(V.a),pt(V.b)])),[e,y,w,g]),b=o.useMemo(()=>{if(h==null)return 0;const V=e.filter(I=>!kn(I,h==null)).flatMap(I=>w?(I.parts??[]).map(pt):y?[pt(I.a)]:[pt(I.a),pt(I.b)]);return Math.max(0,...V.map(I=>Math.abs(I-h)))},[e,h,w,y]),A=o.useMemo(()=>{const V=h!=null?b:_;return d??(c?V>0?V:10:Math.ceil(V/10)*10||10)},[_,b,h,d,c]),x=u,N=w?g?Math.max(1,p.length):1:y?1:2,B={"--bar-width":`${o.useMemo(()=>{const V=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(V*N)+6)))},[e.length,N,i])}px`},k={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const V=Math.round(A/2);return h!=null?[h+A,...V!==A?[h+V]:[],h,...V!==A?[h-V]:[],h-A]:V!==A?[A,V,0]:[A,0]},[A,h]),S=V=>h!=null?1-(V-(h-A))/(2*A):1-V/A,[z,R]=o.useState(null),U=o.useCallback(()=>R(null),[]),j=o.useCallback((V,I)=>{const q=[V.label,V.sublabel].filter(Boolean).join(" ");let H;if(w&&g&&V.rawPartsB)H=(m??[]).map((D,O)=>{const M=V.rawPartsB[O]??0;return{text:M>0?`${D}: ${I[O]??0}% (${V.rawParts?.[O]??0}/${M})`:`${D}: -`,color:(p??[])[O]}});else if(w&&g)H=(m??[]).map((D,O)=>({text:`${D}: ${K(I[O]??0)}`,color:(p??[])[O]}));else if(w){const D=(m??[]).map((M,P)=>({text:`${M}: ${I[P]??0}`,color:(p??[])[P]})),O=D.filter((M,P)=>(I[P]??0)>0);H=O.length?O:D}else C&&!y?H=[{text:`${r} ${pt(V.a)}%`,color:n},{text:`${s} ${pt(V.b)}%`,color:a}]:C&&V.rawB!==void 0?H=[{text:`${C.total} ${V.rawB}`},{text:`${C.done} ${V.rawA??0}`,color:n}]:y?H=[{text:`${r}: ${pt(V.a)}`,color:n}]:H=[{text:`${r}: ${pt(V.a)}`,color:n},{text:`${s}: ${pt(V.b)}`,color:a}];return{title:q,items:H}},[w,g,m,p,C,y,r,s,n,a,h]),L=o.useCallback((V,I,q)=>{const H=V.getBoundingClientRect(),{title:D,items:O}=j(I,q);R({rect:{left:H.left,top:H.top,right:H.right,bottom:H.bottom,width:H.width,height:H.height},title:D,items:O})},[j]),F=o.useCallback((V,I)=>{const{title:q,items:H}=j(V,I);return[q,...H.map(D=>D.text)].filter(Boolean).join(", ")},[j]),K=V=>h!=null&&V>h?`+${V}`:`${V}`,te=z!=null;return o.useEffect(()=>{if(!te)return;const V=()=>R(null),I=q=>{const H=q.target;H&&typeof H.closest=="function"&&H.closest(".manager-bar-chart-col")||R(null)};return window.addEventListener("scroll",V,!0),document.addEventListener("pointerdown",I,!0),()=>{window.removeEventListener("scroll",V,!0),document.removeEventListener("pointerdown",I,!0)}},[te]),t.jsxs("div",{className:"manager-bar-chart-wrap",style:k,children:[t.jsx("div",{className:"manager-bar-chart-inner",children:t.jsx("div",{className:"manager-bar-chart-scroll",children:t.jsxs("div",{className:"manager-bar-chart-area",children:[t.jsxs("div",{className:"manager-bar-chart-plot",style:{height:x},children:[E.slice(0,-1).map((V,I)=>t.jsx("div",{className:`manager-bar-chart-gridline${h!=null&&V===h?" manager-bar-chart-gridline--baseline":""}`,style:{top:S(V)*x},children:t.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:V})},I)),e.map((V,I)=>{const q=kn(V,h==null),H=x/2,D=$=>h!=null?Math.min(H,Math.abs(pt($)-h)/A*H):Math.min(x,Math.max(0,pt($)/A*x)),O=q?0:D(V.a),M=q?0:D(V.b),P=(V.parts??[]).map(pt);return t.jsx("div",{className:`manager-bar-chart-col${g&&w?" manager-bar-chart-col--group":""}`,style:{cursor:q?"default":"pointer"},tabIndex:f&&!q?0:void 0,role:f&&!q?"img":void 0,"aria-label":f&&!q?F(V,P):void 0,onMouseEnter:q?void 0:$=>L($.currentTarget,V,P),onFocus:q||!f?void 0:$=>L($.currentTarget,V,P),onBlur:f?U:void 0,onMouseLeave:U,children:!q&&(w&&g?(p??[]).map(($,Y)=>{const ne=P[Y]??0;if(h==null)return t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:D(ne),background:$}},Y);const J=pt(ne)<h;return t.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!J&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D(ne),background:$}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:J&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D(ne),background:$}})})]},Y)}):w?t.jsx("div",{className:"manager-bar-chart-stack",style:B,children:(()=>{const $=P.reduce((ne,J,ae)=>J>0?ae:ne,-1);let Y=x;return P.map((ne,J)=>{if(ne<=0)return null;const ae=Math.min(Y,ne/A*x);return Y-=ae,t.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:ae,background:(p??[])[J],borderRadius:J===$?"6px 6px 0 0":void 0}},J)})})()}):h!=null?t.jsx(t.Fragment,{children:[{v:pt(V.a),c:n},...y?[]:[{v:pt(V.b),c:a}]].map(({v:$,c:Y},ne)=>t.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:$>=h&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D($),background:Y}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:$<h&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D($),background:Y}})})]},ne))}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:O,background:n}}),!y&&t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:M,background:a}})]}))},I)})]}),t.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((V,I)=>{const q=kn(V,h==null);return t.jsxs("span",{className:`manager-bar-chart-x-axis__label${q?" manager-bar-chart-x-axis__label--future":""}`,children:[t.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[V.isToday&&t.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:n}}),V.label]}),V.sublabel&&t.jsx("span",{className:"caption-1",children:V.sublabel})]},I)})})]})})}),z&&t.jsx(Vn,{anchorRect:z.rect,title:z.title,items:z.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Kl({control:e}){const{t:n}=be.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:u,periodOptions:d,period:c,setPeriod:p}=e,m=c==="week"?n("calendar.prevWeek","\uC774\uC804 \uC8FC"):n("calendar.prevMonth","\uC774\uC804 \uB2EC"),C=c==="week"?n("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):n("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return t.jsxs("div",{className:"manager-section-controls",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),t.jsx(sn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:n("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:C,showTooltipInfo:C,disabled:r<=0,onClick:u}),t.jsx(An,{ariaLabel:n("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:d,value:c,onChange:g=>p(g),size:40})]})}function mo(e,n,a,r=!0){const s=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(i,l)=>{const u=new Date(n);u.setDate(n.getDate()+l);const d=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],c=d!=null&&kn(d,r)||u>s;return{dt:u,entry:d,isFuture:c}})}function ny(e,n,a,r,s=!0){const{period:i,monthRange:l,weekRange:u,weekRanges:d,DOW:c}=n,p=r?.startsWith("ko"),m=Jn(),C=m.getFullYear(),g=m.getMonth()+1,v=m.getDate();if(i==="month"){const w=e[l]??{weekly:[],daily:[]},h=l.match(/^(\d+)년 (\d+)월$/),_=h?Number(h[1]):null,b=h?Number(h[2]):null,A=_&&b?hn(_,b-1):1;return w.weekly.map((x,N)=>{const B=N+1;let k=x.label,E=!1,S=!1;if(_&&b){const z=A+N*7,R=new Date(_,b-1,z+6),U=R.getMonth()+1,j=R.getDate(),L=U===b?`${j}`:`${U}/${j}`;k=a("manager.chart.weekRange",{start:z,end:L});const F=new Date(C,g-1,v).getTime();E=F>=new Date(_,b-1,z).getTime()&&F<=R.getTime(),S=_>C||_===C&&(b>g||b===g&&z>v)}return{...x,label:k,sublabel:p?`${Ul[B-1]??B}\uC8FC`:`Week ${B}`,isToday:E,future:x.future===!0||S||void 0,a:S?-1:x.a,b:S?0:x.b}})}const f=d.find(w=>w.value===u);if(!f)return[];const y=new Date(f.year,f.month-1,hn(f.year,f.month-1)+f.week*7);return mo(e,y,m,s).map(({dt:w,entry:h,isFuture:_})=>{const b=w.getMonth()+1,A=w.getDate(),x=w.getFullYear();return{label:b===f.month&&x===f.year?`${A}`:`${b}/${A}`,sublabel:c[w.getDay()]??"",future:_||void 0,a:_?-1:h&&h.a>0?h.a:0,b:_?0:h&&h.b>0?h.b:0,isToday:x===C&&b===g&&A===v,...h?.parts?{parts:_?h.parts.map(()=>0):h.parts}:{},...h?.partsB?{partsB:_?h.partsB.map(()=>0):h.partsB}:{}}})}const ay={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function ry({focusableBars:e,size:n="medium",barWidth:a,titleKey:r,titleLevel:s,data:i,colorA:l,colorB:u,labelAKey:d,labelBKey:c,showTotal:p=!1,totalUnitKey:m,totalLabelKey:C,control:g,hideControls:v=!1,rate:f=!1,rateAgg:y="dayMean",tightMax:w=!1,avgMode:h=!1,totalFormat:_,series:b,seriesMode:A="stack",loading:x=!1,onDetail:N,headExtra:B,headSegment:k,icon:E,disc:S,onClick:z,cardAriaLabel:R,cardTooltip:U,detailSize:j=32,barGap:L,baseline:F,className:K,inGrid:te=!1}){const{t:V,i18n:I}=be.useTranslation(),q=ay[n],H=Gl(i),D=g??H,O=o.useMemo(()=>ny(i,D,V,I.language,F==null),[i,D,V,I.language,F]),M=A==="group"&&!!b&&b.length>0;L!=null&&!M&&pn("bar-chart-bargap-without-group","[BarChart] barGap \uC740 seriesMode='group' + series \uC5D0\uC11C\uB9CC \uC4F0\uC778\uB2E4 \u2014 \uADF8 \uBC16\uC5D0\uC11C\uB294 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4.");const P=o.useMemo(()=>{if(!f)return O;const ae=D.period==="month"?D.monthRange.match(/^(\d+)년 (\d+)월$/):null,ue=Jn(),ie=b?.length??0,xe=W=>{const Q=[],se=[],ke=[];for(let me=0;me<ie;me++){let re=0,Ce=0,ge=0;for(const Ee of W){const Re=pt(Ee.a[me]),Le=pt(Ee.b[me]);Le<=0||(re+=Re,Ce+=Le,ge+=Re/Le*100)}Q.push(y==="weighted"?Ce>0?Math.round(re/Ce*100):0:W.length?Math.round(ge/W.length):0),se.push(re),ke.push(Ce)}return{pct:Q,ra:se,rb:ke}};return O.map((W,Q)=>{let se=W.a===-1?-1:W.b>0?Math.round(W.a/W.b*100):0;if(ae&&!kn(W)){const me=Number(ae[1]),re=Number(ae[2])-1,Ce=mo(i,new Date(me,re,hn(me,re)+Q*7),ue).filter(ge=>!ge.isFuture);if(y==="weighted"){let ge=0,Ee=0;for(const{entry:Re}of Ce)Re&&Re.b>0&&(ge+=Re.a,Ee+=Re.b);se=Ee>0?Math.round(ge/Ee*100):0}else se=Ce.length?Math.round(Ce.reduce((ge,{entry:Ee})=>ge+(Ee&&Ee.b>0?Ee.a/Ee.b*100:0),0)/Ce.length):0}let ke=null;if(M&&!kn(W)){let me;if(ae){const Ce=Number(ae[1]),ge=Number(ae[2])-1;me=mo(i,new Date(Ce,ge,hn(Ce,ge)+Q*7),ue).filter(Ee=>!Ee.isFuture).map(({entry:Ee})=>({a:Ee?.parts??[],b:Ee?.partsB??[]}))}else me=[{a:W.parts??[],b:W.partsB??[]}];const re=xe(me);ke={parts:re.pct,rawParts:re.ra,rawPartsB:re.rb}}return{...W,a:se,b:W.a===-1?0:c&&W.parts&&W.parts[1]>0?Math.round(W.parts[0]/W.parts[1]*100):0,rawA:W.a===-1?-1:W.a,rawB:W.b,...ke??{}}})},[O,f,y,c,D.period,D.monthRange,i,M,b?.length]),$=o.useMemo(()=>{if(f||h){const ue=(D.period==="week"?O:i[D.monthRange]?.daily??[]).filter(xe=>xe.a!==-1);if(ue.length===0)return 0;if(f&&y==="weighted"){let xe=0,W=0;for(const Q of ue)Q.b>0&&(xe+=Q.a,W+=Q.b);return W>0?Math.round(xe/W*100):0}const ie=f?ue.reduce((xe,W)=>xe+(W.b>0?W.a/W.b*100:0),0):ue.reduce((xe,W)=>xe+(W.a>0?W.a:0),0);return Math.round(ie/ue.length)}const ae=D.period==="month"?i[D.monthRange]?.daily??[]:P;return F!=null?ae.reduce((ue,ie)=>ue+(kn(ie,!1)?0:pt(ie.a)+(c?pt(ie.b):0)),0):ae.reduce((ue,ie)=>ue+(ie.a>0?ie.a:0)+(c&&ie.b>0?ie.b:0),0)},[P,O,f,y,h,F,c,D.period,D.monthRange,i]),Y=b&&b.length>0?b.map(ae=>({color:ae.color,label:ae.label})):[{color:l,label:V(d)},...c?[{color:u,label:V(c)}]:[]],ne=n==="small",J=[ne?"manager-section--compact":n==="large"?"manager-section--full":void 0,K].filter(Boolean).join(" ")||void 0;return t.jsx(po,{className:J,inGrid:te,icon:E,disc:S,onClick:z,ariaLabel:R,tooltip:U,headSegment:k,headMenuItems:N?[{label:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:N,closeOnSelect:!0}]:void 0,title:V(r),titleLevel:s,titleClassName:ne?"h5 chart-section-title--small":void 0,headRight:ne?B??void 0:({collapsed:ae})=>t.jsxs(t.Fragment,{children:[!v&&t.jsx(Kl,{control:D}),B,N&&!ae&&t.jsx("span",{className:"manager-bar-chart-detail-btn",children:t.jsx(de,{htmlType:"button",size:j,type:"dot",icon:"list",ariaLabel:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),showTooltipInfo:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:N})})]}),subRow:t.jsxs(t.Fragment,{children:[p?f||h||C&&_?t.jsx(Ma,{label:ne?void 0:`${V(D.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${V(C??d)}`,children:_?(_($).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((ae,ue)=>/\d/.test(ae)?t.jsx("span",{className:"barchart-total__num h0",children:ae},ue):t.jsx("span",{className:"barchart-total__unit h5",children:ae},ue)):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"barchart-total__num h0",children:$}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]})}):t.jsxs(Ma,{children:[t.jsx("span",{className:"barchart-total__num h0",children:$}),t.jsx("span",{className:"barchart-total__unit h5",children:V(d)}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]}):t.jsx("span",{}),t.jsx(co,{items:Y,className:"caption-1"})]}),children:x?t.jsx("div",{className:"manager-bar-chart-wrap manager-bar-chart-loading","aria-busy":"true",children:t.jsx("div",{className:"manager-bar-chart-inner",children:t.jsxs("div",{className:"manager-bar-chart-area manager-bar-chart-area--loading",children:[t.jsx("div",{className:"manager-bar-chart-plot manager-bar-chart-plot--loading",style:{height:q.height},children:t.jsx(Ta,{size:32})}),t.jsx("div",{className:"manager-bar-chart-x-axis","aria-hidden":"true",children:t.jsxs("span",{className:"manager-bar-chart-x-axis__label",children:[t.jsx("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:"\xA0"}),P.some(ae=>!!ae.sublabel)&&t.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):t.jsx(ty,{focusableBars:e,data:P,colorA:l,colorB:c?u:void 0,labelA:V(d),labelB:c?V(c):void 0,barWidth:a??q.barWidth,barGap:L,baseline:F,height:q.height,maxOverride:f?100:void 0,tightMax:w,seriesColors:b?.map(ae=>ae.color),seriesLabels:b?.map(ae=>ae.label),rateLabels:f?{total:V("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:V("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:M})})}const Yl=120,oy={left:38,right:16,top:26,bottom:24};function sy({points:e=[],range:n,ticks:a=[],axisTitle:r,color:s,height:i=156,fallbackWidth:l=320,insets:u,overlay:d,ariaLabel:c,className:p}){const[m,C]=o.useState(null),[g,v]=o.useState(null);o.useEffect(()=>{if(!g)return;const F=te=>C(Math.round(te)||null);if(F(g.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const K=new ResizeObserver(([te])=>F(te.contentRect.width));return K.observe(g),()=>{K.disconnect()}},[g]);const{payload:f,anchorRect:y,openAfterDelay:w,close:h}=db(Yl),_=o.useCallback((F,K)=>{F&&w(F,K.getBoundingClientRect())},[w]),b=m??l,A=i,{left:x,right:N,top:B,bottom:k}={...oy,...u},[E,S]=n,z=F=>S===E?x:x+(b-x-N)*(F-E)/(S-E),R=F=>B+(A-B-k)*(100-F)/100,U={x:z,y:R,plot:{left:x,right:b-N,top:B,bottom:A-k,width:Math.max(0,b-x-N),height:Math.max(0,A-B-k)}},j=e.filter(F=>!F.hollow),L=s??"var(--color-main)";return t.jsxs(t.Fragment,{children:[t.jsxs("svg",{ref:v,className:De("line-chart",p),viewBox:`0 0 ${b} ${A}`,role:"img","aria-label":c??e.map(F=>F.description).filter(Boolean).join(", "),children:[r&&t.jsx("text",{className:"line-chart__axis-title",x:0,y:12,children:r}),[0,100].map(F=>t.jsxs("g",{children:[t.jsx("line",{className:"line-chart__grid",x1:x,x2:b-N,y1:R(F),y2:R(F)}),t.jsxs("text",{className:"line-chart__tick",x:x-6,y:R(F)+4,textAnchor:"end",children:[F,"%"]})]},F)),d?.(U),a.map(F=>t.jsx("text",{className:"line-chart__tick",x:z(F.x),y:A-5,textAnchor:"middle",children:F.label},F.x)),j.length>1&&t.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:L,points:j.map(F=>`${z(F.x)},${R(F.pct)}`).join(" ")}),e.map(F=>t.jsxs("g",{className:"line-chart__dot",onPointerEnter:K=>_(F.description,K.currentTarget),onPointerLeave:h,children:[t.jsx("circle",{className:"line-chart__dot-hit",cx:z(F.x),cy:R(F.pct),r:12}),t.jsx("circle",{className:De("line-chart__dot-main",F.hollow&&"is-hollow"),cx:z(F.x),cy:R(F.pct),r:4,stroke:L,fill:F.hollow?void 0:L})]},F.x))]}),f!=null&&t.jsx(rn,{anchorRect:y,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:f,children:f})]})}function iy({icon:e,iconSize:n=56,title:a,titleClass:r="h2",description:s,tipGroups:i,start:l,className:u}){return t.jsxs("div",{className:De("game-intro",u),children:[e!=null&&t.jsx("span",{className:"game-intro__icon","aria-hidden":"true",style:{"--game-intro-icon":`${n}px`},children:e}),t.jsx("h2",{className:De("game-intro__title",r),children:a}),s!=null&&t.jsx("p",{className:"game-intro__description body-3",children:s}),i?.map((d,c)=>t.jsxs("div",{className:"game-intro__tips",children:[d.title!=null&&t.jsx("span",{className:"game-intro__tips-title body-3",children:d.title}),d.tips.map((p,m)=>t.jsxs("span",{className:"game-intro__tip body-3",children:[p.icon!=null&&t.jsx("span",{"aria-hidden":"true",children:p.icon}),t.jsx("span",{children:p.text})]},m))]},c)),l&&t.jsx(de,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const Zl=(e,n,a)=>{const r=new Date(Date.UTC(e,n,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Xl=(e,n,a,r)=>({from:li(e,n,a),to:new Date(li(e,n,a+r).getTime()-1),fromYmd:Zl(e,n,a),toYmd:Zl(e,n,a+r-1)});function ly(e,n=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Jn(),l=s?Number(s[1]):i.getFullYear(),u=(s?Number(s[2]):i.getMonth()+1)-1+n,d=new Date(Date.UTC(l,u+1,0)).getUTCDate();return Xl(l,u,1,d)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=va();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=hn(a.year,a.month-1);return Xl(a.year,a.month-1,r+(a.week+n)*7,7)}const ho={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Jl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function Ql({done:e,total:n,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:u=!1,hideLabel:d=!1}){const c=typeof s=="number"?s:ho[s].diameter,p=i??(typeof s=="number"?12:ho[s].strokeWidth),m=c/2,C=(c-p)/2,g=2*Math.PI*C;if(a&&a.length>0){const w=a.reduce((h,_)=>{const b=h.length>0?h[h.length-1].acc:0,A=Number.isFinite(_.ratio)?_.ratio:0,x=Math.max(0,Math.min(A,1-b));return h.push({color:_.color,rotate:-90+b*360,dash:g*x,acc:b+x}),h},[]);return t.jsx("div",{className:"ring-chart",style:{width:c,height:c},children:t.jsxs("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),w.map((h,_)=>h.dash>0&&t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:h.color,strokeWidth:p,strokeDasharray:`${h.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${h.rotate} ${m} ${m})`},_))]})})}const v=(n??0)>0?Math.min((e??0)/n,1):0,f=g*v,y=g-f;return t.jsxs("div",{className:"ring-chart",style:{width:c,height:c},children:[t.jsxs("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),v>0&&t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${f} ${y}`,strokeLinecap:v<.02||v>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!u&&t.jsxs("div",{className:`ring-chart__center${d?"":` ${c<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[t.jsx("span",{className:`ring-chart__pct ${c<=96?"h2":"h1"}`,children:Jl(v)}),!d&&t.jsx("span",{className:`ring-chart__label ${c<=96?"caption-2":"caption-1"}${c<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function uy({titleKey:e,titleLevel:n,headRight:a,icon:r,showTotal:s,totalLabelKey:i,legend:l,loading:u,className:d,inGrid:c=!1,onClick:p,ariaLabel:m,tooltip:C,...g}){const{t:v}=be.useTranslation();if(!e)return t.jsx(Ql,{...g});const f=(g.total??0)>0?Jl(Math.min((g.done??0)/g.total,1)):0,y=g.size==="small",w=typeof g.size=="number"?g.size:ho[g.size??"medium"].diameter,h=g.size==="large",_=[d,y?"manager-section--compact":h?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=r&&t.jsx("span",{className:"chart-section-icon",children:t.jsx(Ke,{icon:r,className:"chart-section-icon-inner"})});return t.jsx(po,{className:_,inGrid:c,onClick:p,ariaLabel:m,tooltip:C,title:v(e),titleLevel:n,titleClassName:y?"h5 chart-section-title--small":void 0,headRight:b||(y?void 0:a),subRow:(s||l)&&t.jsxs(t.Fragment,{children:[s?t.jsxs(Ma,{label:!y&&i?v(i):void 0,children:[t.jsx("span",{className:"barchart-total__num h0",children:f}),t.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):t.jsx("span",{}),l&&t.jsx(co,{items:l})]}),children:u?t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx("div",{className:"ring-chart ring-chart--loading",style:{width:w,height:w},"aria-busy":"true",children:t.jsx(Ta,{size:32})})}):t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx(Ql,{...g,hideCenter:g.hideCenter??y})})})}function cy({label:e,value:n,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:u}){const d=o.useRef(null),{anchorRect:c,openAt:p,close:m}=wa(),C=o.useCallback(()=>{i&&d.current&&p(d.current)},[i,p]),g=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),v=a===void 0?void 0:a>0?`+${a}`:`${a}`,f=o.useCallback(y=>{l&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),l())},[l]);return t.jsxs("div",{ref:d,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?f:void 0,onPointerEnter:C,onPointerLeave:m,onFocus:C,onBlur:m,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,n,v].filter(y=>y!==void 0&&y!=="").join(" "):void 0,children:[i&&c&&t.jsx(vn,{anchorRect:{left:c.left,top:c.top+21,right:c.right,bottom:c.bottom,width:c.width,height:c.height},text:i}),t.jsxs("div",{className:"manager-stat-card__label-row",children:[t.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&t.jsx("span",{className:"manager-stat-card__icon",children:t.jsx(Ke,{icon:s,className:"manager-stat-card__icon-inner"})})]}),t.jsxs("div",{className:"manager-stat-card__content",children:[t.jsxs("div",{className:"manager-stat-card__left",children:[t.jsx("div",{className:"manager-stat-card__value h2",children:n}),v&&t.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${g??"neutral"} caption-1`,children:v})]}),u&&t.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function eu({value:e,onChange:n,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:u=!1,ariaLabel:d,length:c,className:p,label:m,formatValue:C,labelPos:g,labelAlign:v="right",showMinMax:f=!1,minLabel:y,maxLabel:w,showBgTick:h=!1,showFillTick:_=!1,tickStep:b,tickShape:A="dot"}){n&&!d&&pn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const x=Math.min(r,Math.max(a,e)),N=r>a?(x-a)/(r-a):0,B=i==="vertical",k=!n,E=D=>n?.(Number(D.target.value)),S=typeof c=="number"?`${c}px`:c,z={"--slider-ratio":String(N),"--slider-thumb":`${l}px`,...S?B?{height:S}:{width:S}:{}},R=b??s,U=(h||_)&&R>0&&r>a?Math.floor((r-a)/R+1e-6):0;if(U>0&&U<=100){const D=A!=="dash",O=ne=>D?`radial-gradient(circle, ${ne} 0.5px, transparent 1px)`:B?`linear-gradient(to bottom, transparent calc(50% - 2px), ${ne} calc(50% - 2px), ${ne} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${ne} calc(50% - 2px), ${ne} calc(50% + 2px), transparent calc(50% + 2px))`,M=D?"2px":"4px",P=[],$=[],Y=[];for(let ne=0;ne<=U;ne++){const J=ne*R/(r-a);if(J>1+1e-6)break;const ae=`${((B?1-J:J)*100).toFixed(4)}%`,ue=J<=N+1e-6;if(ue?!_:!h)continue;const ie=ue?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";P.push(O(ie)),$.push(B?`${M} var(--slider-thumb)`:`var(--slider-thumb) ${M}`),Y.push(B?`center ${ae}`:`${ae} center`)}P.push(B?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),$.push("100% 100%"),Y.push("0 0"),z.backgroundImage=P.join(", "),z.backgroundSize=$.join(", "),z.backgroundPosition=Y.join(", "),z.backgroundRepeat="no-repeat"}const j=C?C(x):m==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:m==="count"?`${x} / ${r}`:x===a&&y?y:x===r&&w?w:void 0,L=t.jsx("input",{type:"range",className:De("slider",`slider--${i}`,k&&"slider--static",!m&&!f&&p),min:a,max:r,step:s,value:x,disabled:u,readOnly:k,tabIndex:k?-1:void 0,"aria-label":d,"aria-valuetext":j,"aria-orientation":i,onChange:E,style:z});if(!m&&!f)return L;const F=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??a}),K=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:w??r}),te=f?t.jsxs("div",{className:De("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[B?K:F,L,B?F:K]}):L;if(!m)return te;const V=g??(B?"bottom":"right"),I=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,q=C?C(x):m==="percent"?I:m==="count"?`${x} / ${r}`:String(x),H=t.jsx("span",{className:"slider-wrap__value body-3b",children:q});return t.jsxs("div",{className:De("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${V}`,`slider-wrap--align-${v}`,p),children:[te,H]})}const dy=.86,py=250,Co=(e,n,a,r)=>Math.round(Math.min(r,Math.max(a,e-n))),fo=(e,n,a,r)=>{const s=Co(e,n,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function go({analyser:e,audioElement:n,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:u=-60,refDb:d=-35,displayMin:c=-5,displayMax:p=25,className:m,ariaLabel:C}){const g=o.useRef(null),v=o.useRef(null),f=o.useRef(null),y=o.useRef(null),[w,h]=o.useState(null);o.useEffect(()=>{const x=L=>{const F=fo(L,d,c,p);f.current&&(f.current.textContent=F);const K=g.current;K&&(K.setAttribute("aria-valuenow",String(Co(L,d,c,p))),K.setAttribute("aria-valuetext",F))},N=e??oC(n)??(w&&w.el===n?w.node:null),B=v.current;if(!N||!B){B?.style.setProperty("--meter-level","0"),x(u);let L=!1;return!e&&n&&Oa(n).then(F=>{!L&&F&&h({el:n,node:F})}),()=>{L=!0}}Tr();const k=new Float32Array(N.fftSize);let E=0,S=0,z=0,R=0,U=null;const j=L=>{const F=sC(N,k);E=F>E?F:E*dy;const K=E>1e-5?20*Math.log10(E):-1/0,te=Math.max(u,K),V=te-d,I=Math.min(1,Math.max(0,(V-c)/(p-c)));if(B.style.setProperty("--meter-level",I.toFixed(3)),S+=te,z+=1,L-R>=py){const q=S/z;U=U==null?q:U*.6+q*.4,x(U),S=0,z=0,R=L}y.current=requestAnimationFrame(j)};return y.current=requestAnimationFrame(j),()=>{y.current!=null&&cancelAnimationFrame(y.current),y.current=null}},[e,n,w,u,d,c,p]);const _=typeof r=="number"?`${r}px`:r,b=t.jsx("div",{className:"audio-meter__track",style:_?a==="vertical"?{height:_}:{width:_}:{},children:t.jsx("div",{ref:v,className:"audio-meter__fill"})}),A=i??(a==="vertical"?"bottom":"right");return t.jsxs("div",{ref:g,className:De("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${A}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":C,"aria-valuemin":c,"aria-valuemax":p,"aria-valuenow":Co(u,d,c,p),"aria-valuetext":fo(u,d,c,p),children:[b,s&&t.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:fo(u,d,c,p)})]})}const tu=260;function nu({message:e,position:n,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,u]=o.useState(!1),d=o.useRef(l),c=o.useRef(s);o.useEffect(()=>{d.current=l},[l]),o.useEffect(()=>{c.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),C=o.useRef(r);o.useEffect(()=>{C.current=r});const g=a,v=o.useRef(null),f=o.useRef(0),y=o.useRef(0),w=o.useRef(!1),h=o.useRef(null),_=o.useRef(null),b=o.useRef(null),A=o.useRef(null),x=o.useRef(()=>{});x.current=k=>{k<0||(f.current=Date.now(),y.current=k,v.current=setTimeout(()=>{v.current=null,i(!1),h.current=setTimeout(()=>{u(!1);try{C.current()}catch{}},tu)},k))};const N=o.useCallback(()=>{w.current||!v.current||(w.current=!0,clearTimeout(v.current),v.current=null,y.current=Math.max(0,y.current-(Date.now()-f.current)))},[]),B=o.useCallback(()=>{w.current&&(w.current=!1,x.current(y.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)),e){if(c.current)return g>0&&!v.current&&(w.current?y.current=g:x.current(g)),m.current=e,()=>{v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)};const k=()=>{const E=p.current;if(E)try{E.classList.remove("is-visible"),E.style.transition="none",n==="top"?E.style.transform="translateX(-50%) translateY(-16px)":E.style.transform="translateX(-50%) translateY(16px)",E.style.opacity="0",E.offsetWidth,E.style.transition="",E.classList.add("is-visible"),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};d.current?(k(),i(!0)):(u(!0),_.current=requestAnimationFrame(()=>{b.current=requestAnimationFrame(()=>{k(),i(!0)})})),g>0&&(w.current=!1,x.current(g))}else i(!1),h.current=setTimeout(()=>u(!1),tu);return m.current=e,()=>{v.current&&clearTimeout(v.current),h.current&&clearTimeout(h.current),_.current&&cancelAnimationFrame(_.current),b.current&&cancelAnimationFrame(b.current),A.current&&clearTimeout(A.current),v.current=null,h.current=null,_.current=null,b.current=null,A.current=null}},[e,g,n]),{mounted:l,showing:s,popupRef:p,pause:N,resume:B}}function ra({message:e="",position:n="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:u,pause:d,resume:c}=nu({message:e,position:n,duration:s,onClose:r}),p=o.useRef(null),[m,C]=o.useState(!1);if(o.useEffect(()=>{l?C(!0):i||C(!1)},[l,i]),!i)return null;const g=a==="notice"||a==="warning"?a:"normal",v=t.jsx("div",{ref:u,className:`toast toast--${n} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:f=>{p.current=f.pointerType},onMouseEnter:()=>{p.current!=="touch"&&d()},onMouseLeave:c,onFocusCapture:d,onBlurCapture:c,children:t.jsx("div",{className:`toast__inner toast__inner--${g} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?Xt.createPortal(v,document.body):v}const my=24;function hy({value:e,max:n=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:u,labelAlign:d="right",ariaLabel:c,className:p}){const m=Number.isFinite(n)&&n>0?n:1,C=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),g=C/m*100,v=Number.isFinite(n)&&n>0?n:0,f=u??(a>=my?"inside":"bottom"),y=f==="center"?"inside":f,w=y==="inside"&&(d==="left"?g>=15:d==="center"?g>=50:g>=85),h={};return r&&(h["--progress-bar-fill"]=r),s&&(h["--progress-bar-track"]=s),t.jsxs("div",{className:De("progress-bar",`progress-bar--${a}`,`progress-bar--label-${y}`,i&&`progress-bar--align-${d}`,i&&w&&"progress-bar--label-on-fill",p),style:h,children:[t.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":C,"aria-valuemin":0,"aria-valuemax":v,"aria-valuetext":i?l?l(C):i==="percent"?void 0:i==="raw"?String(C):`${C} / ${v}`:void 0,"aria-label":c,children:t.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&t.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(C):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(C):`${C} / ${v}`})]})}const au={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Cy="rgba(255, 255, 255, 0.16)";function ru({max:e,index:n,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:u}){const{t:d}=be.useTranslation(),c=tn("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(n)?Math.max(0,Math.min(n,e-1)):0,m=u??d("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),C={};if(a&&(C["--pi-inactive-bg"]=a),r&&(C["--pi-inactive-color"]=r),s&&(a||(C["--pi-inactive-bg"]=Cy),r||(C["--pi-inactive-color"]="var(--color-white)")),i==="dot")return t.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:C,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&t.jsx("span",{style:au,children:m}),Array.from({length:e}).map((v,f)=>t.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<p?" done":f===p?" active":""}`},f))]});const g=l?t.jsx("span",{role:"status",style:au,children:m}):null;return c?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:C,role:"list","aria-label":m,children:t.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),g]}):t.jsxs(t.Fragment,{children:[g,t.jsx("div",{className:"progress-indicator",style:C,role:"list","aria-label":m,children:Array.from({length:e}).map((v,f)=>t.jsx("span",{role:"listitem","aria-current":f===p?"step":void 0,className:`progress-indicator-dot ${f<p?" done":f===p?" active":""} body-3`,children:f+1},f))})]})}function fy(e){if(!e)return[];const n=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(n.push(r),r="");continue}r+=s}return r&&n.push(r),n}function gy({children:e,className:n,style:a}){return t.jsx("div",{className:n?`table-cell ${n}`:"table-cell",style:a,children:e})}function bo({variant:e="default",children:n,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:d,expandedContent:c}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?t.jsx("div",{className:"table-row-wrap",children:t.jsx("div",{className:"table-row table-row--loading",children:t.jsx(Ta,{size:28})})}):e==="empty"?t.jsx("div",{className:"table-row-wrap",children:t.jsx("div",{className:"table-row table-row--empty body-3",children:n})}):t.jsxs("div",{className:"table-row-wrap",children:[t.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:d,role:s?"button":void 0,tabIndex:s?0:void 0,children:n}),c&&t.jsx("div",{className:"table-row-expand",children:c})]})}function by({dir:e}){return t.jsx(e==="asc"?ys:bs,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function yy({children:e,onClick:n,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=t.jsxs(t.Fragment,{children:[e,r&&t.jsx(by,{dir:r})]});return t.jsxs("div",{onClick:n,role:"columnheader","aria-sort":s,className:De("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[n?t.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&t.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:u=>u.stopPropagation(),"aria-hidden":"true"})]})}function yo({fields:e=[],headerGroups:n,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:d,onRowDragEnd:c,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:C,resizable:g=!1,resizeMode:v="grow",resizeStorageKey:f,size:y="small",title:w,icon:h,count:_,collapsed:b=!1,onToggleCollapse:A,headerActions:x,empty:N,loading:B,dragOver:k=!1,onDragOver:E,onDragLeave:S,onDrop:z,renderExpandedRow:R,expandedId:U}){const{t:j}=be.useTranslation(),L=tn("(max-width: 767px)"),F=C&&L?C:null,K=g&&!L,te=48,V=o.useRef(()=>te),I=f?`table-cols:${f}`:null,q=o.useRef(null),H=o.useRef(null),D=o.useRef(null),O=o.useRef(null),[M,P]=o.useState(!1),$=o.useCallback(()=>{const ee=D.current;ee&&P(ee.scrollWidth>ee.clientWidth+1)},[]),Y=o.useCallback((ee,fe)=>{const ze=ee.current;ze&&H.current&&H.current.unobserve(ze),ee.current=fe,fe?(!H.current&&typeof ResizeObserver<"u"&&(H.current=new ResizeObserver(()=>$())),H.current?.observe(fe)):!D.current&&!O.current&&(H.current?.disconnect(),H.current=null),$()},[$]),ne=o.useCallback(ee=>Y(D,ee),[Y]),J=o.useCallback(ee=>Y(O,ee),[Y]);o.useEffect(()=>{$()}),o.useEffect(()=>{if(typeof window>"u")return;const ee=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>$()):null;return window.addEventListener("resize",$),()=>{ee!=null&&cancelAnimationFrame(ee),window.removeEventListener("resize",$)}},[$]);const ae=o.useRef(()=>!1),ue=o.useRef([]),ie=o.useRef(null),xe=ee=>{if(!ee||typeof window>"u")return null;try{const fe=JSON.parse(window.localStorage.getItem(ee)??"null");return Array.isArray(fe)&&fe.length>0&&fe.every(ze=>typeof ze=="number"&&Number.isFinite(ze)&&ze>0)?fe:null}catch{return null}},[W,Q]=o.useState(()=>xe(I)),[se,ke]=o.useState(I);se!==I&&(ke(I),Q(xe(I)));const me=o.useRef(W);o.useEffect(()=>{me.current=W},[W]);const re=o.useCallback(ee=>{const fe=ie.current;if(!fe)return;const ze=me.current;if(ze){const Be=[...ze];if(fe.next!=null&&fe.startWNext!=null){const je=ee.clientX-fe.startX,pe=Math.max(V.current(fe.index)-fe.startW,Math.min(fe.startWNext-V.current(fe.next),je));Be[fe.index]=fe.startW+pe,Be[fe.next]=fe.startWNext-pe}else Be[fe.index]=Math.max(V.current(fe.index),fe.startW+(ee.clientX-fe.startX));me.current=Be,Q(Be)}},[]),Ce=o.useCallback(()=>{if(ie.current=null,window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",Ce),window.removeEventListener("pointercancel",Ce),document.body.style.cursor="",document.body.style.userSelect="",I&&me.current)try{window.localStorage.setItem(I,JSON.stringify(me.current))}catch{}},[re,I]),ge=o.useCallback((ee,fe)=>{fe.preventDefault(),fe.stopPropagation();const ze=q.current;if(!ze)return;const Be=Array.from(ze.children).map(pe=>pe.getBoundingClientRect().width),je=v==="fit"?e.findIndex((pe,$e)=>$e>ee&&pe.resizable!==!1):-1;ie.current=je>=0?{index:ee,startX:fe.clientX,startW:Be[ee],next:je,startWNext:Be[je]}:{index:ee,startX:fe.clientX,startW:Be[ee]},me.current=Be,Q(Be),window.addEventListener("pointermove",re),window.addEventListener("pointerup",Ce),window.addEventListener("pointercancel",Ce),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[re,Ce,v,e]),Ee=o.useCallback(()=>{const ee=q.current,fe=ee?.closest(".table-wrap");if(!ee||!fe)return;const ze=fe.style.getPropertyValue("--table-grid-cols");fe.style.setProperty("--table-grid-cols",e.map((Ze,We)=>ae.current(We)?ue.current[We]:"max-content").join(" "));const Be=Array.from(fe.querySelectorAll(".table-row")).filter(Ze=>!Ze.classList.contains("table-row--loading")&&!Ze.classList.contains("table-row--empty")),je=e.map((Ze,We)=>{let Pe=ee.children[We]?.getBoundingClientRect().width??0;for(const Oe of Be){const it=Oe.children[We];it&&(Pe=Math.max(Pe,it.getBoundingClientRect().width))}const Xe=ae.current(We)?parseFloat(ue.current[We]):NaN;return Number.isFinite(Xe)?Xe:Math.max(V.current(We),Math.ceil(Pe))}),pe=window.getComputedStyle(ee),$e=ee.clientWidth-(parseFloat(pe.paddingLeft)||0)-(parseFloat(pe.paddingRight)||0);ze?fe.style.setProperty("--table-grid-cols",ze):fe.style.removeProperty("--table-grid-cols");let nt=je;const _t=je.reduce((Ze,We,Pe)=>Ze+(ae.current(Pe)?We:0),0),kt=je.reduce((Ze,We,Pe)=>Ze+(ae.current(Pe)?0:We),0),dt=$e-_t;if($e>0&&kt>0&&dt>0){const Ze=dt/kt;nt=je.map((Pe,Xe)=>ae.current(Xe)?Pe:Math.max(V.current(Xe),Math.round(Pe*Ze)));const We=Math.round(dt-nt.reduce((Pe,Xe,Oe)=>Pe+(ae.current(Oe)?0:Xe),0));if(We!==0){let Pe=-1;nt.forEach((Xe,Oe)=>{!ae.current(Oe)&&(Pe<0||Xe>nt[Pe])&&(Pe=Oe)}),Pe>=0&&(nt[Pe]=Math.max(V.current(Pe),nt[Pe]+We))}}if(Q(nt),I)try{window.localStorage.setItem(I,JSON.stringify(nt))}catch{}},[e,v,I]);o.useEffect(()=>()=>{ie.current&&(window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",Ce),window.removeEventListener("pointercancel",Ce),document.body.style.cursor="",document.body.style.userSelect="")},[re,Ce]);const Re=fy(m),Le=Re.filter(ee=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(ee));Le.length>0&&pn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${Le.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const Je=e.findIndex(ee=>!!ee.sortDir);e.filter(ee=>!!ee.sortDir).length>1&&pn("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const Qe=ee=>ee===Je?e[ee].sortDir==="asc"?"ascending":"descending":e[ee].onClick?"none":void 0,qe=ee=>/^\d+(\.\d+)?px$/.test(Re[ee]??""),Fe=ee=>{const fe=Re[ee]??"",ze=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(fe)??/^(\d+(?:\.\d+)?)px$/.exec(fe);return ze?parseFloat(ze[1]):te};ae.current=qe,V.current=Fe,ue.current=Re;const st=ee=>v==="fit"&&!qe(ee)?"fr":"px",et=W&&W.length===e.length&&!L&&(v==="fit"||a.length>0),Ye=F??(et?e.map((ee,fe)=>ee.resizable===!1&&Re[fe]?Re[fe]:`${W[fe]}${st(fe)}`).join(" "):m),Se=Ye?{"--table-grid-cols":Ye}:void 0,Ae=w!==void 0;return t.jsx("div",{ref:ne,className:`table-wrap table-wrap--${y}${K?" table-wrap--resizable":""}${k?" table-wrap--dragover":""}${b?" table-wrap--collapsed":""}`,style:Se,onDragOver:E,onDragLeave:S,onDrop:z,tabIndex:M?0:void 0,role:M?"region":void 0,"aria-label":M?typeof w=="string"?w:j("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:t.jsxs("div",{ref:J,className:"table body-2",children:[Ae&&t.jsxs("div",{className:"table-header",onClick:A,role:A?"button":void 0,tabIndex:A?0:void 0,"aria-expanded":A?!b:void 0,onKeyDown:A?ee=>{ee.target===ee.currentTarget&&(ee.key==="Enter"||ee.key===" ")&&(ee.preventDefault(),A())}:void 0,children:[A&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:b?"chevron-right":"chevron-down",ariaLabel:b?j("common.expand","\uD3BC\uCE58\uAE30"):j("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),h&&t.jsx(Ke,{icon:h,label:typeof w=="string"?w:void 0,className:"table-header__icon"}),t.jsx("span",{className:"table-header__title h5b",children:w}),_!==void 0&&t.jsx("span",{className:"table-header__count body-3b",children:_}),x&&t.jsx("span",{className:"table-header__actions",onClick:ee=>ee.stopPropagation(),children:x})]}),!b&&t.jsxs(t.Fragment,{children:[n&&n.length>0&&t.jsx("div",{className:"table-fields table-fields--groups",children:n.map((ee,fe)=>t.jsx("div",{className:De("table-field body-3",ee.className),style:{gridColumn:`span ${ee.span}`},children:ee.label},fe))}),t.jsxs("div",{className:De("table-fields-strip",K&&"table-fields-strip--resizable"),children:[t.jsx("div",{className:"table-fields",ref:q,children:e.map((ee,fe)=>t.jsx(yy,{onClick:ee.onClick,className:ee.className,sortDir:ee.sortDir,ariaSort:Qe(fe),onResizeStart:K&&fe<e.length-1&&ee.resizable!==!1&&(v!=="fit"||e.some((ze,Be)=>Be>fe&&ze.resizable!==!1))?ze=>ge(fe,ze):void 0,children:ee.label},fe))}),K&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:j("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:j("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ee})]}),t.jsx("div",{className:"table-body",children:B?t.jsx(bo,{variant:"loading"}):a.length===0&&N?t.jsx(bo,{variant:"empty",children:N}):a.map((ee,fe)=>{const ze=p!=null&&ee.id===p,Be=!!s&&(i?i(ee):!0),je=U!=null&&ee.id!=null&&(U instanceof Set?U.has(ee.id)||[...U].some(pe=>String(pe)===String(ee.id)):String(ee.id)===String(U));return t.jsx(bo,{className:`${Be?" table-row--clickable":""}${d?" table-row--draggable":""}${ze?" table-row--dragging":""}`.trim(),draggable:!!d,onClick:Be?()=>s(ee):void 0,onMouseEnter:l?pe=>l(ee,pe):void 0,onMouseLeave:u?pe=>u(ee,pe):void 0,onDragStart:d?pe=>d(ee,pe):void 0,onDragEnd:c?pe=>c(ee,pe):void 0,expandedContent:je&&R?R(ee):void 0,children:r(ee).map((pe,$e)=>t.jsx(gy,{className:pe.className,style:pe.style,children:pe.content},$e))},ee.id!=null?`${typeof ee.id}:${ee.id}`:`__idx:${fe}`)})})]})]})})}function ou(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const oa=e=>e==null?"":String(e).trim();function vo(e,n,a){const r=[oa(e),oa(n),oa(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function vy(e,n,a){const r=oa(e);return r?`${r}-${oa(n).padStart(2,"0")}-${oa(a).padStart(2,"0")}`:""}const xy={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function _y(e,n){const a=xy[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}function su(e,n){return n!=="wornAt"?String(e[n]??""):vy(e.wornYear,e.wornMonth,e.wornDay)}function wy({rows:e,loading:n,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:u}=be.useTranslation(),d=f=>f==="\uC88C"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:c,\uCE78:p}=tb(),m=o.useMemo(()=>{if(!c)return e;const{key:f,asc:y}=c;return[...e].sort((w,h)=>{if(f==="worn"){const _=Number(h.worn)-Number(w.worn);return y?_:-_}return Jr(su(w,f),su(h,f),y)})},[e,c]),{pageRows:C,pageSizeProps:g,paginationProps:v}=eb(m,c);return t.jsxs("div",{className:"dlp-side-table",children:[t.jsx(uo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:g,pagination:v,actions:l&&t.jsx(de,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),t.jsx(yo,{loading:n,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...p(u("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},p(u("device.direction.label","\uBC29\uD5A5"),"side"),p(u("device.deviceType","\uC885\uB958"),"device"),p(u("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),p(u("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),p(u("device.productName","\uC81C\uD488\uBA85"),"productName"),p(u("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:C.map((f,y)=>({id:f.id??`${f.side}-${y}`,row:f})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:f})=>[{content:t.jsx("span",{className:"dlp-worn-check",onClick:y=>y.stopPropagation(),children:t.jsx(zl,{checked:f.worn,disabled:f.worn?!i:!s,ariaLabel:f.worn?u("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):u("customers.device.wear","\uCC29\uC6A9"),onChange:y=>{y?s?.(f):i?.(f)}})})},{content:t.jsx("span",{children:d(f.side)})},{content:f.device?t.jsx(yt,{size:"small",variant:ou(f.device),fill:"soft",label:_y(f.device,u)}):t.jsx("span",{})},{content:t.jsx("span",{children:f.brand})},{content:t.jsx("span",{children:f.fitType||"-"})},{content:t.jsx("span",{children:f.productName||"-"})},{content:t.jsx("span",{className:"dlp-date",children:vo(f.wornYear,f.wornMonth,f.wornDay)||"-"})},...r?[{content:t.jsx("span",{className:"dlp-row-actions",children:t.jsx(de,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:u("common.delete","\uC0AD\uC81C"),onClick:y=>{y?.stopPropagation(),r(f)}})})}]:[]],onRowClick:({row:f})=>a(f),empty:u("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function iu(e,n){return e?{role:n?.role??"button",tabIndex:0,...n?.selected===void 0?{}:{"aria-selected":n.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function Ay(e,n){return new Date(e,n+1,0).getDate()}function ky(e,n){return new Date(e,n,1).getDay()}function By({visits:e=[],onVisitClick:n,onVisitMove:a,onDayClick:r,today:s}){const{t:i,i18n:l}=be.useTranslation(),u=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),d=Ir(s),[c,p]=o.useState(()=>Number(d.slice(0,4))),[m,C]=o.useState(()=>Number(d.slice(5,7))-1),[g,v]=o.useState(null),f=o.useRef(null),y=o.useMemo(()=>{const x={};return e.forEach(N=>{x[N.date]||(x[N.date]=[]),x[N.date].push(N)}),x},[e]),w=o.useMemo(()=>{const x=Ay(c,m),N=ky(c,m),B=[];for(let k=0;k<N;k++)B.push(null);for(let k=1;k<=x;k++)B.push(k);for(;B.length<35;)B.push(null);return B},[c,m]),h=o.useCallback(()=>{m===0?(p(x=>x-1),C(11)):C(x=>x-1)},[m]),_=o.useCallback(()=>{m===11?(p(x=>x+1),C(0)):C(x=>x+1)},[m]),b=x=>`${c}-${String(m+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,A=x=>b(x)===d;return t.jsxs("div",{children:[t.jsxs("div",{className:"calendar-nav",children:[t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:h,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(Ke,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),t.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:c,month:m+1})}),t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:_,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(Ke,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),t.jsxs("div",{className:"calendar-nav__legend",children:[t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),t.jsxs("div",{className:"calendar-grid",children:[u.map(x=>t.jsx("div",{className:"calendar-day-header body-3",children:x},x)),w.map((x,N)=>{if(x===null)return t.jsx("div",{className:"calendar-cell empty"},`empty-${N}`);const B=x,k=b(B),E=y[k]??[],S=PC(k,l.language),z=g===k;return t.jsxs("div",{className:`calendar-cell${A(B)?" today":""}${z?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:k}):void 0,"aria-current":A(B)?"date":void 0,onClick:r?()=>r(k):void 0,onKeyDown:r?R=>{R.target===R.currentTarget&&(R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),r(k)))}:void 0,onDragOver:a?R=>{R.preventDefault(),v(k)}:void 0,onDragLeave:a?R=>{R.currentTarget.contains(R.relatedTarget)||v(null)}:void 0,onDrop:a?R=>{R.preventDefault(),f.current!=null&&(a(f.current,k),f.current=null),v(null)}:void 0,children:[t.jsx("div",{className:"calendar-cell__number body-3",children:B}),E.length>0&&t.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${S} ${i("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"})}`,children:[t.jsx("span",{className:"calendar-cell__visit-dot","aria-hidden":"true"}),E.length]}),t.jsx("div",{className:"calendar-cell__badges",children:E.map((R,U)=>t.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${R.status==="noVisit"?" calendar-visit-badge--no-visit":R.status==="scheduled"?" calendar-visit-badge--scheduled":""}${n?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?j=>{f.current=R.id,j.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{f.current=null,v(null)}:void 0,onClick:n?j=>{j.stopPropagation(),n(R)}:void 0,...iu(n?()=>n(R):void 0),"aria-label":[S,R.time?di(R.time,i):null,R.customer,i(R.status==="noVisit"?"calendar.legend.noVisit":R.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[R.time&&t.jsx("span",{className:"calendar-visit-badge__time body-3",children:di(R.time,i)}),t.jsx("span",{className:"calendar-visit-badge__name body-3",children:R.customer}),R.status==="noVisit"&&t.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},R.id??U))})]},B)})]})]})}const Ny={page:"h3",pagePopup:"h4",popup:"h5"};function sa({type:e="page",title:n,headingLevel:a,icon:r,action:s,disc:i,children:l,inGrid:u=!1,className:d,style:c}){const p=Ny[e],m=n||i||s||r,C=a?`h${a}`:"div";return t.jsxs("div",{className:De("section",`section--${e}`,u&&"section--in-grid",d),style:c,children:[m&&t.jsxs("div",{className:"section__header",children:[t.jsxs("div",{className:"section__title-row",children:[r&&t.jsx(Ke,{icon:r,label:typeof n=="string"?n:void 0,className:"section__icon"}),t.jsxs("div",{className:"section__title-group",children:[n&&t.jsx(C,{className:`section__title ${p}`,children:n}),i&&t.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&t.jsx("div",{className:"section__action",children:s})]}),l]})}let xo=null,lu=!1;function uu(){if(lu||typeof document>"u")return;lu=!0,document.addEventListener("keydown",n=>{n.metaKey||n.ctrlKey||n.altKey||(xo="keyboard")},!0);const e=()=>{xo="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}uu();function nr(){return uu(),xo==="keyboard"}const ar=20;function Dy(e){const{t:n}=be.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:u,onItemComplete:d,size:c,useDescriptionTooltip:p,onRemove:m,onMore:C,sectionType:g="page"}=e||{},[,v]=o.useState(0),f=typeof r<"u"?Array.isArray(r)?r:[]:[],y=f.length,[w,h]=o.useState(Math.min(y,ar)),_=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{h(Math.min(y,ar))},[y]),tl("speechear.data.updated",()=>v(N=>N+1));const b=o.useRef(null),A=o.useRef(null);function x(){const N=document.activeElement;A.current=nr()&&N&&N.closest?.(".training-block__more")?w:null,h(B=>Math.min(y,B+ar))}return o.useEffect(()=>{const N=A.current;if(N==null)return;A.current=null;const B=document.activeElement;B&&B!==document.body||b.current?.querySelectorAll(".training-block-button")[N]?.focus()},[w]),t.jsxs(sa,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[t.jsx("div",{className:"training-list",ref:b,children:(f||[]).slice(0,w).map((N,B)=>{const k=N;return t.jsx(so,{index:B,type:a,trainingData:k,depth:_,renderPopup:i,completedIds:l,selectedIds:u,size:c,useDescriptionTooltip:p,onRemove:typeof m=="function"&&u!=null&&k?.id!=null&&u.has(String(k.id))?()=>m(k):void 0,onComplete:typeof d=="function"&&k?.id!=null?()=>d(String(k.id)):void 0,onMore:typeof C=="function"?E=>C(k,E):void 0},k?.id!=null?`${a?.key||"t"}-${String(k.id)}`:`${a?.key||"t"}-${B}`)})}),y>ar&&w<y&&t.jsx("div",{className:"training-block__more",children:t.jsx(de,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:n("common.loadMore","\uB354\uBCF4\uAE30"),label:n("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function _o(e){const n=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const d=n.current;r(!!e&&!(d?.complete&&d.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),u=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:n,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:u}}var Ey='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Sy=Ey,wo=o.forwardRef(function({item:e,disabled:n=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:u=!1,hideAudio:d=!1,orderRank:c=null},p){const{t:m}=be.useTranslation(),C=e.word||e.title||"",g=n||!C,v=e.audio??e.sound??e.audioKey,f=e.subLabel||e.pronunciation||"",y=e.colloquialLabel||"",[w,h]=o.useState({label:C,subLabel:f,colloquialLabel:y,homonum:e.homonum});C&&(w.label!==C||w.subLabel!==f||w.colloquialLabel!==y||!Object.is(w.homonum,e.homonum))&&h({label:C,subLabel:f,colloquialLabel:y,homonum:e.homonum});const _=o.useRef(null),b=tn("(max-width: 767px)"),[A,x]=o.useState(!1),N=`${typeof v=="string"?v:v?.src??""}\0${C}`,[B,k]=o.useState({for:"",url:""}),E=B.for===N?B.url:"",S=ri(),z=e.textOnly??(!e.image&&!!w.label&&!!S&&S.entries.length>0&&!S.byWord.has(w.label)),R=z?"":Xn()?.(w.label,w.homonum)??e.image??"",{imgRef:U,loading:j,hasImage:L,onLoad:F,onError:K}=_o(R);o.useEffect(()=>{let P=!1;return(async()=>{if(v){if(typeof v=="string"){if(v.startsWith("http")||v.includes("/")){k({for:N,url:v});return}}else if(typeof v=="object"&&!Array.isArray(v)){const Y=v.src;if(Y){k({for:N,url:Y});return}}}const $=Er();if($&&C)try{const Y=await Promise.resolve($(C));!P&&Y&&k({for:N,url:Y})}catch{}})(),()=>{P=!0}},[v,C,N]);const te=o.useRef(!0),V=o.useRef(null);o.useEffect(()=>(te.current=!0,()=>{te.current=!1,V.current&&Ja(V.current),V.current=null;try{_.current?.pause()}catch{}_.current=null}),[]);const I=o.useCallback(()=>new Promise(P=>{if(typeof window<"u"&&window.speechSynthesis&&C){x(!0),window.speechSynthesis.cancel();const $=new SpeechSynthesisUtterance(C);$.lang="ko-KR",$.onend=()=>{x(!1);try{a?.()}catch{}P()},$.onerror=()=>{x(!1),P()},window.speechSynthesis.speak($)}else P()}),[C,a]),q=o.useCallback(P=>new Promise($=>{let Y=!1;const ne=()=>{Y||(Y=!0,x(!1),$(!1))};try{const J=new Audio(P);_.current=J,J.onended=()=>{if(!Y){Y=!0,x(!1);try{a?.()}catch{}$(!0)}},J.onerror=ne,J.play().catch(ne)}catch{ne()}}),[a]),H=o.useCallback(async()=>{if(n||!te.current)return;const P=()=>{V.current===P&&(V.current=null);try{_.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},$=Xa(P);V.current=P;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await q(E)))return;const Y=tC();if(Y&&C)try{const ne=await Promise.resolve(Y(C));if(!te.current||V.current!==P||ne&&(x(!0),await q(ne)))return}catch{}if(!te.current||V.current!==P)return;await I()}finally{$(),V.current===P&&(V.current=null)}},[n,E,C,q,I]);o.useImperativeHandle(p,()=>({play:()=>H()}),[H]);const D=P=>P.stopPropagation(),O=o.useCallback(P=>{if(P.stopPropagation(),!n){if(A){try{_.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}H()}},[n,A,H]),M=De("training-word-card",n?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return t.jsx("div",{className:M,onClick:r&&!n?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!n?0:void 0,"aria-disabled":r&&n?!0:void 0,onKeyDown:r&&!n?P=>{P.target===P.currentTarget&&(P.key==="Enter"||P.key===" "||P.key==="Spacebar")&&(P.preventDefault(),i?.())}:void 0,children:t.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${l}ms`},children:[t.jsxs("div",{className:"training-word-card__front",children:[s&&t.jsx("div",{className:"training-word-card__selected-badge",onClick:D,children:t.jsx(yt,{type:"dot",size:40,position:"inline",animate:!0,icon:c!=null?void 0:"check",number:c??void 0,"aria-label":c!=null?m("training.nthSelected",{n:c}):m("training.selected","\uC120\uD0DD\uB428")})}),t.jsx("div",{className:"training-word-card__image-wrap",children:z?t.jsx("div",{className:"training-word-card__text-face",children:w.label}):L?t.jsxs(t.Fragment,{children:[j&&t.jsx("div",{className:"training-word-card__spinner"}),t.jsx("img",{ref:U,className:"training-word-card__image",src:R,alt:w.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:j?0:1},onLoad:F,onError:K})]}):t.jsx("div",{className:"training-word-card__placeholder"})}),!u&&t.jsxs("div",{className:"training-word-card__body",children:[!z&&t.jsx("div",{className:"training-word-card__word",children:w.label}),w.subLabel&&t.jsxs("div",{className:"training-word-card__pronunciation",children:["[",w.subLabel,"]"]}),w.colloquialLabel&&t.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",w.colloquialLabel,"]"]})]}),!d&&t.jsx("div",{className:"training-word-card__bottom",onClick:r?D:void 0,children:t.jsx(de,{htmlType:"button",size:b?40:48,type:b?"dot":"bar",icon:A?"pause":"play",label:b?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:A,onClick:O,disabled:n,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),t.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:t.jsx("img",{src:Sy,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),jy=260;function Tn(e){const{t:n}=be.useTranslation(),{title:a,subtitle:r,headerActions:s,headerSegment:i,children:l,buttons:u,footer:d,footerStart:c,footerEnd:p,footerClassName:m="",footerLayout:C="center",onClose:g,closeDisabled:v=!1,beforeClose:f,closeOnBackdrop:y=!0,className:w="",ariaLabel:h,useTitle:_=!0,inline:b=!1,size:A,layer:x="modal",height:N,fillBody:B=!1,resetScrollKey:k}=e||{},[E,S]=o.useState(!1),z=o.useRef(!1),R=o.useRef(null),U=o.useId(),j=o.useRef(null);o.useEffect(()=>{},[b,a,h,w]),o.useEffect(()=>{k!==void 0&&j.current&&(j.current.scrollTop=0)},[k]);const[L,F]=o.useState(!1);o.useEffect(()=>{const J=j.current;if(!J)return;const ae=()=>F(J.scrollHeight>J.clientHeight+1);if(ae(),typeof ResizeObserver>"u")return;const ue=new ResizeObserver(ae);ue.observe(J);const ie=J.firstElementChild;return ie&&ue.observe(ie),()=>ue.disconnect()},[l,k]),o.useEffect(()=>{if(!b)return Rl()},[b]),o.useEffect(()=>{if(b)return;const J=document.activeElement,ae=R.current;return Vr(ae,J),ae&&!ae.contains(document.activeElement)&&(ae.querySelector(mn)??ae).focus(),()=>{const ue=document.activeElement;(!ue||ue===document.body||ae&&ae.contains(ue))&&Wr(J)?.focus?.()}},[b]),Hr(R,!b);const K=o.useRef(!0),te=qr(),V=o.useRef(null);o.useEffect(()=>(K.current=!0,()=>{K.current=!1,V.current&&(clearTimeout(V.current),V.current=null)}),[]);const I=o.useCallback(()=>{!K.current||!z.current||(z.current=!1,S(!1))},[]),q=o.useCallback((J,ae=!1)=>{if(ae&&!K.current||z.current)return;z.current=!0,S(!0);const ue=setTimeout(()=>{V.current===ue&&(V.current=null);let ie;try{ie=J?J():void 0}catch{I();return}ie&&typeof ie.then=="function"&&ie.then(()=>{setTimeout(I,120)},I)},te?0:jy);ae&&(V.current=ue)},[I,te]),H=o.useCallback(()=>{v||f&&f()===!1||q(g,!0)},[q,g,v,f]),D=o.useRef(H);o.useEffect(()=>{D.current=H});const O=!b&&!!g;o.useEffect(()=>{if(O)return zn(()=>D.current())},[O]);const M=O&&y,P=o.useRef(!1),$=J=>{P.current=J.target===J.currentTarget},Y=J=>{const ae=P.current;P.current=!1,ae&&J.target===J.currentTarget&&H()},ne=t.jsx("div",{className:`popup ${b?"popup--inline":""} ${x==="belowPagePopup"?"popup--below-page-popup":""} ${E?"popup--closing":""} ${w}`,onPointerDown:M?$:void 0,onClick:M?Y:void 0,onMouseDown:b?void 0:J=>{J.target===J.currentTarget&&J.preventDefault()},children:t.jsxs("div",{ref:R,className:`popup-panel${A?` popup-panel--${A}`:""}${N!=null?" popup-panel--has-height":""}${B?" popup-panel--fill-body":""}`,style:N!=null?{"--popup-height":typeof N=="number"?`${N}px`:N}:void 0,tabIndex:-1,role:b?void 0:"dialog","aria-modal":b?void 0:!0,"aria-labelledby":!b&&_&&a?U:void 0,"aria-label":!b&&!(_&&a)?h??(typeof a=="string"?a:void 0):void 0,children:[!_&&(s||g)?t.jsxs("div",{className:"popup-close-float",children:[s,g&&t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:H,disabled:v,ariaLabel:n("common.close","\uB2EB\uAE30")})]}):a||s||g?t.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[t.jsxs("div",{className:"popup-header-main",children:[a?t.jsx("h2",{id:U,className:"popup-title popup-title--left h2",children:a}):t.jsx("span",{id:U,className:"popup-title popup-title--left h2"}),r&&t.jsx("span",{className:"popup-subtitle body-3",children:r})]}),i&&t.jsx("div",{className:"popup-header-segment",children:t.jsx(An,{size:40,ariaLabel:i.ariaLabel,options:i.options.map(J=>({key:J.key,label:J.label,disabled:J.disabled})),value:i.value,onChange:i.onChange})}),t.jsxs("div",{className:"popup-header-actions",children:[s,g&&t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:H,disabled:v,ariaLabel:n("common.close","\uB2EB\uAE30")})]})]}):null,t.jsx("div",{className:"popup-content",ref:j,tabIndex:L?0:void 0,children:t.jsx("div",{className:"popup-content__inner",children:typeof l=="function"?l({animateThen:q,closeWithAnimation:H}):l})}),c||p?t.jsxs("div",{className:`popup-footer popup-footer--bar${m?` ${m}`:""}`,children:[t.jsx("div",{className:"popup-footer__start",children:typeof c=="function"?c({animateThen:q,closeWithAnimation:H}):c}),t.jsx("div",{className:"popup-footer__end",children:typeof p=="function"?p({animateThen:q,closeWithAnimation:H}):p})]}):u?.length?t.jsx("div",{className:`popup-footer popup-footer--buttons${C!=="center"?` popup-footer--${C}`:""}`,children:u.map((J,ae)=>t.jsx(de,{htmlType:"button",size:48,variant:J.variant??"default",label:J.label,disabled:J.disabled,onClick:()=>J.onClick?.({animateThen:q,closeWithAnimation:H})},ae))}):d?t.jsx("div",{className:`popup-footer${C!=="center"?` popup-footer--${C}`:""}${m?` ${m}`:""}`,children:typeof d=="function"?d({animateThen:q,closeWithAnimation:H}):d}):null]})});return b||typeof document>"u"?ne:Xt.createPortal(ne,document.body)}function rr(e){return String(e)}const or=["o","triangle","x"];function cu(e,n){return e===n?null:n}const du={o:"circle",triangle:"triangle",x:"x"},pu={o:"main",triangle:"warn",x:"danger"};function Ty(e){let n=0,a=0,r=0;for(const i of Object.values(e))i==="o"?n++:i==="triangle"?a++:i==="x"&&r++;const s=n+a+r;return{marked:s,o:n,triangle:a,x:r,rate:s===0?null:(n+a*.5)/s}}function Ao(e){const n={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(n[a]=r);return n}function mu(e){const n=[];let a=0;for(const r of e)n.push(a),a+=r;return n}function My(e,n){return!n&&e>0}const ia={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function Ly(e="landscape"){pn("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:n,printW:a,printH:r}=ia[e],s=document.createElement("style");s.textContent=`@page { size: ${n}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(s);const i=()=>{document.head.removeChild(s),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function hu(e,n){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(n)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const $y={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function Ry(e,n){const a=$y[e][n];if(a)return a;const r=Math.max(1,Math.ceil(n)),s=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,l;return e==="landscape"?(l=s,i=Math.ceil(r/l)):(i=s,l=Math.ceil(r/i)),(e==="landscape"?i<l:l<i)&&([i,l]=[l,i]),{cols:i,rows:l}}const Py={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},Cu={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},fu={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function ko(e,n){return e?e.split("/").map(a=>n[a]??a).join("/"):""}function gu(e,n,a,r){if(r!=="\uC810\uC120")return{};const s=e%n,i=Math.floor(e/n),l=s<n-1,u=i<a-1;if(!l&&!u)return{};const d="#ddd",c=g=>`repeating-linear-gradient(to ${g}, ${d} 0, ${d} 5px, transparent 5px, transparent 10px)`,p=[],m=[],C=[];return l&&(p.push(c("bottom")),m.push("1px 100%"),C.push("right center")),u&&(p.push(c("right")),m.push("100% 1px"),C.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:C.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const Iy=280,Fy=240,Oy=280,Hy=400,zy=120,Vy=280;function bu(e,n){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),u=o.useCallback((d,c)=>{if(!(d>0))return;const p=d/e,m=n&&c>0?c/n:1/0,C=Math.min(1,p,m);s(C),l(Math.max(0,(d-e*C)/2))},[e,n]);return o.useEffect(()=>{const d=a.current;if(!d)return;const c=n?d.parentElement??d:d;if(u(c.clientWidth,c.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>u(m.contentRect.width,m.contentRect.height));return p.observe(c),()=>p.disconnect()},[u,n]),{scalerRef:a,scale:r,offset:i}}const Wy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},qy=400,yu=8;function vu({label:e,subLabel:n,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:d=40,wordInfo:c}){const{t:p}=be.useTranslation(),m=o.useRef(null),C=o.useRef(null),g=o.useRef(null),[v,f]=o.useState(1),[y,w]=o.useState(!1),[h,_]=o.useState({for:"",url:""}),[b,A]=o.useState(null),x=n&&n.length>0?n:aC()?.(e,r)??"",N=Xn()?.(e,r)??"",{imgRef:B,loading:k,failed:E,onLoad:S,onError:z}=_o(N),R=o.useCallback(()=>A(C.current?.getBoundingClientRect()??null),[]),U=o.useCallback(()=>A(null),[]),j=Gr(!!b,O=>{O?R():U()},C),L=o.useMemo(()=>{if(!c)return null;const O=[];return c.grade&&O.push(p("wordTable.info.grade",{n:c.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),c.syllables&&O.push(p("wordTable.info.syllables",{n:c.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),c.pos&&O.push(p("wordTable.info.pos",{v:ko(c.pos,Uy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),c.wordType&&O.push(p("wordTable.info.wordType",{v:ko(c.wordType,Gy(p)),defaultValue:"\uC720\uD615: {{v}}"})),O.length?O:null},[c,p]),F=x||e,K=h.for===F?h.url:"";o.useEffect(()=>{const O=Er(),M=x||e;if(!O||!M)return;let P=!1;return Promise.resolve(O(M)).then($=>{!P&&$&&_({for:M,url:$})}),()=>{P=!0}},[x,e]);const te=o.useRef(null),V=o.useRef(null);o.useEffect(()=>()=>{g.current?.pause(),V.current?.()},[]);const I=o.useCallback(async O=>{if(O.stopPropagation(),y){te.current?.();return}if(K){w(!0);try{const M=new Audio(K);g.current=M;const P=()=>{w(!1),V.current?.()},$=()=>{M.pause(),P()};te.current=$;const Y=Xa($);V.current=Y,M.onended=P,M.onerror=P,await M.play()}catch{w(!1),V.current?.()}}},[y,K]),q=i&&!!N&&!E,H=q&&s?Iy:q?Oy:Fy,D=q&&s?Hy:q?Vy:zy;return o.useEffect(()=>{const O=m.current;if(!O||typeof ResizeObserver>"u")return;const M=new ResizeObserver(([P])=>{const{width:$,height:Y}=P.contentRect;f(Math.min($/H,Y/D))});return M.observe(O),()=>M.disconnect()},[H,D]),t.jsxs("div",{ref:m,className:De("word-table-cell",q?"word-table-cell--with-image":""),"data-ref-w":H,"data-ref-h":D,children:[t.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${v})`},children:[q&&t.jsxs("div",{className:"word-table-cell__image-wrap",children:[k&&t.jsx("div",{className:"word-table-cell__spinner"}),t.jsx("img",{ref:B,className:"word-table-cell__image",src:N,alt:e,draggable:!1,style:{opacity:k?0:1},onLoad:S,onError:z})]}),s&&t.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&x&&t.jsxs("span",{className:"word-table-cell__sub h3",children:["[",x,"]"]}),u&&a&&t.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),t.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":K,children:[t.jsx("span",{"data-play-state":"play",style:{display:y?"none":void 0},children:t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),ariaLabel:e?p("common.playFor",{name:e,defaultValue:`${e} \uC7AC\uC0DD`}):p("common.play","\uC7AC\uC0DD"),onClick:I})}),t.jsx("span",{"data-play-state":"pause",style:{display:y?void 0:"none"},children:t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),ariaLabel:e?p("common.pauseFor",{name:e,defaultValue:`${e} \uBA48\uCDA4`}):p("common.pause","\uBA48\uCDA4"),onClick:I})})]}),c&&t.jsxs("div",{ref:C,className:"word-table-cell__info-button",onPointerEnter:O=>{ta(O)||R()},onPointerLeave:O=>{ta(O)||U()},onFocus:()=>{na()||R()},onBlur:U,children:[t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:O=>{O.stopPropagation(),j.touchPress()}}),b&&L&&t.jsx(Vn,{anchorRect:b,items:L,showIndex:!1})]})]})}const xu={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},_u={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Uy(e){return Object.fromEntries(Object.entries(Cu).map(([n,a])=>[n,xu[n]?e(`wordTable.pos.${xu[n]}`,{defaultValue:a}):a]))}function Gy(e){return Object.fromEntries(Object.entries(fu).map(([n,a])=>[n,_u[n]?e(`wordSearch.filter.type.${_u[n]}`,{defaultValue:a}):a]))}function la({title:e,titleIcon:n,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:u=!0,showDivLine:d=!0,items:c,editCells:p,count:m,activeCell:C=null,onActivateCell:g,onRemoveCell:v,onRemoveItem:f,onReorder:y,renderCellAction:w,showFillerAdd:h=!1,contentRef:_,buttonSize:b=40,brand:A,code:x,pageNumber:N,pageNumberPosition:B="right",fitHeight:k=!1,scoring:E=!1,marks:S,onMarkClick:z,scoreIndexOffset:R=0}){const U=o.useCallback((Be,je)=>{z?.(R+Be,je)},[z,R]),j=(Be,je)=>{const pe=S?.[rr(R+Be)]??null;return t.jsx("div",{className:De("word-table-cell__score",pe?"word-table-cell__score--marked":""),style:ee>1?{transform:`translateX(-50%) scale(${ee})`,transformOrigin:"bottom center"}:void 0,children:or.map($e=>t.jsx("span",{className:De("word-table-cell__score-slot",pe===$e?"word-table-cell__score-slot--on":""),children:t.jsx(de,{htmlType:"button",size:b,type:"dot",shape:"pill",icon:du[$e],variant:pe===$e?pu[$e]:"default",selected:pe===$e,useBorder:!1,...Ae?{}:{tabIndex:-1,role:"img"},showTooltipInfo:L(`wordTable.scoring.markName.${$e}`,{defaultValue:$e}),ariaLabel:L(`wordTable.scoring.${$e}`,{word:je,defaultValue:`${je} ${$e}`}),onClick:Ae?nt=>{nt.stopPropagation(),U(Be,$e)}:void 0})},$e))})},{t:L}=be.useTranslation(),F=p!==void 0,K=e!=null||!!n||!!a,te=tn("(max-width: 767px)"),V=o.useRef(null),[I,q]=o.useState(null),H=c?.length??0,[D,O]=o.useState(null),[M,P]=o.useState(""),$=o.useRef(null),Y=o.useRef(null),ne=o.useRef(null),J=o.useRef(null),ae=o.useCallback(Be=>{Y.current=Be,typeof _=="function"?_(Be):_&&(_.current=Be)},[_]),ue=o.useCallback((Be,je)=>{$.current=je,y?.(Be,je),P(L("wordTable.reorder.moved",{n:je+1,total:H,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[y,L,H]);o.useEffect(()=>{const Be=$.current;Be!=null&&($.current=null,Y.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[Be]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{J.current?.()},[]);const ie=o.useCallback((Be,je)=>{if(!y||!Be.altKey||Be.ctrlKey||Be.metaKey)return;const pe=Be.key==="ArrowRight";if(!pe&&Be.key!=="ArrowLeft")return;Be.preventDefault();const $e=je+(pe?1:-1);$e<0||$e>=H||ue(je,$e)},[y,H,ue]),xe=o.useCallback((Be,je)=>{if(!y||Be.pointerType==="mouse")return;const pe=Be.target.closest?.("button");if(pe&&!pe.closest(".word-table-block__card-handle"))return;J.current?.();const $e={x:Be.clientX,y:Be.clientY};let nt=!1;const _t=Pe=>{nt&&Pe.cancelable&&Pe.preventDefault()},kt=Pe=>{if(!nt){(Math.abs(Pe.clientX-$e.x)>yu||Math.abs(Pe.clientY-$e.y)>yu)&&We();return}const Xe=document.elementFromPoint?.(Pe.clientX,Pe.clientY)?.closest?.("[data-wordtable-cell]"),Oe=Xe?Number(Xe.dataset.wordtableCell):NaN,it=Number.isInteger(Oe)?Oe:null;ne.current=it,q(it)},dt=()=>{const Pe=ne.current,Xe=nt;We(),Xe&&Pe!=null&&Pe!==je&&ue(je,Pe)},Ze=setTimeout(()=>{nt=!0,O(je),ne.current=je,q(je),window.addEventListener("touchmove",_t,{passive:!1})},qy);function We(){clearTimeout(Ze),window.removeEventListener("pointermove",kt),window.removeEventListener("pointerup",dt),window.removeEventListener("pointercancel",dt),window.removeEventListener("touchmove",_t),nt=!1,ne.current=null,J.current=null,O(null),q(null)}J.current=We,window.addEventListener("pointermove",kt),window.addEventListener("pointerup",dt),window.addEventListener("pointercancel",dt)},[y,ue]),{width:W,height:Q}=ia[s],se=typeof k=="number"?k:k&&typeof k=="object"?te?k.narrow:k.wide:null,{scalerRef:ke,scale:me,offset:re}=bu(W,k?Q:void 0),Ce=F?p?.length??0:c?.length??0,ge=Math.max(m??Ce,1),{cols:Ee,rows:Re}=Ry(s,ge),Le={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},Je=F?(p??[]).some(Be=>Be!==null&&Be.length>1):(c??[]).some(Be=>(Be.words??[]).length>1),Qe=!!A?.show,qe=!!A?.show&&A?.top!==!1,Fe=!!A?.show&&A?.bottom!==!1,st=A?.copyright??"\xA9 IHAB, Inc. All rights reserved.",et=De("word-table-block__content",Py[l],u&&"word-table-block__content--outline",d&&Je&&"word-table-block__content--div-line",!Qe&&N&&B!=="none"&&"word-table-block__content--page-number",qe&&"word-table-block__content--brand-top",Fe&&"word-table-block__content--brand-bottom"),Ye={transform:`scale(${1/me})`,transformOrigin:"center center"},Se=b*or.length+4*(or.length-1),Ae=!!z,ee=Ae?Math.max(1,Math.min(1/me,W/Ee/Se)):1,fe=t.jsxs("div",{ref:ke,className:"word-table__scaler",style:{height:Q*me},children:[t.jsx("div",{className:De("word-table",E&&!Ae&&"word-table--score-readonly",!K&&r),style:{width:W,height:Q,transform:`scale(${me})`,transformOrigin:"top left",marginLeft:re},children:t.jsxs("div",{ref:ae,className:et,style:{gridTemplateColumns:`repeat(${Ee}, 1fr)`,gridTemplateRows:`repeat(${Re}, 1fr)`},children:[F?t.jsx(t.Fragment,{children:(p??[]).map((Be,je)=>t.jsx("div",{className:De("word-table-block__edit-cell",Be?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",C===je?"word-table-block__edit-cell--active":""),style:gu(je,Ee,Re,l),children:Be?t.jsxs(t.Fragment,{children:[Be.map((pe,$e)=>t.jsxs(o.Fragment,{children:[$e>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(vu,{label:pe.word,subLabel:pe.pronunciation,colloquialLabel:pe.colloquialPronunciation,homonum:pe.homonum,showWord:Le.word,showImage:Le.image,showPronunciation:Le.pron,showColloquial:Le.colloq,buttonSize:b})]},$e)),E&&j(je,Be.map(pe=>pe.word).join(" / ")),v&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:Be.length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:Be.length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>v(je)})})]}):g&&t.jsx("div",{style:Ye,children:t.jsx(de,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:L("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(je)})})},je))}):t.jsxs(t.Fragment,{children:[(c??[]).map((Be,je)=>t.jsxs("div",{"data-wordtable-cell":y?je:void 0,className:`word-table-block__card${y?" word-table-block__card--draggable":""}${I===je?" word-table-block__card--drag-over":""}${D===je?" word-table-block__card--dragging":""}`,style:gu(je,Ee,Re,l),draggable:!!y,onPointerDown:y?pe=>xe(pe,je):void 0,onKeyDown:y?pe=>ie(pe,je):void 0,onDragStart:y?()=>{V.current=je}:void 0,onDragOver:y?pe=>{pe.preventDefault(),q(je)}:void 0,onDragLeave:y?()=>q(null):void 0,onDrop:y?pe=>{pe.preventDefault(),V.current!==null&&V.current!==je&&y(V.current,je),V.current=null,q(null)}:void 0,onDragEnd:y?()=>{V.current=null,q(null)}:void 0,children:[(Be.words??[]).map((pe,$e)=>t.jsxs(o.Fragment,{children:[$e>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(vu,{label:pe.label,subLabel:pe.subLabel,colloquialLabel:pe.colloquialLabel,homonum:pe.homonum,showWord:Le.word,showImage:Le.image,showPronunciation:Le.pron,showColloquial:Le.colloq,buttonSize:b,wordInfo:pe.grade||pe.syllables!=null||pe.pos||pe.wordType?{grade:pe.grade,syllables:pe.syllables,pos:pe.pos,wordType:pe.wordType}:void 0})]},$e)),E&&j(je,(Be.words??[]).map(pe=>pe.label).join(" / ")),y&&t.jsx("div",{className:"word-table-block__card-handle",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:L("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:L("wordTable.reorder.handle",{word:(Be.words??[]).map(pe=>pe.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(w||f)&&t.jsxs("div",{className:"word-table-block__card-actions",children:[w?.(je,Be),f&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(Be.words??[]).length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(Be.words??[]).length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(Be.id)})})]})]},Be.id)),Array.from({length:Math.max(0,Ee*Re-(c?.length??0))}).map((Be,je)=>{const pe=(c?.length??0)+je<ge;return t.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:h&&g&&pe&&t.jsx("div",{style:Ye,children:t.jsx(de,{htmlType:"button",size:b,type:"bar",icon:"plus",label:L("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((c?.length??0)+je)})})},`filler-${je}`)})]}),qe&&t.jsx(t.Fragment,{children:t.jsxs("div",{className:"word-table__band word-table__band--top",children:[t.jsx("img",{className:"word-table__brand-logo",src:A?.topLogo?.src??Za,alt:A?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const Be=[A?.title&&t.jsx("span",{className:"word-table__paper-title",children:A.title},"t"),A?.owner&&t.jsx("span",{className:"word-table__owner",children:A.owner},"o"),x&&t.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return Be.length===0?null:t.jsx("span",{className:"word-table__ident",children:Be.map((je,pe)=>t.jsxs(o.Fragment,{children:[pe>0&&t.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),je]},pe))})})()]})}),Fe&&t.jsx(t.Fragment,{children:t.jsxs("div",{className:"word-table__band word-table__band--bottom",children:[t.jsxs("span",{className:"word-table__brand-by",children:[A?.bottomLogo?t.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:A.bottomLogo.src,alt:A.bottomLogo.alt}):t.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),t.jsx("span",{className:"word-table__copyright",children:st})]}),t.jsxs("span",{className:"word-table__band-end",children:[A?.link&&t.jsx("span",{className:"word-table__link",children:A.link}),N&&B!=="none"&&t.jsx("span",{className:"word-table__page-count",children:L("wordTable.filter.pageIndicator",{current:N.current,total:N.total})})]})]})}),!Qe&&N&&B!=="none"&&t.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${B}`,children:L("wordTable.filter.pageIndicator",{current:N.current,total:N.total})})]})}),y&&t.jsx("span",{role:"status",style:Wy,children:M})]}),ze=se==null?fe:t.jsx("div",{className:"word-table__frame",style:{height:se},children:fe});return K?t.jsx(sa,{type:"page",icon:n,title:e,disc:a,className:De("word-table-block",r),children:ze}):ze}function Ky(e,n,a){const r=[];for(const s of e??[]){if(s.type==="note"||s.type==="input")continue;const i=s.displayLabel??s.label,l=Yy(s,n?.[s.label],a);l!==null&&r.push(`${i} ${l}`)}return r.join(" \xB7 ")}function Yy(e,n,a){const r=(Array.isArray(n)?n:n===void 0?[]:[n]).filter(s=>s!==on);return r.length===0?e.allOption?e.allLabel??a:null:r.map(s=>Zy(e,s)).join(", ")}function Zy(e,n){const a=[...e.items??[],...(e.groups??[]).flat()];for(const r of a)if(r!=null){if(typeof r=="string"){if(r===n)return r;continue}if(r.value===n)return r.displayLabel??r.labels?.join(" ")??r.value}return n}function Bn({title:e,titleLevel:n=2,headerAction:a,headerSummary:r,collapsible:s=!1,defaultCollapsed:i=!1,collapsed:l,onCollapsedChange:u,footer:d,sections:c,selected:p={},onSelect:m,align:C,sectionAlign:g,className:v}){const f=(C??(g==="vertical"?"newline":"inline"))==="inline",{t:y}=be.useTranslation(),[w,h]=o.useState(i),_=l??w,b=()=>{const S=!_;h(S),u?.(S)},A=S=>{if(!s)return;const z=S.target;!z||typeof z.closest!="function"||z.closest(".filter-panel__collapse-toggle")||z.closest('button, a, input, select, textarea, label, [role="radiogroup"], [role="button"], [role="menu"]')||b()},x=o.useMemo(()=>r!==void 0||!_?"":Ky(c,p,y("common.all","\uC804\uCCB4")),[r,_,c,p,y]),N=r??(x?t.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),B=e||a||r||s,k=o.useId(),E=n?`h${n}`:"span";return t.jsxs("div",{className:De("filter-panel",s?"filter-panel--collapsible":"",_?"filter-panel--collapsed":"",v),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?k:void 0,children:[B&&t.jsxs("div",{className:"filter-panel__header",onClick:s?A:void 0,children:[t.jsx("div",{className:"filter-panel__title-row",children:e&&t.jsx(E,{id:k,className:"filter-panel__title h4",children:e})}),t.jsxs("div",{className:"filter-panel__header-actions",children:[_?N:a,s&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:_?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:_?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),"aria-expanded":!_,onClick:b})]})]}),!_&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:De("filter-panel__sections",f?"filter-panel__sections--row":""),children:c.map(S=>{const z=p[S.label],R=z===void 0||(Array.isArray(z)?z.length===0:!1),U=(S.items??[]).filter(L=>L!=null);S.allOption&&U.some(L=>(typeof L=="string"?L:L.value)===on)&&pn(`filter-panel-all-value:${S.label}`,`[FilterPanel] '${S.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${on}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const j=L=>{const F=typeof L=="string"?L:L.value,K=typeof L!="string"&&!!L.disabled,te=typeof L!="string"?L.labels:void 0,V=typeof L!="string"?L.displayLabel:void 0,I=typeof L!="string"?L.tooltip:void 0,q=typeof L!="string"?L.descriptionTooltip:void 0,H=typeof L!="string"?L.shape:void 0,D=Array.isArray(z)?z.includes(F):z===F;return t.jsx(de,{htmlType:"button",size:"keyboard",label:te??V??F,type:S.itemType??(te?"bar":F.length===1?"dot":void 0),selected:D,disabled:K,shape:H,showTooltipInfo:!!I,tooltipInfoText:I,tooltipDescription:q,onClick:()=>m?.(F,S.label)},F)};return t.jsxs(o.Fragment,{children:[S.groupLabel&&t.jsxs("div",{className:"filter-panel__group-label-row",children:[t.jsx("div",{className:"filter-panel__group-label body-2",children:S.groupLabel}),S.groupAction]}),t.jsxs("div",{className:De("filter-panel__section",S.layout==="row"?"filter-panel__section--row":"",S.block?"filter-panel__section--block":""),children:[t.jsxs("div",{className:"filter-panel__section-label-row",children:[t.jsx("span",{className:"filter-panel__section-label body-3",children:S.displayLabel??S.label}),S.labelAction??(S.labelInfo?t.jsx(Ea,{...S.labelInfo}):null)]}),S.type==="note"?t.jsx("div",{className:"filter-panel__note body-3",children:S.content}):S.type==="input"?t.jsx(Un,{className:"filter-panel__textfield",placeholder:S.placeholder,ariaLabel:S.displayLabel??S.label,value:p[S.label]??"",onChange:L=>m?.(L,S.label),error:S.error}):!S.multiple&&S.display==="segmented"?t.jsx(An,{ariaLabel:S.displayLabel??S.label,options:[...S.allOption?[{key:on,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...U.map(L=>{const F=typeof L=="string"?L:L.value,K=typeof L!="string"?L.displayLabel:void 0,te=typeof L!="string"?L.disabled:void 0;return{key:F,label:K??F,disabled:te}})],value:R&&S.allOption?on:p[S.label]??"",onChange:L=>m?.(L,S.label),size:32}):!S.multiple&&S.display==="dropdown"?t.jsx(sn,{className:"filter-panel__dropdown",size:40,options:[...S.allOption?[{value:on,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...U.map(L=>{const F=typeof L=="string"?L:L.value,K=typeof L!="string"?L.displayLabel:void 0,te=typeof L!="string"?L.disabled:void 0;return{value:F,label:K??F,disabled:te}})],value:R&&S.allOption?on:p[S.label],onChange:L=>m?.(L,S.label)}):t.jsxs("div",{className:S.groups?"filter-panel__item-groups":"filter-panel__items",children:[S.allOption&&!S.groups&&t.jsx(de,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:R,disabled:S.allOptionDisabled,onClick:()=>m?.(on,S.label)}),S.groups?S.groups.map((L,F)=>t.jsxs("div",{className:"filter-panel__item-group",children:[F===0&&S.allOption&&t.jsx(de,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:R,disabled:S.allOptionDisabled,onClick:()=>m?.(on,S.label)}),L.filter(K=>K!=null).map(j)]},F)):U.map(j)]})]})]},S.label)})}),d!=null&&d!==!1&&t.jsx("div",{className:"filter-panel__footer body-3",children:d})]})]})}const Xy=[1,2,3,4,5,6,7,8,9,10,11,12],wu=[8,4,2,1];function Au(e,n){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!n.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!n.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function ku(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function Bu(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Nu(e){return{label:e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Du(e){return{label:e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Eu(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Su(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function ju(e,n){return{label:e(n.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[n.itemCount,...wu.filter(a=>a<n.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Tu(e,n){return e===n||!wu.includes(e)?Number.POSITIVE_INFINITY:e}function Jy(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const Mu={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Lu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function $u(e,n){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:n.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:n.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:n.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:n.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:n.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",...n.showTopInfo!=null?{[e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")]:n.showTopInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{},...n.showBottomInfo!=null?{[e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")]:n.showBottomInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{}}}function Ru(e,n,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?n===on?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(n)?s.filter(i=>i!==n):[...s,n]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(n==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(n),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")?(r.setShowTopInfo?.(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")?(r.setShowBottomInfo?.(n==="\uD45C\uC2DC"),!0):!1}function Qy(e){return"sections"in e}function Bo(e){const{t:n}=be.useTranslation(),{title:a,className:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d}=e,c={collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d};if(Qy(e))return t.jsx(Bn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...c,align:"inline"});const{hasImage:p,hasColloquial:m,contentTypes:C,orientation:g,showOutline:v,cutLine:f,showDivLine:y,setters:w,showCutLine:h=!1,showDivLine2:_=!1,middleSections:b=[],extraSelected:A={},onExtraSelect:x,showPaperBands:N=!1,showTopInfo:B=!0,showBottomInfo:k=!0}=e,E=[Au(n,{hasImage:p,hasColloquial:m}),ku(n),...b,Bu(n),...h?[Eu(n)]:[],..._?[Su(n)]:[],...N?[Nu(n),Du(n)]:[]],S={...$u(n,{contentTypes:C,orientation:g,showOutline:v,cutLine:f,showDivLine:y,showTopInfo:B,showBottomInfo:k}),...A},z=(R,U)=>{Ru(n,R,U,w)||x?.(R,U)};return t.jsx(Bn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:S,onSelect:z,...c,sectionAlign:"horizontal"})}function Pu(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function No(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let sr=null,ua=null;function e5(e,n,a,r="",s=""){if(e.length===0||ua&&ua.iframe.isConnected&&Date.now()-ua.at<1e4)return;const i=r?No(r):"";sr?.();let l=null;if(i){const c=document.title;document.title=i,l=()=>{document.title=c,window.removeEventListener("afterprint",l),sr===l&&(sr=null)},sr=l,window.addEventListener("afterprint",l)}const u=document.createElement("iframe");u.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(u);const d=u.contentDocument;if(!d){u.remove();return}ua={iframe:u,at:Date.now()},d.open(),d.write(Do(e,n,a,!0,i,s)),d.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),ua?.iframe===u&&(ua=null)},0)})}function Do(e,n,a,r=!1,s="",i=""){s=s?No(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
|
|
859
|
+
`),f=v===-1?a:a.slice(0,v);i("comment",f),a=a.slice(f.length);continue}const u=a.match(/^\/\*[\s\S]*?\*\//);if(u){i("comment",u[0]),a=a.slice(u[0].length);continue}const d=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(d){i("string",d[0]),a=a.slice(d[0].length);continue}const c=a.match(/^\d+(?:\.\d+)?/);if(c){i("number",c[0]),a=a.slice(c[0].length);continue}const p=a.match(H4);if(p){i("keyword",p[0]),a=a.slice(p[0].length);continue}const m=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(m){const v=m[0];i(s&&O4.has(v)?"command":"identifier",v),a=a.slice(v.length);continue}const C=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(C){i("operator",C[0]),a=a.slice(C[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function V4({children:e,language:n="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=be.useTranslation(),[u,d]=o.useState(!1),c=F4(Ol(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await MC(c))return;d(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>d(!1),2e3)}catch{}},C=z4(c,n),g=s==="small"?"caption-1":"body-3";return t.jsxs("div",{className:De("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&t.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[t.jsx("div",{className:"code-box__title caption-1",children:a}),r&&t.jsx(de,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:u?"check":"copy",onClick:m,ariaLabel:u?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),t.jsx("pre",{className:"code-box__inner","data-lang":n,children:t.jsx("code",{children:C.map((v,f)=>t.jsx("span",{className:`code-token ${v.type} ${g}`,children:v.content},f))})})]})}const W4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Ta(e){const{t:n}=be.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||n("loader.loading","Loading");if(a==="bar"){const d=s==null||!Number.isFinite(Number(s)),c=d?0:Math.max(0,Math.min(100,Number(s)));return t.jsx("div",{className:`loader-bar${d?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":d?void 0:c,"aria-label":l,children:t.jsx("div",{className:"loader-bar__inner",style:d?void 0:{width:`${c}%`}})})}const u=typeof r=="number"?`${r}px`:r;return t.jsxs("div",{className:"loader-spinner",style:{width:u,height:u},role:"status","aria-label":l,children:[t.jsx("span",{style:W4,children:l}),t.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[t.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),t.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function Hl({checked:e,onChange:n,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:u}){const d=r&&t.jsx("span",{className:"toggle__label body-3",children:r});return t.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&d,t.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:c=>n?.(c.target.checked),"aria-label":!r&&s?s:void 0}),t.jsx("span",{className:"toggle__slider"}),i==="right"&&d]})}function zl({checked:e=!1,onChange:n,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:u,ariaLabel:d}){const c=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{c.current&&(c.current.indeterminate=!!r)}),t.jsxs("label",{className:De("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:u,children:[t.jsx("input",{ref:c,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:C=>{n?.(C.target.checked),c.current&&(c.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&d?d:void 0}),t.jsx("span",{className:"checkbox__box"}),s&&t.jsx("span",{className:"checkbox__label body-3",children:s})]})}function q4({count:e,actions:n,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:u}=be.useTranslation(),d=s!==void 0?s:e>0,c=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),C=o.useRef(null),g=o.useRef(d);o.useLayoutEffect(()=>{const h=m.current,_=g.current;if(g.current=d,d&&!_){const b=typeof document<"u"?document.activeElement:null;C.current=b&&b!==document.body&&!h?.contains(b)?b:null}else!d&&_&&h&&h.contains(document.activeElement)&&Ua(h,C.current)},[d]);const[v,f]=o.useState(!1),y=o.useRef(!1),w=o.useRef(null);return o.useEffect(()=>{const h=p.current;if(!h)return;const _=k=>{y.current=k,f(k)},b=()=>{const k=h.firstElementChild??h,E=Array.from(k.children);if(E.length<2){_(!1);return}const S=E[0].offsetTop,z=E.some(O=>O.offsetTop!==S);if(!y.current){w.current=h.clientWidth,z&&_(!0);return}if(z)return;const R=E[0],q=E[E.length-1],j=q.offsetLeft+q.offsetWidth-R.offsetLeft,M=w.current;(M==null||j<=M)&&_(!1)};if(b(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(b);A.observe(h);const x=h.parentElement;let N=x?.clientWidth??0;const B=new ResizeObserver(()=>{const k=x?.clientWidth??0;k!==N&&(N=k,w.current=null,b())});return x&&B.observe(x),()=>{A.disconnect(),B.disconnect()}},[i,e]),t.jsxs("div",{ref:m,className:`bulk-bar ${d?"bulk-bar--visible":""}`,inert:!d||void 0,"aria-hidden":d?void 0:!0,children:[t.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??t.jsx("b",{children:u("common.selectedCount",{count:e})})}),l!==void 0&&t.jsx(yt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`,"aria-label":u("common.selectedOfMax",{count:e,max:l,defaultValue:`\uCD5C\uB300 ${l}\uAC1C \uC911 ${e}\uAC1C`})}),t.jsxs("div",{className:`bulk-bar__actions${v?" bulk-bar__actions--stacked":""}`,children:[t.jsx(de,{htmlType:"button",size:40,label:c,onClick:a}),n.map((h,_)=>t.jsx(de,{htmlType:"button",size:40,variant:h.variant??"default",icon:h.icon,label:h.label,onClick:h.onClick},_))]})]})}const U4=[{\uC5F4\uC1E0:"edit",icon:"edit-2",\uB2EB\uACE0\uD560\uAE4C:!0},{\uC5F4\uC1E0:"duplicate",icon:"copy",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"publish",icon:"book-marked",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"copyLink",icon:"link",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"remove",icon:"trash-2",\uB2EB\uACE0\uD560\uAE4C:!0}];function G4(e){const{onClose:n,className:a}=e;return t.jsx("div",{className:De("item-actions",a),children:U4.map(({\uC5F4\uC1E0:r,icon:s,\uB2EB\uACE0\uD560\uAE4C:i})=>{const l=e[r];if(!l)return null;const u=r==="publish"?l.published?l.unpublish:l.publish:l;return t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:s,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{i&&n(),u.onClick()}},r)})})}function Vl(e,n){const a=()=>{if(e){const[f,y]=e.split("-");return{y:+f,m:+y-1}}const[g,v]=Ir(n).split("-");return{y:+g,m:+v-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),u=o.useRef(e);o.useEffect(()=>{if(e===u.current)return;u.current=e;const g=a();s(g.y),l(g.m)},[e]);const d=o.useRef({y:r,m:i});o.useEffect(()=>{d.current={y:r,m:i}},[r,i]);const c=o.useCallback(g=>{const v=d.current.y*12+d.current.m+g,f=Math.floor(v/12),y=v-f*12;d.current={y:f,m:y},s(f),l(y)},[]),p=o.useCallback(()=>c(-1),[c]),m=o.useCallback(()=>c(1),[c]),C=o.useCallback((g,v)=>{d.current={y:g,m:v},s(g),l(v)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:C}}function er(e,n){return new Date(e,n+1,0).getDate()}function K4(e,n){return new Date(e,n,1).getDay()}function tr(e,n,a){return`${e}-${String(n+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function Y4(e){if(!e)return"";const[n,a,r]=e.split("-");return`${n}. ${a}. ${r}.`}function Z4(e,n,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let u=s;u<=i;u++)for(let d=0;d<12;d++){const c=`${u}-${String(d+1).padStart(2,"0")}`;a&&c<a.slice(0,7)||r&&c>r.slice(0,7)||l.push({value:c,label:n(u,d+1)})}return l}function X4({value:e,onChange:n,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:u,today:d}){const{t:c}=be.useTranslation(),p=l??c("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>c("calendar.dow",{returnObjects:!0}),[c]),C=Ir(d),{viewY:g,viewM:v,prevMonth:f,nextMonth:y,setViewYM:w}=Vl(e,d),h=o.useId(),_=o.useCallback((D,H)=>{const L=window.innerHeight,I=window.innerWidth,$=typeof document<"u"?document.getElementById(h):null,K=Math.max($?.offsetHeight||0,$?.scrollHeight||0)||300,ne=Math.max(D.width,$?.offsetWidth||0,260),J=L-D.bottom,ae=D.top,ue=J<K&&ae>J,ie=8,xe=(W,Q)=>Math.min(Math.max(ie,W),Math.max(ie,Q));return{position:"fixed",left:xe(D.left,I-ne-ie),width:D.width,minWidth:260,...ue?{top:"auto",bottom:xe(L-D.top+6,L-K-ie)}:{bottom:"auto",top:xe(D.bottom+6,L-K-ie)},zIndex:Aa(H)}},[h]),{open:b,setOpen:A,toggle:x,style:N,triggerRef:B,menuRef:k}=ka({computeStyle:_,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!b)return;const D=k.current;return(D?.querySelector(".date-picker__day--selected:not(:disabled)")??D?.querySelector(".date-picker__day--today:not(:disabled)")??D?.querySelector(".date-picker__day:not(:disabled)")??D?.querySelector(mn)??D)?.focus?.(),()=>{const H=document.activeElement;(!H||H===document.body)&&B.current?.focus?.()}},[b,k,B]);const[E,S]=o.useState(1),z=o.useRef(null),R=o.useRef(null);o.useEffect(()=>{if(!b)return;const D=e&&e.slice(0,7)===`${g}-${String(v+1).padStart(2,"0")}`?+e.slice(8):C.slice(0,7)===`${g}-${String(v+1).padStart(2,"0")}`?+C.slice(8):1;S(D)},[b]),o.useEffect(()=>{if(R.current==null)return;const D=R.current;R.current=null,z.current?.querySelector(`[data-day="${D}"]`)?.focus()}),o.useEffect(()=>{S(D=>Math.min(D,er(g,v)))},[g,v]);const q=o.useCallback(D=>{let H=tr(D.getFullYear(),D.getMonth(),D.getDate());r&&H<r&&(H=r),s&&H>s&&(H=s);const[L,I,$]=H.split("-").map(Number);(L!==g||I-1!==v)&&w(L,I-1),S($),R.current=$},[r,s,g,v,w]),j=o.useCallback(D=>{const H=new Date(g,v,E),L=$=>{H.setDate(H.getDate()+$),q(H)},I=$=>{const K=H.getFullYear()*12+H.getMonth()+$,ne=Math.floor(K/12),J=K-ne*12;q(new Date(ne,J,Math.min(H.getDate(),er(ne,J))))};switch(D.key){case"ArrowLeft":L(-1);break;case"ArrowRight":L(1);break;case"ArrowUp":L(-7);break;case"ArrowDown":L(7);break;case"Home":L(-H.getDay());break;case"End":L(6-H.getDay());break;case"PageUp":D.shiftKey?I(-12):I(-1);break;case"PageDown":D.shiftKey?I(12):I(1);break;default:return}D.preventDefault()},[g,v,E,q]),M=o.useCallback(D=>{i||(n(tr(g,v,D)),A(!1))},[g,v,n,A,i]);o.useEffect(()=>{i&&A(!1)},[i,A]);const O=D=>{const H=tr(g,v,D);return!!(r&&H<r||s&&H>s)},Y=(()=>{const D=er(g,v);if(E>=1&&E<=D&&!O(E))return E;for(let H=1;H<=D;H++)if(!O(H))return H;return-1})(),te=[];for(let D=0;D<K4(g,v);D++)te.push(null);for(let D=1;D<=er(g,v);D++)te.push(D);const V=a===64?20:a===40?16:18,U=Z4(g,(D,H)=>c("calendar.yearMonth",{year:D,month:H,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),P=`${g}-${String(v+1).padStart(2,"0")}`,F=b?Xt.createPortal(t.jsxs("div",{ref:k,id:h,className:"date-picker__dropdown",style:N,"data-tooltip-ignore":!0,role:"dialog","aria-label":c("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[t.jsxs("div",{className:"date-picker__nav",children:[t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":c("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(is,{size:16,strokeWidth:2})}),t.jsx(sn,{className:"date-picker__nav-dropdown",ariaLabel:c("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:U,value:P,onChange:D=>{const[H,L]=D.split("-");w(+H,+L-1)},block:!0,size:40}),t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:y,"aria-label":c("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(ls,{size:16,strokeWidth:2})})]}),t.jsxs("div",{className:"date-picker__grid",ref:z,onKeyDown:j,children:[m.map(D=>t.jsx("div",{className:"date-picker__dow caption-1",children:D},D)),te.map((D,H)=>{if(D===null)return t.jsx("div",{},`e${H}`);const L=tr(g,v,D),I=L===e,$=L===C,K=O(D),ne=H%7;return t.jsx("button",{type:"button",disabled:K,"data-day":D,tabIndex:D===Y?0:-1,"aria-current":$?"date":void 0,onClick:()=>!K&&M(D),className:De("date-picker__day caption-1",I&&"date-picker__day--selected",$&&!I&&"date-picker__day--today",K&&"date-picker__day--disabled",ne===0&&"date-picker__day--sun",ne===6&&"date-picker__day--sat"),children:D},D)})]})]}),document.body):null;return t.jsxs("div",{className:De("date-picker",`date-picker--s${a}`,b&&"date-picker--open",u),children:[t.jsxs("button",{ref:B,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&x(),disabled:i,"aria-haspopup":"true","aria-expanded":b,children:[t.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?Y4(e):p}),t.jsx(gs,{size:V,className:"date-picker__icon",strokeWidth:1.5})]}),F]})}function Wl({children:e,className:n}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useEffect(()=>{s(a.current?.parentElement??null)},[]),o.useEffect(()=>{const i=a.current;if(!i||!r)return;const l=()=>{const d=typeof window<"u"&&window.getComputedStyle(i).position==="absolute"?Math.ceil(i.getBoundingClientRect().width):0;d>0?r.style.setProperty("--section-head-float-w",`${d}px`):r.style.removeProperty("--section-head-float-w")};if(l(),typeof ResizeObserver>"u")return()=>{r.style.removeProperty("--section-head-float-w")};const u=new ResizeObserver(()=>l());return u.observe(i),u.observe(r),()=>{u.disconnect(),r.style.removeProperty("--section-head-float-w")}},[r,e]),t.jsx("div",{ref:a,className:De("section-head-float",n),children:e})}function co({items:e,className:n}){return t.jsx("div",{className:n?`manager-bar-chart-legend ${n}`:"manager-bar-chart-legend",children:e.map((a,r)=>t.jsxs("span",{className:"manager-bar-chart-legend-item",children:[t.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ma({label:e,children:n}){return e?t.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[t.jsx("span",{className:"barchart-total__label body-3",children:e}),t.jsx("span",{className:"barchart-total__value",children:n})]}):t.jsx("div",{className:"barchart-total",children:n})}function po({title:e,titleClassName:n="h3",titleLevel:a=3,icon:r,disc:s,headRight:i,headFloat:l,headSegment:u,headMenuItems:d,collapseBelow:c=420,onClick:p,ariaLabel:m,tooltip:C,totalNum:g,totalUnit:v,totalLabel:f,subRow:y,subRowAlign:w="start",className:h,inGrid:_=!1,children:b}){const{t:A}=be.useTranslation(),x=o.useRef(null),{anchorRect:N,openAt:B,close:k}=wa(),E=o.useCallback(()=>{C&&x.current&&B(x.current)},[C,B]),[S,z]=o.useState(!1);lo(()=>{const L=x.current;if(!L||!u)return;const I=K=>z(K>0&&K<c);if(I(L.clientWidth),typeof ResizeObserver>"u")return;const $=new ResizeObserver(K=>I(K[0].contentRect.width));return $.observe(L),()=>$.disconnect()},[u,c]);const[R,q]=o.useState(null),j=o.useCallback(()=>q(null),[]),M=o.useCallback(L=>{const I=L.currentTarget.getBoundingClientRect();q($=>$?null:{left:I.left,right:I.right,top:I.top,bottom:I.bottom,width:I.width,height:I.height,x:I.x,y:I.y})},[]),O=!!u&&S;o.useEffect(()=>{O||q(null)},[O]);const Y=u?[...u.options.map(L=>({label:L.label,icon:L.icon,selected:L.key===u.value,disabled:L.disabled,onClick:()=>u.onChange(L.key),closeOnSelect:!0})),...(d??[]).map((L,I)=>I===0?{...L,separatorBefore:!0}:L)]:[],te=o.useCallback(L=>{if(!p)return;const I=L.target;I&&typeof I.closest=="function"&&I.closest('button, a, input, select, textarea, [role="radiogroup"]')||p()},[p]),V=o.useCallback(L=>{p&&L.target===L.currentTarget&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),p())},[p]),U=typeof i=="function"?i({collapsed:O}):i,P=g!=null||f?t.jsxs(Ma,{label:f,children:[g!=null&&t.jsx("span",{className:"barchart-total__num h0",children:g}),v&&t.jsx("span",{className:"barchart-total__unit h5",children:v})]}):null,F=U||u?t.jsxs("div",{className:"manager-section__head-right",children:[u&&(O?t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??A("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??A("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!R,onClick:M}):t.jsx(An,{size:32,ariaLabel:u.ariaLabel,options:u.options.map(L=>({key:L.key,label:L.label,disabled:L.disabled})),value:u.value,onChange:u.onChange})),U]}):null,D=o.useId(),H=a?`h${a}`:"div";return t.jsxs("section",{ref:x,className:["manager-section",_&&"manager-section--grid",p&&"manager-section--clickable",h].filter(Boolean).join(" "),onClick:p?te:void 0,onKeyDown:p?V:void 0,onPointerEnter:C?E:void 0,onPointerLeave:C?k:void 0,onFocus:C?E:void 0,onBlur:C?k:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,"aria-label":p?m??(typeof e=="string"?e:void 0):void 0,"aria-labelledby":!p&&e!=null?D:void 0,children:[C&&N&&t.jsx(vn,{anchorRect:{left:N.left,top:N.top+21,right:N.right,bottom:N.bottom,width:N.width,height:N.height},text:C}),l&&t.jsx(Wl,{children:l}),t.jsxs("div",{className:"manager-section__head",children:[t.jsxs("div",{className:"manager-section__title-row",children:[r&&t.jsx(Ke,{icon:r,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),t.jsx(H,{id:D,className:["manager-section__title",n].filter(Boolean).join(" "),children:e})]}),F,s&&t.jsx("div",{className:"manager-section__disc body-3",children:s})]}),(P||y)&&t.jsxs("div",{className:["barchart-sub-row",w!=="start"&&`barchart-sub-row--${w}`].filter(Boolean).join(" "),children:[P,y]}),b,R&&t.jsx(rn,{anchorRect:R,onClose:j,ariaLabel:u?.ariaLabel??A("tooltip.menu","\uBA54\uB274"),children:t.jsx(Ba,{columns:[{items:Y}],onClose:j,size:"small"})})]})}function hn(e,n){const a=new Date(e,n,1).getDay();return 1+(8-(a===0?7:a))%7}function J4(){const e=Jn();let n=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<hn(n,a)){const l=new Date(n,a,0);n=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-hn(n,a))/7),i=`${n}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function Q4(e){const n=Jn(),a=`${n.getFullYear()}\uB144 ${n.getMonth()+1}\uC6D4`,r=(d,c)=>`${d}\uB144 ${c+1}\uC6D4`,s=new Map;s.set(a,[]);for(const d of e){if(isNaN(d.date.getTime()))continue;const c=r(d.date.getFullYear(),d.date.getMonth());s.has(c)||s.set(c,[]),s.get(c).push(d)}for(const[d,c]of[...s.entries()]){const p=d.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),C=Number(p[2])-1,g=hn(m,C);if(!(d===a&&n.getDate()<g)&&!c.some(y=>y.date.getDate()<g))continue;const v=new Date(m,C,0),f=r(v.getFullYear(),v.getMonth());s.has(f)||s.set(f,[])}const i=new Map;for(const[d,c]of s){const p=d.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),C=Number(p[2])-1,g=new Date(m,C+1,0).getDate(),v=c.reduce((b,A)=>Math.max(b,A.parts?.length??0,A.partsB?.length??0),0),f=c.some(b=>b.partsB),y=new Array(g+1).fill(0),w=new Array(g+1).fill(0),h=Array.from({length:g+1},()=>new Array(v).fill(0)),_=Array.from({length:g+1},()=>new Array(v).fill(0));for(const b of c){const A=b.date.getDate();if(y[A]+=b.a,w[A]+=b.b,b.parts)for(let x=0;x<v;x++)h[A][x]+=b.parts[x]??0;if(b.partsB)for(let x=0;x<v;x++)_[A][x]+=b.partsB[x]??0}i.set(d,{year:m,month:C,daysInMonth:g,partsLen:v,hasPartsB:f,dayA:y,dayB:w,dayParts:h,dayPartsB:_})}const l=(d,c,p)=>new Date(d,c,p).getTime()>new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),u={};for(const[d,c]of i){const{year:p,month:m,daysInMonth:C,dayA:g,dayB:v,dayParts:f,dayPartsB:y}=c,w=p===n.getFullYear()&&m===n.getMonth(),h=n.getDate(),_=i.get(r(m===11?p+1:p,(m+1)%12)),b=c.partsLen,A=[];for(let N=1;N<=C;N++){const B=w&&N>h;A.push({label:String(N),...B&&g[N]===0&&v[N]===0?{future:!0}:{},a:B&&g[N]===0&&v[N]===0?-1:g[N],b:v[N],...b?{parts:f[N]}:{},...b&&c.hasPartsB?{partsB:y[N]}:{}})}const x=[];for(let N=hn(p,m);N<=C;N+=7){const B=Math.max(0,N+6-C),k=B&&_?Math.max(b,_.partsLen):b,E=c.hasPartsB||!!(B&&_?.hasPartsB);let S=0,z=0;const R=new Array(k).fill(0),q=new Array(k).fill(0);for(let M=N;M<=Math.min(N+6,C);M++){S+=g[M],z+=v[M];for(let O=0;O<b;O++)R[O]+=f[M][O],q[O]+=y[M][O]}if(B&&_)for(let M=1;M<=B&&!l(_.year,_.month,M);M++){S+=_.dayA[M],z+=_.dayB[M];for(let O=0;O<_.partsLen;O++)R[O]+=_.dayParts[M][O],q[O]+=_.dayPartsB[M][O]}const j=B?`${(m+1)%12+1}/${B}`:`${N+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${N}\uC77C~${j}\uC77C]`,a:S,b:z,...k?{parts:R}:{},...k&&E?{partsB:q}:{}})}u[d]={weekly:x,daily:A}}return u}function ql(){const e=Jn(),n=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=n;s++){const i=s===n?a:12;for(let l=1;l<=i;l++){const u=`${s}\uB144 ${l}\uC6D4`;r.push({value:u,label:u,year:s,month:l})}}return r.reverse()}ql();function ey(){return ql()}const Ul=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Gl(e){const{t:n,i18n:a}=be.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>ey().filter(k=>k.value in e),[e]),l=o.useMemo(()=>{const k=[];for(const E of i){const S=new Date(E.year,E.month,0).getDate(),z=hn(E.year,E.month-1),R=Math.ceil((S-z+1)/7);for(let q=R-1;q>=0;q--)k.push({value:`${E.value}#${q}`,monthKey:E.value,year:E.year,month:E.month,week:q})}return k},[i]),u=o.useCallback(k=>{const E=n("calendar.yearMonth",{year:k.year,month:k.month});return a.language?.startsWith("ko")?`${E} ${Ul[k.week]??`${k.week+1}`}\uC8FC`:`${E} Week ${k.week+1}`},[n,a.language]),d=o.useMemo(()=>i.map(k=>({value:k.value,label:n("calendar.yearMonth",{year:k.year,month:k.month})})),[n,i]),c=o.useMemo(()=>l.map(k=>({value:k.value,label:u(k)})),[l,u]),p=o.useMemo(()=>J4(),[e]),m=o.useMemo(()=>i.find(k=>k.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),C=o.useMemo(()=>l.find(k=>k.value===p.value)?.value??l[0]?.value??"",[l,p]),[g,v]=o.useState(""),[f,y]=o.useState("");o.useEffect(()=>{i.find(k=>k.value===g)||v(m)},[i,g,m]),o.useEffect(()=>{l.find(k=>k.value===f)||y(C)},[l,f,C]);const w=r==="month"?d:c,h=r==="month"?g:f,_=r==="month"?v:y,b=o.useMemo(()=>{const k=n("calendar.dow",{returnObjects:!0});return Array.isArray(k)?k:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[n]),A=w.findIndex(k=>k.value===h),x=o.useCallback(()=>{const k=w.findIndex(E=>E.value===h);k<w.length-1&&_(w[k+1].value)},[w,h,_]),N=o.useCallback(()=>{const k=w.findIndex(E=>E.value===h);k>0&&_(w[k-1].value)},[w,h,_]),B=o.useMemo(()=>[{key:"week",label:n("manager.chart.periodWeek","\uC8FC")},{key:"month",label:n("manager.chart.periodMonth","\uC6D4")}],[n]);return{period:r,setPeriod:s,range:h,setRange:_,activeOptions:w,activeIdx:A,handlePrev:x,handleNext:N,periodOptions:B,monthRange:g,weekRange:f,weekRanges:l,DOW:b}}const pt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,n=!0){return e.future===!0||n&&e.a===-1}function ty({data:e,colorA:n,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:u=140,maxOverride:d,tightMax:c,seriesColors:p,seriesLabels:m,rateLabels:C,grouped:g=!1,baseline:v,focusableBars:f=!1}){const y=!a,w=!!(p&&p.length>0),h=v,_=o.useMemo(()=>w?Math.max(0,...e.filter(V=>!kn(V,h==null)).map(V=>g?Math.max(0,...(V.parts??[]).map(pt)):(V.parts??[]).reduce((U,P)=>U+Math.max(0,pt(P)),0))):Math.max(0,...e.filter(V=>!kn(V,h==null)).flatMap(V=>y?[pt(V.a)]:[pt(V.a),pt(V.b)])),[e,y,w,g]),b=o.useMemo(()=>{if(h==null)return 0;const V=e.filter(U=>!kn(U,h==null)).flatMap(U=>w?(U.parts??[]).map(pt):y?[pt(U.a)]:[pt(U.a),pt(U.b)]);return Math.max(0,...V.map(U=>Math.abs(U-h)))},[e,h,w,y]),A=o.useMemo(()=>{const V=h!=null?b:_;return d??(c?V>0?V:10:Math.ceil(V/10)*10||10)},[_,b,h,d,c]),x=u,N=w?g?Math.max(1,p.length):1:y?1:2,B={"--bar-width":`${o.useMemo(()=>{const V=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(V*N)+6)))},[e.length,N,i])}px`},k={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const V=Math.round(A/2);return h!=null?[h+A,...V!==A?[h+V]:[],h,...V!==A?[h-V]:[],h-A]:V!==A?[A,V,0]:[A,0]},[A,h]),S=V=>h!=null?1-(V-(h-A))/(2*A):1-V/A,[z,R]=o.useState(null),q=o.useCallback(()=>R(null),[]),j=o.useCallback((V,U)=>{const P=[V.label,V.sublabel].filter(Boolean).join(" ");let F;if(w&&g&&V.rawPartsB)F=(m??[]).map((D,H)=>{const L=V.rawPartsB[H]??0;return{text:L>0?`${D}: ${U[H]??0}% (${V.rawParts?.[H]??0}/${L})`:`${D}: -`,color:(p??[])[H]}});else if(w&&g)F=(m??[]).map((D,H)=>({text:`${D}: ${Y(U[H]??0)}`,color:(p??[])[H]}));else if(w){const D=(m??[]).map((L,I)=>({text:`${L}: ${U[I]??0}`,color:(p??[])[I]})),H=D.filter((L,I)=>(U[I]??0)>0);F=H.length?H:D}else C&&!y?F=[{text:`${r} ${pt(V.a)}%`,color:n},{text:`${s} ${pt(V.b)}%`,color:a}]:C&&V.rawB!==void 0?F=[{text:`${C.total} ${V.rawB}`},{text:`${C.done} ${V.rawA??0}`,color:n}]:y?F=[{text:`${r}: ${pt(V.a)}`,color:n}]:F=[{text:`${r}: ${pt(V.a)}`,color:n},{text:`${s}: ${pt(V.b)}`,color:a}];return{title:P,items:F}},[w,g,m,p,C,y,r,s,n,a,h]),M=o.useCallback((V,U,P)=>{const F=V.getBoundingClientRect(),{title:D,items:H}=j(U,P);R({rect:{left:F.left,top:F.top,right:F.right,bottom:F.bottom,width:F.width,height:F.height},title:D,items:H})},[j]),O=o.useCallback((V,U)=>{const{title:P,items:F}=j(V,U);return[P,...F.map(D=>D.text)].filter(Boolean).join(", ")},[j]),Y=V=>h!=null&&V>h?`+${V}`:`${V}`,te=z!=null;return o.useEffect(()=>{if(!te)return;const V=()=>R(null),U=P=>{const F=P.target;F&&typeof F.closest=="function"&&F.closest(".manager-bar-chart-col")||R(null)};return window.addEventListener("scroll",V,!0),document.addEventListener("pointerdown",U,!0),()=>{window.removeEventListener("scroll",V,!0),document.removeEventListener("pointerdown",U,!0)}},[te]),t.jsxs("div",{className:"manager-bar-chart-wrap",style:k,children:[t.jsx("div",{className:"manager-bar-chart-inner",children:t.jsx("div",{className:"manager-bar-chart-scroll",children:t.jsxs("div",{className:"manager-bar-chart-area",children:[t.jsxs("div",{className:"manager-bar-chart-plot",style:{height:x},children:[E.slice(0,-1).map((V,U)=>t.jsx("div",{className:`manager-bar-chart-gridline${h!=null&&V===h?" manager-bar-chart-gridline--baseline":""}`,style:{top:S(V)*x},children:t.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:V})},U)),e.map((V,U)=>{const P=kn(V,h==null),F=x/2,D=$=>h!=null?Math.min(F,Math.abs(pt($)-h)/A*F):Math.min(x,Math.max(0,pt($)/A*x)),H=P?0:D(V.a),L=P?0:D(V.b),I=(V.parts??[]).map(pt);return t.jsx("div",{className:`manager-bar-chart-col${g&&w?" manager-bar-chart-col--group":""}`,style:{cursor:P?"default":"pointer"},tabIndex:f&&!P?0:void 0,role:f&&!P?"img":void 0,"aria-label":f&&!P?O(V,I):void 0,onMouseEnter:P?void 0:$=>M($.currentTarget,V,I),onFocus:P||!f?void 0:$=>M($.currentTarget,V,I),onBlur:f?q:void 0,onMouseLeave:q,children:!P&&(w&&g?(p??[]).map(($,K)=>{const ne=I[K]??0;if(h==null)return t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:D(ne),background:$}},K);const J=pt(ne)<h;return t.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!J&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D(ne),background:$}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:J&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D(ne),background:$}})})]},K)}):w?t.jsx("div",{className:"manager-bar-chart-stack",style:B,children:(()=>{const $=I.reduce((ne,J,ae)=>J>0?ae:ne,-1);let K=x;return I.map((ne,J)=>{if(ne<=0)return null;const ae=Math.min(K,ne/A*x);return K-=ae,t.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:ae,background:(p??[])[J],borderRadius:J===$?"6px 6px 0 0":void 0}},J)})})()}):h!=null?t.jsx(t.Fragment,{children:[{v:pt(V.a),c:n},...y?[]:[{v:pt(V.b),c:a}]].map(({v:$,c:K},ne)=>t.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:$>=h&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D($),background:K}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:$<h&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D($),background:K}})})]},ne))}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:H,background:n}}),!y&&t.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:L,background:a}})]}))},U)})]}),t.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((V,U)=>{const P=kn(V,h==null);return t.jsxs("span",{className:`manager-bar-chart-x-axis__label${P?" manager-bar-chart-x-axis__label--future":""}`,children:[t.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[V.isToday&&t.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:n}}),V.label]}),V.sublabel&&t.jsx("span",{className:"caption-1",children:V.sublabel})]},U)})})]})})}),z&&t.jsx(Vn,{anchorRect:z.rect,title:z.title,items:z.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Kl({control:e}){const{t:n}=be.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:u,periodOptions:d,period:c,setPeriod:p}=e,m=c==="week"?n("calendar.prevWeek","\uC774\uC804 \uC8FC"):n("calendar.prevMonth","\uC774\uC804 \uB2EC"),C=c==="week"?n("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):n("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return t.jsxs("div",{className:"manager-section-controls",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),t.jsx(sn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:n("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:C,showTooltipInfo:C,disabled:r<=0,onClick:u}),t.jsx(An,{ariaLabel:n("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:d,value:c,onChange:g=>p(g),size:40})]})}function mo(e,n,a,r=!0){const s=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(i,l)=>{const u=new Date(n);u.setDate(n.getDate()+l);const d=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],c=d!=null&&kn(d,r)||u>s;return{dt:u,entry:d,isFuture:c}})}function ny(e,n,a,r,s=!0){const{period:i,monthRange:l,weekRange:u,weekRanges:d,DOW:c}=n,p=r?.startsWith("ko"),m=Jn(),C=m.getFullYear(),g=m.getMonth()+1,v=m.getDate();if(i==="month"){const w=e[l]??{weekly:[],daily:[]},h=l.match(/^(\d+)년 (\d+)월$/),_=h?Number(h[1]):null,b=h?Number(h[2]):null,A=_&&b?hn(_,b-1):1;return w.weekly.map((x,N)=>{const B=N+1;let k=x.label,E=!1,S=!1;if(_&&b){const z=A+N*7,R=new Date(_,b-1,z+6),q=R.getMonth()+1,j=R.getDate(),M=q===b?`${j}`:`${q}/${j}`;k=a("manager.chart.weekRange",{start:z,end:M});const O=new Date(C,g-1,v).getTime();E=O>=new Date(_,b-1,z).getTime()&&O<=R.getTime(),S=_>C||_===C&&(b>g||b===g&&z>v)}return{...x,label:k,sublabel:p?`${Ul[B-1]??B}\uC8FC`:`Week ${B}`,isToday:E,future:x.future===!0||S||void 0,a:S?-1:x.a,b:S?0:x.b}})}const f=d.find(w=>w.value===u);if(!f)return[];const y=new Date(f.year,f.month-1,hn(f.year,f.month-1)+f.week*7);return mo(e,y,m,s).map(({dt:w,entry:h,isFuture:_})=>{const b=w.getMonth()+1,A=w.getDate(),x=w.getFullYear();return{label:b===f.month&&x===f.year?`${A}`:`${b}/${A}`,sublabel:c[w.getDay()]??"",future:_||void 0,a:_?-1:h&&h.a>0?h.a:0,b:_?0:h&&h.b>0?h.b:0,isToday:x===C&&b===g&&A===v,...h?.parts?{parts:_?h.parts.map(()=>0):h.parts}:{},...h?.partsB?{partsB:_?h.partsB.map(()=>0):h.partsB}:{}}})}const ay={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function ry({focusableBars:e,size:n="medium",barWidth:a,titleKey:r,titleLevel:s,data:i,colorA:l,colorB:u,labelAKey:d,labelBKey:c,showTotal:p=!1,totalUnitKey:m,totalLabelKey:C,control:g,hideControls:v=!1,rate:f=!1,rateAgg:y="dayMean",tightMax:w=!1,avgMode:h=!1,totalFormat:_,series:b,seriesMode:A="stack",loading:x=!1,onDetail:N,headExtra:B,headSegment:k,icon:E,disc:S,onClick:z,cardAriaLabel:R,cardTooltip:q,detailSize:j=32,barGap:M,baseline:O,className:Y,inGrid:te=!1}){const{t:V,i18n:U}=be.useTranslation(),P=ay[n],F=Gl(i),D=g??F,H=o.useMemo(()=>ny(i,D,V,U.language,O==null),[i,D,V,U.language,O]),L=A==="group"&&!!b&&b.length>0;M!=null&&!L&&pn("bar-chart-bargap-without-group","[BarChart] barGap \uC740 seriesMode='group' + series \uC5D0\uC11C\uB9CC \uC4F0\uC778\uB2E4 \u2014 \uADF8 \uBC16\uC5D0\uC11C\uB294 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4.");const I=o.useMemo(()=>{if(!f)return H;const ae=D.period==="month"?D.monthRange.match(/^(\d+)년 (\d+)월$/):null,ue=Jn(),ie=b?.length??0,xe=W=>{const Q=[],se=[],ke=[];for(let me=0;me<ie;me++){let re=0,Ce=0,ge=0;for(const Ee of W){const Re=pt(Ee.a[me]),Le=pt(Ee.b[me]);Le<=0||(re+=Re,Ce+=Le,ge+=Re/Le*100)}Q.push(y==="weighted"?Ce>0?Math.round(re/Ce*100):0:W.length?Math.round(ge/W.length):0),se.push(re),ke.push(Ce)}return{pct:Q,ra:se,rb:ke}};return H.map((W,Q)=>{let se=W.a===-1?-1:W.b>0?Math.round(W.a/W.b*100):0;if(ae&&!kn(W)){const me=Number(ae[1]),re=Number(ae[2])-1,Ce=mo(i,new Date(me,re,hn(me,re)+Q*7),ue).filter(ge=>!ge.isFuture);if(y==="weighted"){let ge=0,Ee=0;for(const{entry:Re}of Ce)Re&&Re.b>0&&(ge+=Re.a,Ee+=Re.b);se=Ee>0?Math.round(ge/Ee*100):0}else se=Ce.length?Math.round(Ce.reduce((ge,{entry:Ee})=>ge+(Ee&&Ee.b>0?Ee.a/Ee.b*100:0),0)/Ce.length):0}let ke=null;if(L&&!kn(W)){let me;if(ae){const Ce=Number(ae[1]),ge=Number(ae[2])-1;me=mo(i,new Date(Ce,ge,hn(Ce,ge)+Q*7),ue).filter(Ee=>!Ee.isFuture).map(({entry:Ee})=>({a:Ee?.parts??[],b:Ee?.partsB??[]}))}else me=[{a:W.parts??[],b:W.partsB??[]}];const re=xe(me);ke={parts:re.pct,rawParts:re.ra,rawPartsB:re.rb}}return{...W,a:se,b:W.a===-1?0:c&&W.parts&&W.parts[1]>0?Math.round(W.parts[0]/W.parts[1]*100):0,rawA:W.a===-1?-1:W.a,rawB:W.b,...ke??{}}})},[H,f,y,c,D.period,D.monthRange,i,L,b?.length]),$=o.useMemo(()=>{if(f||h){const ue=(D.period==="week"?H:i[D.monthRange]?.daily??[]).filter(xe=>xe.a!==-1);if(ue.length===0)return 0;if(f&&y==="weighted"){let xe=0,W=0;for(const Q of ue)Q.b>0&&(xe+=Q.a,W+=Q.b);return W>0?Math.round(xe/W*100):0}const ie=f?ue.reduce((xe,W)=>xe+(W.b>0?W.a/W.b*100:0),0):ue.reduce((xe,W)=>xe+(W.a>0?W.a:0),0);return Math.round(ie/ue.length)}const ae=D.period==="month"?i[D.monthRange]?.daily??[]:I;return O!=null?ae.reduce((ue,ie)=>ue+(kn(ie,!1)?0:pt(ie.a)+(c?pt(ie.b):0)),0):ae.reduce((ue,ie)=>ue+(ie.a>0?ie.a:0)+(c&&ie.b>0?ie.b:0),0)},[I,H,f,y,h,O,c,D.period,D.monthRange,i]),K=b&&b.length>0?b.map(ae=>({color:ae.color,label:ae.label})):[{color:l,label:V(d)},...c?[{color:u,label:V(c)}]:[]],ne=n==="small",J=[ne?"manager-section--compact":n==="large"?"manager-section--full":void 0,Y].filter(Boolean).join(" ")||void 0;return t.jsx(po,{className:J,inGrid:te,icon:E,disc:S,onClick:z,ariaLabel:R,tooltip:q,headSegment:k,headMenuItems:N?[{label:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:N,closeOnSelect:!0}]:void 0,title:V(r),titleLevel:s,titleClassName:ne?"h5 chart-section-title--small":void 0,headRight:ne?B??void 0:({collapsed:ae})=>t.jsxs(t.Fragment,{children:[!v&&t.jsx(Kl,{control:D}),B,N&&!ae&&t.jsx("span",{className:"manager-bar-chart-detail-btn",children:t.jsx(de,{htmlType:"button",size:j,type:"dot",icon:"list",ariaLabel:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),showTooltipInfo:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:N})})]}),subRow:t.jsxs(t.Fragment,{children:[p?f||h||C&&_?t.jsx(Ma,{label:ne?void 0:`${V(D.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${V(C??d)}`,children:_?(_($).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((ae,ue)=>/\d/.test(ae)?t.jsx("span",{className:"barchart-total__num h0",children:ae},ue):t.jsx("span",{className:"barchart-total__unit h5",children:ae},ue)):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"barchart-total__num h0",children:$}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]})}):t.jsxs(Ma,{children:[t.jsx("span",{className:"barchart-total__num h0",children:$}),t.jsx("span",{className:"barchart-total__unit h5",children:V(d)}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]}):t.jsx("span",{}),t.jsx(co,{items:K,className:"caption-1"})]}),children:x?t.jsx("div",{className:"manager-bar-chart-wrap manager-bar-chart-loading","aria-busy":"true",children:t.jsx("div",{className:"manager-bar-chart-inner",children:t.jsxs("div",{className:"manager-bar-chart-area manager-bar-chart-area--loading",children:[t.jsx("div",{className:"manager-bar-chart-plot manager-bar-chart-plot--loading",style:{height:P.height},children:t.jsx(Ta,{size:32})}),t.jsx("div",{className:"manager-bar-chart-x-axis","aria-hidden":"true",children:t.jsxs("span",{className:"manager-bar-chart-x-axis__label",children:[t.jsx("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:"\xA0"}),I.some(ae=>!!ae.sublabel)&&t.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):t.jsx(ty,{focusableBars:e,data:I,colorA:l,colorB:c?u:void 0,labelA:V(d),labelB:c?V(c):void 0,barWidth:a??P.barWidth,barGap:M,baseline:O,height:P.height,maxOverride:f?100:void 0,tightMax:w,seriesColors:b?.map(ae=>ae.color),seriesLabels:b?.map(ae=>ae.label),rateLabels:f?{total:V("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:V("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:L})})}const Yl=120,oy={left:38,right:16,top:26,bottom:24};function sy({points:e=[],range:n,ticks:a=[],axisTitle:r,color:s,height:i=156,fallbackWidth:l=320,insets:u,overlay:d,ariaLabel:c,className:p}){const[m,C]=o.useState(null),[g,v]=o.useState(null);o.useEffect(()=>{if(!g)return;const O=te=>C(Math.round(te)||null);if(O(g.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const Y=new ResizeObserver(([te])=>O(te.contentRect.width));return Y.observe(g),()=>{Y.disconnect()}},[g]);const{payload:f,anchorRect:y,openAfterDelay:w,close:h}=db(Yl),_=o.useCallback((O,Y)=>{O&&w(O,Y.getBoundingClientRect())},[w]),b=m??l,A=i,{left:x,right:N,top:B,bottom:k}={...oy,...u},[E,S]=n,z=O=>S===E?x:x+(b-x-N)*(O-E)/(S-E),R=O=>B+(A-B-k)*(100-O)/100,q={x:z,y:R,plot:{left:x,right:b-N,top:B,bottom:A-k,width:Math.max(0,b-x-N),height:Math.max(0,A-B-k)}},j=e.filter(O=>!O.hollow),M=s??"var(--color-main)";return t.jsxs(t.Fragment,{children:[t.jsxs("svg",{ref:v,className:De("line-chart",p),viewBox:`0 0 ${b} ${A}`,role:"img","aria-label":c??e.map(O=>O.description).filter(Boolean).join(", "),children:[r&&t.jsx("text",{className:"line-chart__axis-title",x:0,y:12,children:r}),[0,100].map(O=>t.jsxs("g",{children:[t.jsx("line",{className:"line-chart__grid",x1:x,x2:b-N,y1:R(O),y2:R(O)}),t.jsxs("text",{className:"line-chart__tick",x:x-6,y:R(O)+4,textAnchor:"end",children:[O,"%"]})]},O)),d?.(q),a.map(O=>t.jsx("text",{className:"line-chart__tick",x:z(O.x),y:A-5,textAnchor:"middle",children:O.label},O.x)),j.length>1&&t.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:M,points:j.map(O=>`${z(O.x)},${R(O.pct)}`).join(" ")}),e.map(O=>t.jsxs("g",{className:"line-chart__dot",onPointerEnter:Y=>_(O.description,Y.currentTarget),onPointerLeave:h,children:[t.jsx("circle",{className:"line-chart__dot-hit",cx:z(O.x),cy:R(O.pct),r:12}),t.jsx("circle",{className:De("line-chart__dot-main",O.hollow&&"is-hollow"),cx:z(O.x),cy:R(O.pct),r:4,stroke:M,fill:O.hollow?void 0:M})]},O.x))]}),f!=null&&t.jsx(rn,{anchorRect:y,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:f,children:f})]})}function iy({icon:e,iconSize:n=56,title:a,titleClass:r="h2",description:s,tipGroups:i,start:l,className:u}){return t.jsxs("div",{className:De("game-intro",u),children:[e!=null&&t.jsx("span",{className:"game-intro__icon","aria-hidden":"true",style:{"--game-intro-icon":`${n}px`},children:e}),t.jsx("h2",{className:De("game-intro__title",r),children:a}),s!=null&&t.jsx("p",{className:"game-intro__description body-3",children:s}),i?.map((d,c)=>t.jsxs("div",{className:"game-intro__tips",children:[d.title!=null&&t.jsx("span",{className:"game-intro__tips-title body-3",children:d.title}),d.tips.map((p,m)=>t.jsxs("span",{className:"game-intro__tip body-3",children:[p.icon!=null&&t.jsx("span",{"aria-hidden":"true",children:p.icon}),t.jsx("span",{children:p.text})]},m))]},c)),l&&t.jsx(de,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const Zl=(e,n,a)=>{const r=new Date(Date.UTC(e,n,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Xl=(e,n,a,r)=>({from:li(e,n,a),to:new Date(li(e,n,a+r).getTime()-1),fromYmd:Zl(e,n,a),toYmd:Zl(e,n,a+r-1)});function ly(e,n=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Jn(),l=s?Number(s[1]):i.getFullYear(),u=(s?Number(s[2]):i.getMonth()+1)-1+n,d=new Date(Date.UTC(l,u+1,0)).getUTCDate();return Xl(l,u,1,d)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=va();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=hn(a.year,a.month-1);return Xl(a.year,a.month-1,r+(a.week+n)*7,7)}const ho={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Jl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function Ql({done:e,total:n,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:u=!1,hideLabel:d=!1}){const c=typeof s=="number"?s:ho[s].diameter,p=i??(typeof s=="number"?12:ho[s].strokeWidth),m=c/2,C=(c-p)/2,g=2*Math.PI*C;if(a&&a.length>0){const w=a.reduce((h,_)=>{const b=h.length>0?h[h.length-1].acc:0,A=Number.isFinite(_.ratio)?_.ratio:0,x=Math.max(0,Math.min(A,1-b));return h.push({color:_.color,rotate:-90+b*360,dash:g*x,acc:b+x}),h},[]);return t.jsx("div",{className:"ring-chart",style:{width:c,height:c},children:t.jsxs("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),w.map((h,_)=>h.dash>0&&t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:h.color,strokeWidth:p,strokeDasharray:`${h.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${h.rotate} ${m} ${m})`},_))]})})}const v=(n??0)>0?Math.min((e??0)/n,1):0,f=g*v,y=g-f;return t.jsxs("div",{className:"ring-chart",style:{width:c,height:c},children:[t.jsxs("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),v>0&&t.jsx("circle",{cx:m,cy:m,r:C,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${f} ${y}`,strokeLinecap:v<.02||v>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!u&&t.jsxs("div",{className:`ring-chart__center${d?"":` ${c<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[t.jsx("span",{className:`ring-chart__pct ${c<=96?"h2":"h1"}`,children:Jl(v)}),!d&&t.jsx("span",{className:`ring-chart__label ${c<=96?"caption-2":"caption-1"}${c<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function uy({titleKey:e,titleLevel:n,headRight:a,icon:r,showTotal:s,totalLabelKey:i,legend:l,loading:u,className:d,inGrid:c=!1,onClick:p,ariaLabel:m,tooltip:C,...g}){const{t:v}=be.useTranslation();if(!e)return t.jsx(Ql,{...g});const f=(g.total??0)>0?Jl(Math.min((g.done??0)/g.total,1)):0,y=g.size==="small",w=typeof g.size=="number"?g.size:ho[g.size??"medium"].diameter,h=g.size==="large",_=[d,y?"manager-section--compact":h?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=r&&t.jsx("span",{className:"chart-section-icon",children:t.jsx(Ke,{icon:r,className:"chart-section-icon-inner"})});return t.jsx(po,{className:_,inGrid:c,onClick:p,ariaLabel:m,tooltip:C,title:v(e),titleLevel:n,titleClassName:y?"h5 chart-section-title--small":void 0,headRight:b||(y?void 0:a),subRow:(s||l)&&t.jsxs(t.Fragment,{children:[s?t.jsxs(Ma,{label:!y&&i?v(i):void 0,children:[t.jsx("span",{className:"barchart-total__num h0",children:f}),t.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):t.jsx("span",{}),l&&t.jsx(co,{items:l})]}),children:u?t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx("div",{className:"ring-chart ring-chart--loading",style:{width:w,height:w},"aria-busy":"true",children:t.jsx(Ta,{size:32})})}):t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx(Ql,{...g,hideCenter:g.hideCenter??y})})})}function cy({label:e,value:n,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:u}){const d=o.useRef(null),{anchorRect:c,openAt:p,close:m}=wa(),C=o.useCallback(()=>{i&&d.current&&p(d.current)},[i,p]),g=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),v=a===void 0?void 0:a>0?`+${a}`:`${a}`,f=o.useCallback(y=>{l&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),l())},[l]);return t.jsxs("div",{ref:d,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?f:void 0,onPointerEnter:C,onPointerLeave:m,onFocus:C,onBlur:m,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,n,v].filter(y=>y!==void 0&&y!=="").join(" "):void 0,children:[i&&c&&t.jsx(vn,{anchorRect:{left:c.left,top:c.top+21,right:c.right,bottom:c.bottom,width:c.width,height:c.height},text:i}),t.jsxs("div",{className:"manager-stat-card__label-row",children:[t.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&t.jsx("span",{className:"manager-stat-card__icon",children:t.jsx(Ke,{icon:s,className:"manager-stat-card__icon-inner"})})]}),t.jsxs("div",{className:"manager-stat-card__content",children:[t.jsxs("div",{className:"manager-stat-card__left",children:[t.jsx("div",{className:"manager-stat-card__value h2",children:n}),v&&t.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${g??"neutral"} caption-1`,children:v})]}),u&&t.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function eu({value:e,onChange:n,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:u=!1,ariaLabel:d,length:c,className:p,label:m,formatValue:C,labelPos:g,labelAlign:v="right",showMinMax:f=!1,minLabel:y,maxLabel:w,showBgTick:h=!1,showFillTick:_=!1,tickStep:b,tickShape:A="dot"}){n&&!d&&pn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const x=Math.min(r,Math.max(a,e)),N=r>a?(x-a)/(r-a):0,B=i==="vertical",k=!n,E=D=>n?.(Number(D.target.value)),S=typeof c=="number"?`${c}px`:c,z={"--slider-ratio":String(N),"--slider-thumb":`${l}px`,...S?B?{height:S}:{width:S}:{}},R=b??s,q=(h||_)&&R>0&&r>a?Math.floor((r-a)/R+1e-6):0;if(q>0&&q<=100){const D=A!=="dash",H=ne=>D?`radial-gradient(circle, ${ne} 0.5px, transparent 1px)`:B?`linear-gradient(to bottom, transparent calc(50% - 2px), ${ne} calc(50% - 2px), ${ne} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${ne} calc(50% - 2px), ${ne} calc(50% + 2px), transparent calc(50% + 2px))`,L=D?"2px":"4px",I=[],$=[],K=[];for(let ne=0;ne<=q;ne++){const J=ne*R/(r-a);if(J>1+1e-6)break;const ae=`${((B?1-J:J)*100).toFixed(4)}%`,ue=J<=N+1e-6;if(ue?!_:!h)continue;const ie=ue?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";I.push(H(ie)),$.push(B?`${L} var(--slider-thumb)`:`var(--slider-thumb) ${L}`),K.push(B?`center ${ae}`:`${ae} center`)}I.push(B?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),$.push("100% 100%"),K.push("0 0"),z.backgroundImage=I.join(", "),z.backgroundSize=$.join(", "),z.backgroundPosition=K.join(", "),z.backgroundRepeat="no-repeat"}const j=C?C(x):m==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:m==="count"?`${x} / ${r}`:x===a&&y?y:x===r&&w?w:void 0,M=t.jsx("input",{type:"range",className:De("slider",`slider--${i}`,k&&"slider--static",!m&&!f&&p),min:a,max:r,step:s,value:x,disabled:u,readOnly:k,tabIndex:k?-1:void 0,"aria-label":d,"aria-valuetext":j,"aria-orientation":i,onChange:E,style:z});if(!m&&!f)return M;const O=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??a}),Y=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:w??r}),te=f?t.jsxs("div",{className:De("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[B?Y:O,M,B?O:Y]}):M;if(!m)return te;const V=g??(B?"bottom":"right"),U=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,P=C?C(x):m==="percent"?U:m==="count"?`${x} / ${r}`:String(x),F=t.jsx("span",{className:"slider-wrap__value body-3b",children:P});return t.jsxs("div",{className:De("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${V}`,`slider-wrap--align-${v}`,p),children:[te,F]})}const dy=.86,py=250,Co=(e,n,a,r)=>Math.round(Math.min(r,Math.max(a,e-n))),fo=(e,n,a,r)=>{const s=Co(e,n,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function go({analyser:e,audioElement:n,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:u=-60,refDb:d=-35,displayMin:c=-5,displayMax:p=25,className:m,ariaLabel:C}){const g=o.useRef(null),v=o.useRef(null),f=o.useRef(null),y=o.useRef(null),[w,h]=o.useState(null);o.useEffect(()=>{const x=M=>{const O=fo(M,d,c,p);f.current&&(f.current.textContent=O);const Y=g.current;Y&&(Y.setAttribute("aria-valuenow",String(Co(M,d,c,p))),Y.setAttribute("aria-valuetext",O))},N=e??oC(n)??(w&&w.el===n?w.node:null),B=v.current;if(!N||!B){B?.style.setProperty("--meter-level","0"),x(u);let M=!1;return!e&&n&&Oa(n).then(O=>{!M&&O&&h({el:n,node:O})}),()=>{M=!0}}Tr();const k=new Float32Array(N.fftSize);let E=0,S=0,z=0,R=0,q=null;const j=M=>{const O=sC(N,k);E=O>E?O:E*dy;const Y=E>1e-5?20*Math.log10(E):-1/0,te=Math.max(u,Y),V=te-d,U=Math.min(1,Math.max(0,(V-c)/(p-c)));if(B.style.setProperty("--meter-level",U.toFixed(3)),S+=te,z+=1,M-R>=py){const P=S/z;q=q==null?P:q*.6+P*.4,x(q),S=0,z=0,R=M}y.current=requestAnimationFrame(j)};return y.current=requestAnimationFrame(j),()=>{y.current!=null&&cancelAnimationFrame(y.current),y.current=null}},[e,n,w,u,d,c,p]);const _=typeof r=="number"?`${r}px`:r,b=t.jsx("div",{className:"audio-meter__track",style:_?a==="vertical"?{height:_}:{width:_}:{},children:t.jsx("div",{ref:v,className:"audio-meter__fill"})}),A=i??(a==="vertical"?"bottom":"right");return t.jsxs("div",{ref:g,className:De("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${A}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":C,"aria-valuemin":c,"aria-valuemax":p,"aria-valuenow":Co(u,d,c,p),"aria-valuetext":fo(u,d,c,p),children:[b,s&&t.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:fo(u,d,c,p)})]})}const tu=260;function nu({message:e,position:n,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,u]=o.useState(!1),d=o.useRef(l),c=o.useRef(s);o.useEffect(()=>{d.current=l},[l]),o.useEffect(()=>{c.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),C=o.useRef(r);o.useEffect(()=>{C.current=r});const g=a,v=o.useRef(null),f=o.useRef(0),y=o.useRef(0),w=o.useRef(!1),h=o.useRef(null),_=o.useRef(null),b=o.useRef(null),A=o.useRef(null),x=o.useRef(()=>{});x.current=k=>{k<0||(f.current=Date.now(),y.current=k,v.current=setTimeout(()=>{v.current=null,i(!1),h.current=setTimeout(()=>{u(!1);try{C.current()}catch{}},tu)},k))};const N=o.useCallback(()=>{w.current||!v.current||(w.current=!0,clearTimeout(v.current),v.current=null,y.current=Math.max(0,y.current-(Date.now()-f.current)))},[]),B=o.useCallback(()=>{w.current&&(w.current=!1,x.current(y.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)),e){if(c.current)return g>0&&!v.current&&(w.current?y.current=g:x.current(g)),m.current=e,()=>{v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)};const k=()=>{const E=p.current;if(E)try{E.classList.remove("is-visible"),E.style.transition="none",n==="top"?E.style.transform="translateX(-50%) translateY(-16px)":E.style.transform="translateX(-50%) translateY(16px)",E.style.opacity="0",E.offsetWidth,E.style.transition="",E.classList.add("is-visible"),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};d.current?(k(),i(!0)):(u(!0),_.current=requestAnimationFrame(()=>{b.current=requestAnimationFrame(()=>{k(),i(!0)})})),g>0&&(w.current=!1,x.current(g))}else i(!1),h.current=setTimeout(()=>u(!1),tu);return m.current=e,()=>{v.current&&clearTimeout(v.current),h.current&&clearTimeout(h.current),_.current&&cancelAnimationFrame(_.current),b.current&&cancelAnimationFrame(b.current),A.current&&clearTimeout(A.current),v.current=null,h.current=null,_.current=null,b.current=null,A.current=null}},[e,g,n]),{mounted:l,showing:s,popupRef:p,pause:N,resume:B}}function ra({message:e="",position:n="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:u,pause:d,resume:c}=nu({message:e,position:n,duration:s,onClose:r}),p=o.useRef(null),[m,C]=o.useState(!1);if(o.useEffect(()=>{l?C(!0):i||C(!1)},[l,i]),!i)return null;const g=a==="notice"||a==="warning"?a:"normal",v=t.jsx("div",{ref:u,className:`toast toast--${n} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:f=>{p.current=f.pointerType},onMouseEnter:()=>{p.current!=="touch"&&d()},onMouseLeave:c,onFocusCapture:d,onBlurCapture:c,children:t.jsx("div",{className:`toast__inner toast__inner--${g} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?Xt.createPortal(v,document.body):v}const my=24;function hy({value:e,max:n=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:u,labelAlign:d="right",ariaLabel:c,className:p}){const m=Number.isFinite(n)&&n>0?n:1,C=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),g=C/m*100,v=Number.isFinite(n)&&n>0?n:0,f=u??(a>=my?"inside":"bottom"),y=f==="center"?"inside":f,w=y==="inside"&&(d==="left"?g>=15:d==="center"?g>=50:g>=85),h={};return r&&(h["--progress-bar-fill"]=r),s&&(h["--progress-bar-track"]=s),t.jsxs("div",{className:De("progress-bar",`progress-bar--${a}`,`progress-bar--label-${y}`,i&&`progress-bar--align-${d}`,i&&w&&"progress-bar--label-on-fill",p),style:h,children:[t.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":C,"aria-valuemin":0,"aria-valuemax":v,"aria-valuetext":i?l?l(C):i==="percent"?void 0:i==="raw"?String(C):`${C} / ${v}`:void 0,"aria-label":c,children:t.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&t.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(C):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(C):`${C} / ${v}`})]})}const au={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Cy="rgba(255, 255, 255, 0.16)";function ru({max:e,index:n,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:u}){const{t:d}=be.useTranslation(),c=tn("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(n)?Math.max(0,Math.min(n,e-1)):0,m=u??d("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),C={};if(a&&(C["--pi-inactive-bg"]=a),r&&(C["--pi-inactive-color"]=r),s&&(a||(C["--pi-inactive-bg"]=Cy),r||(C["--pi-inactive-color"]="var(--color-white)")),i==="dot")return t.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:C,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&t.jsx("span",{style:au,children:m}),Array.from({length:e}).map((v,f)=>t.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<p?" done":f===p?" active":""}`},f))]});const g=l?t.jsx("span",{role:"status",style:au,children:m}):null;return c?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:C,role:"list","aria-label":m,children:t.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),g]}):t.jsxs(t.Fragment,{children:[g,t.jsx("div",{className:"progress-indicator",style:C,role:"list","aria-label":m,children:Array.from({length:e}).map((v,f)=>t.jsx("span",{role:"listitem","aria-current":f===p?"step":void 0,className:`progress-indicator-dot ${f<p?" done":f===p?" active":""} body-3`,children:f+1},f))})]})}function fy(e){if(!e)return[];const n=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(n.push(r),r="");continue}r+=s}return r&&n.push(r),n}function gy({children:e,className:n,style:a}){return t.jsx("div",{className:n?`table-cell ${n}`:"table-cell",style:a,children:e})}function bo({variant:e="default",children:n,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:d,expandedContent:c}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?t.jsx("div",{className:"table-row-wrap",children:t.jsx("div",{className:"table-row table-row--loading",children:t.jsx(Ta,{size:28})})}):e==="empty"?t.jsx("div",{className:"table-row-wrap",children:t.jsx("div",{className:"table-row table-row--empty body-3",children:n})}):t.jsxs("div",{className:"table-row-wrap",children:[t.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:d,role:s?"button":void 0,tabIndex:s?0:void 0,children:n}),c&&t.jsx("div",{className:"table-row-expand",children:c})]})}function by({dir:e}){return t.jsx(e==="asc"?ys:bs,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function yy({children:e,onClick:n,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=t.jsxs(t.Fragment,{children:[e,r&&t.jsx(by,{dir:r})]});return t.jsxs("div",{onClick:n,role:"columnheader","aria-sort":s,className:De("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[n?t.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&t.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:u=>u.stopPropagation(),"aria-hidden":"true"})]})}function yo({fields:e=[],headerGroups:n,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:d,onRowDragEnd:c,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:C,resizable:g=!1,resizeMode:v="grow",resizeStorageKey:f,size:y="small",title:w,icon:h,count:_,collapsed:b=!1,onToggleCollapse:A,headerActions:x,empty:N,loading:B,dragOver:k=!1,onDragOver:E,onDragLeave:S,onDrop:z,renderExpandedRow:R,expandedId:q}){const{t:j}=be.useTranslation(),M=tn("(max-width: 767px)"),O=C&&M?C:null,Y=g&&!M,te=48,V=o.useRef(()=>te),U=f?`table-cols:${f}`:null,P=o.useRef(null),F=o.useRef(null),D=o.useRef(null),H=o.useRef(null),[L,I]=o.useState(!1),$=o.useCallback(()=>{const ee=D.current;ee&&I(ee.scrollWidth>ee.clientWidth+1)},[]),K=o.useCallback((ee,fe)=>{const ze=ee.current;ze&&F.current&&F.current.unobserve(ze),ee.current=fe,fe?(!F.current&&typeof ResizeObserver<"u"&&(F.current=new ResizeObserver(()=>$())),F.current?.observe(fe)):!D.current&&!H.current&&(F.current?.disconnect(),F.current=null),$()},[$]),ne=o.useCallback(ee=>K(D,ee),[K]),J=o.useCallback(ee=>K(H,ee),[K]);o.useEffect(()=>{$()}),o.useEffect(()=>{if(typeof window>"u")return;const ee=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>$()):null;return window.addEventListener("resize",$),()=>{ee!=null&&cancelAnimationFrame(ee),window.removeEventListener("resize",$)}},[$]);const ae=o.useRef(()=>!1),ue=o.useRef([]),ie=o.useRef(null),xe=ee=>{if(!ee||typeof window>"u")return null;try{const fe=JSON.parse(window.localStorage.getItem(ee)??"null");return Array.isArray(fe)&&fe.length>0&&fe.every(ze=>typeof ze=="number"&&Number.isFinite(ze)&&ze>0)?fe:null}catch{return null}},[W,Q]=o.useState(()=>xe(U)),[se,ke]=o.useState(U);se!==U&&(ke(U),Q(xe(U)));const me=o.useRef(W);o.useEffect(()=>{me.current=W},[W]);const re=o.useCallback(ee=>{const fe=ie.current;if(!fe)return;const ze=me.current;if(ze){const Be=[...ze];if(fe.next!=null&&fe.startWNext!=null){const je=ee.clientX-fe.startX,pe=Math.max(V.current(fe.index)-fe.startW,Math.min(fe.startWNext-V.current(fe.next),je));Be[fe.index]=fe.startW+pe,Be[fe.next]=fe.startWNext-pe}else Be[fe.index]=Math.max(V.current(fe.index),fe.startW+(ee.clientX-fe.startX));me.current=Be,Q(Be)}},[]),Ce=o.useCallback(()=>{if(ie.current=null,window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",Ce),window.removeEventListener("pointercancel",Ce),document.body.style.cursor="",document.body.style.userSelect="",U&&me.current)try{window.localStorage.setItem(U,JSON.stringify(me.current))}catch{}},[re,U]),ge=o.useCallback((ee,fe)=>{fe.preventDefault(),fe.stopPropagation();const ze=P.current;if(!ze)return;const Be=Array.from(ze.children).map(pe=>pe.getBoundingClientRect().width),je=v==="fit"?e.findIndex((pe,$e)=>$e>ee&&pe.resizable!==!1):-1;ie.current=je>=0?{index:ee,startX:fe.clientX,startW:Be[ee],next:je,startWNext:Be[je]}:{index:ee,startX:fe.clientX,startW:Be[ee]},me.current=Be,Q(Be),window.addEventListener("pointermove",re),window.addEventListener("pointerup",Ce),window.addEventListener("pointercancel",Ce),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[re,Ce,v,e]),Ee=o.useCallback(()=>{const ee=P.current,fe=ee?.closest(".table-wrap");if(!ee||!fe)return;const ze=fe.style.getPropertyValue("--table-grid-cols");fe.style.setProperty("--table-grid-cols",e.map((Ze,We)=>ae.current(We)?ue.current[We]:"max-content").join(" "));const Be=Array.from(fe.querySelectorAll(".table-row")).filter(Ze=>!Ze.classList.contains("table-row--loading")&&!Ze.classList.contains("table-row--empty")),je=e.map((Ze,We)=>{let Pe=ee.children[We]?.getBoundingClientRect().width??0;for(const Oe of Be){const it=Oe.children[We];it&&(Pe=Math.max(Pe,it.getBoundingClientRect().width))}const Xe=ae.current(We)?parseFloat(ue.current[We]):NaN;return Number.isFinite(Xe)?Xe:Math.max(V.current(We),Math.ceil(Pe))}),pe=window.getComputedStyle(ee),$e=ee.clientWidth-(parseFloat(pe.paddingLeft)||0)-(parseFloat(pe.paddingRight)||0);ze?fe.style.setProperty("--table-grid-cols",ze):fe.style.removeProperty("--table-grid-cols");let nt=je;const _t=je.reduce((Ze,We,Pe)=>Ze+(ae.current(Pe)?We:0),0),kt=je.reduce((Ze,We,Pe)=>Ze+(ae.current(Pe)?0:We),0),dt=$e-_t;if($e>0&&kt>0&&dt>0){const Ze=dt/kt;nt=je.map((Pe,Xe)=>ae.current(Xe)?Pe:Math.max(V.current(Xe),Math.round(Pe*Ze)));const We=Math.round(dt-nt.reduce((Pe,Xe,Oe)=>Pe+(ae.current(Oe)?0:Xe),0));if(We!==0){let Pe=-1;nt.forEach((Xe,Oe)=>{!ae.current(Oe)&&(Pe<0||Xe>nt[Pe])&&(Pe=Oe)}),Pe>=0&&(nt[Pe]=Math.max(V.current(Pe),nt[Pe]+We))}}if(Q(nt),U)try{window.localStorage.setItem(U,JSON.stringify(nt))}catch{}},[e,v,U]);o.useEffect(()=>()=>{ie.current&&(window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",Ce),window.removeEventListener("pointercancel",Ce),document.body.style.cursor="",document.body.style.userSelect="")},[re,Ce]);const Re=fy(m),Le=Re.filter(ee=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(ee));Le.length>0&&pn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${Le.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const Je=e.findIndex(ee=>!!ee.sortDir);e.filter(ee=>!!ee.sortDir).length>1&&pn("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const Qe=ee=>ee===Je?e[ee].sortDir==="asc"?"ascending":"descending":e[ee].onClick?"none":void 0,qe=ee=>/^\d+(\.\d+)?px$/.test(Re[ee]??""),Fe=ee=>{const fe=Re[ee]??"",ze=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(fe)??/^(\d+(?:\.\d+)?)px$/.exec(fe);return ze?parseFloat(ze[1]):te};ae.current=qe,V.current=Fe,ue.current=Re;const st=ee=>v==="fit"&&!qe(ee)?"fr":"px",et=W&&W.length===e.length&&!M&&(v==="fit"||a.length>0),Ye=O??(et?e.map((ee,fe)=>ee.resizable===!1&&Re[fe]?Re[fe]:`${W[fe]}${st(fe)}`).join(" "):m),Se=Ye?{"--table-grid-cols":Ye}:void 0,Ae=w!==void 0;return t.jsx("div",{ref:ne,className:`table-wrap table-wrap--${y}${Y?" table-wrap--resizable":""}${k?" table-wrap--dragover":""}${b?" table-wrap--collapsed":""}`,style:Se,onDragOver:E,onDragLeave:S,onDrop:z,tabIndex:L?0:void 0,role:L?"region":void 0,"aria-label":L?typeof w=="string"?w:j("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:t.jsxs("div",{ref:J,className:"table body-2",children:[Ae&&t.jsxs("div",{className:"table-header",onClick:A,role:A?"button":void 0,tabIndex:A?0:void 0,"aria-expanded":A?!b:void 0,onKeyDown:A?ee=>{ee.target===ee.currentTarget&&(ee.key==="Enter"||ee.key===" ")&&(ee.preventDefault(),A())}:void 0,children:[A&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:b?"chevron-right":"chevron-down",ariaLabel:b?j("common.expand","\uD3BC\uCE58\uAE30"):j("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),h&&t.jsx(Ke,{icon:h,label:typeof w=="string"?w:void 0,className:"table-header__icon"}),t.jsx("span",{className:"table-header__title h5b",children:w}),_!==void 0&&t.jsx("span",{className:"table-header__count body-3b",children:_}),x&&t.jsx("span",{className:"table-header__actions",onClick:ee=>ee.stopPropagation(),children:x})]}),!b&&t.jsxs(t.Fragment,{children:[n&&n.length>0&&t.jsx("div",{className:"table-fields table-fields--groups",children:n.map((ee,fe)=>t.jsx("div",{className:De("table-field body-3",ee.className),style:{gridColumn:`span ${ee.span}`},children:ee.label},fe))}),t.jsxs("div",{className:De("table-fields-strip",Y&&"table-fields-strip--resizable"),children:[t.jsx("div",{className:"table-fields",ref:P,children:e.map((ee,fe)=>t.jsx(yy,{onClick:ee.onClick,className:ee.className,sortDir:ee.sortDir,ariaSort:Qe(fe),onResizeStart:Y&&fe<e.length-1&&ee.resizable!==!1&&(v!=="fit"||e.some((ze,Be)=>Be>fe&&ze.resizable!==!1))?ze=>ge(fe,ze):void 0,children:ee.label},fe))}),Y&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:j("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:j("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ee})]}),t.jsx("div",{className:"table-body",children:B?t.jsx(bo,{variant:"loading"}):a.length===0&&N?t.jsx(bo,{variant:"empty",children:N}):a.map((ee,fe)=>{const ze=p!=null&&ee.id===p,Be=!!s&&(i?i(ee):!0),je=q!=null&&ee.id!=null&&(q instanceof Set?q.has(ee.id)||[...q].some(pe=>String(pe)===String(ee.id)):String(ee.id)===String(q));return t.jsx(bo,{className:`${Be?" table-row--clickable":""}${d?" table-row--draggable":""}${ze?" table-row--dragging":""}`.trim(),draggable:!!d,onClick:Be?()=>s(ee):void 0,onMouseEnter:l?pe=>l(ee,pe):void 0,onMouseLeave:u?pe=>u(ee,pe):void 0,onDragStart:d?pe=>d(ee,pe):void 0,onDragEnd:c?pe=>c(ee,pe):void 0,expandedContent:je&&R?R(ee):void 0,children:r(ee).map((pe,$e)=>t.jsx(gy,{className:pe.className,style:pe.style,children:pe.content},$e))},ee.id!=null?`${typeof ee.id}:${ee.id}`:`__idx:${fe}`)})})]})]})})}function ou(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const oa=e=>e==null?"":String(e).trim();function vo(e,n,a){const r=[oa(e),oa(n),oa(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function vy(e,n,a){const r=oa(e);return r?`${r}-${oa(n).padStart(2,"0")}-${oa(a).padStart(2,"0")}`:""}const xy={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function _y(e,n){const a=xy[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}function su(e,n){return n!=="wornAt"?String(e[n]??""):vy(e.wornYear,e.wornMonth,e.wornDay)}function wy({rows:e,loading:n,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:u}=be.useTranslation(),d=f=>f==="\uC88C"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:c,\uCE78:p}=tb(),m=o.useMemo(()=>{if(!c)return e;const{key:f,asc:y}=c;return[...e].sort((w,h)=>{if(f==="worn"){const _=Number(h.worn)-Number(w.worn);return y?_:-_}return Jr(su(w,f),su(h,f),y)})},[e,c]),{pageRows:C,pageSizeProps:g,paginationProps:v}=eb(m,c);return t.jsxs("div",{className:"dlp-side-table",children:[t.jsx(uo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:g,pagination:v,actions:l&&t.jsx(de,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),t.jsx(yo,{loading:n,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...p(u("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},p(u("device.direction.label","\uBC29\uD5A5"),"side"),p(u("device.deviceType","\uC885\uB958"),"device"),p(u("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),p(u("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),p(u("device.productName","\uC81C\uD488\uBA85"),"productName"),p(u("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:C.map((f,y)=>({id:f.id??`${f.side}-${y}`,row:f})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:f})=>[{content:t.jsx("span",{className:"dlp-worn-check",onClick:y=>y.stopPropagation(),children:t.jsx(zl,{checked:f.worn,disabled:f.worn?!i:!s,ariaLabel:f.worn?u("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):u("customers.device.wear","\uCC29\uC6A9"),onChange:y=>{y?s?.(f):i?.(f)}})})},{content:t.jsx("span",{children:d(f.side)})},{content:f.device?t.jsx(yt,{size:"small",variant:ou(f.device),fill:"soft",label:_y(f.device,u)}):t.jsx("span",{})},{content:t.jsx("span",{children:f.brand})},{content:t.jsx("span",{children:f.fitType||"-"})},{content:t.jsx("span",{children:f.productName||"-"})},{content:t.jsx("span",{className:"dlp-date",children:vo(f.wornYear,f.wornMonth,f.wornDay)||"-"})},...r?[{content:t.jsx("span",{className:"dlp-row-actions",children:t.jsx(de,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:u("common.delete","\uC0AD\uC81C"),onClick:y=>{y?.stopPropagation(),r(f)}})})}]:[]],onRowClick:({row:f})=>a(f),empty:u("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function iu(e,n){return e?{role:n?.role??"button",tabIndex:0,...n?.selected===void 0?{}:{"aria-selected":n.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function Ay(e,n){return new Date(e,n+1,0).getDate()}function ky(e,n){return new Date(e,n,1).getDay()}function By({visits:e=[],onVisitClick:n,onVisitMove:a,onDayClick:r,today:s}){const{t:i,i18n:l}=be.useTranslation(),u=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),d=Ir(s),[c,p]=o.useState(()=>Number(d.slice(0,4))),[m,C]=o.useState(()=>Number(d.slice(5,7))-1),[g,v]=o.useState(null),f=o.useRef(null),y=o.useMemo(()=>{const x={};return e.forEach(N=>{x[N.date]||(x[N.date]=[]),x[N.date].push(N)}),x},[e]),w=o.useMemo(()=>{const x=Ay(c,m),N=ky(c,m),B=[];for(let k=0;k<N;k++)B.push(null);for(let k=1;k<=x;k++)B.push(k);for(;B.length<35;)B.push(null);return B},[c,m]),h=o.useCallback(()=>{m===0?(p(x=>x-1),C(11)):C(x=>x-1)},[m]),_=o.useCallback(()=>{m===11?(p(x=>x+1),C(0)):C(x=>x+1)},[m]),b=x=>`${c}-${String(m+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,A=x=>b(x)===d;return t.jsxs("div",{children:[t.jsxs("div",{className:"calendar-nav",children:[t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:h,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(Ke,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),t.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:c,month:m+1})}),t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:_,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(Ke,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),t.jsxs("div",{className:"calendar-nav__legend",children:[t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),t.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),t.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),t.jsxs("div",{className:"calendar-grid",children:[u.map(x=>t.jsx("div",{className:"calendar-day-header body-3",children:x},x)),w.map((x,N)=>{if(x===null)return t.jsx("div",{className:"calendar-cell empty"},`empty-${N}`);const B=x,k=b(B),E=y[k]??[],S=PC(k,l.language),z=g===k;return t.jsxs("div",{className:`calendar-cell${A(B)?" today":""}${z?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:k}):void 0,"aria-current":A(B)?"date":void 0,onClick:r?()=>r(k):void 0,onKeyDown:r?R=>{R.target===R.currentTarget&&(R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),r(k)))}:void 0,onDragOver:a?R=>{R.preventDefault(),v(k)}:void 0,onDragLeave:a?R=>{R.currentTarget.contains(R.relatedTarget)||v(null)}:void 0,onDrop:a?R=>{R.preventDefault(),f.current!=null&&(a(f.current,k),f.current=null),v(null)}:void 0,children:[t.jsx("div",{className:"calendar-cell__number body-3",children:B}),E.length>0&&t.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${S} ${i("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"})}`,children:[t.jsx("span",{className:"calendar-cell__visit-dot","aria-hidden":"true"}),E.length]}),t.jsx("div",{className:"calendar-cell__badges",children:E.map((R,q)=>t.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${R.status==="noVisit"?" calendar-visit-badge--no-visit":R.status==="scheduled"?" calendar-visit-badge--scheduled":""}${n?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?j=>{f.current=R.id,j.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{f.current=null,v(null)}:void 0,onClick:n?j=>{j.stopPropagation(),n(R)}:void 0,...iu(n?()=>n(R):void 0),"aria-label":[S,R.time?di(R.time,i):null,R.customer,i(R.status==="noVisit"?"calendar.legend.noVisit":R.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[R.time&&t.jsx("span",{className:"calendar-visit-badge__time body-3",children:di(R.time,i)}),t.jsx("span",{className:"calendar-visit-badge__name body-3",children:R.customer}),R.status==="noVisit"&&t.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},R.id??q))})]},B)})]})]})}const Ny={page:"h3",pagePopup:"h4",popup:"h5"};function sa({type:e="page",title:n,headingLevel:a,icon:r,action:s,disc:i,children:l,inGrid:u=!1,className:d,style:c}){const p=Ny[e],m=n||i||s||r,C=a?`h${a}`:"div";return t.jsxs("div",{className:De("section",`section--${e}`,u&&"section--in-grid",d),style:c,children:[m&&t.jsxs("div",{className:"section__header",children:[t.jsxs("div",{className:"section__title-row",children:[r&&t.jsx(Ke,{icon:r,label:typeof n=="string"?n:void 0,className:"section__icon"}),t.jsxs("div",{className:"section__title-group",children:[n&&t.jsx(C,{className:`section__title ${p}`,children:n}),i&&t.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&t.jsx("div",{className:"section__action",children:s})]}),l]})}let xo=null,lu=!1;function uu(){if(lu||typeof document>"u")return;lu=!0,document.addEventListener("keydown",n=>{n.metaKey||n.ctrlKey||n.altKey||(xo="keyboard")},!0);const e=()=>{xo="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}uu();function nr(){return uu(),xo==="keyboard"}const ar=20;function Dy(e){const{t:n}=be.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:u,onItemComplete:d,size:c,useDescriptionTooltip:p,onRemove:m,onMore:C,sectionType:g="page"}=e||{},[,v]=o.useState(0),f=typeof r<"u"?Array.isArray(r)?r:[]:[],y=f.length,[w,h]=o.useState(Math.min(y,ar)),_=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{h(Math.min(y,ar))},[y]),tl("speechear.data.updated",()=>v(N=>N+1));const b=o.useRef(null),A=o.useRef(null);function x(){const N=document.activeElement;A.current=nr()&&N&&N.closest?.(".training-block__more")?w:null,h(B=>Math.min(y,B+ar))}return o.useEffect(()=>{const N=A.current;if(N==null)return;A.current=null;const B=document.activeElement;B&&B!==document.body||b.current?.querySelectorAll(".training-block-button")[N]?.focus()},[w]),t.jsxs(sa,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[t.jsx("div",{className:"training-list",ref:b,children:(f||[]).slice(0,w).map((N,B)=>{const k=N;return t.jsx(so,{index:B,type:a,trainingData:k,depth:_,renderPopup:i,completedIds:l,selectedIds:u,size:c,useDescriptionTooltip:p,onRemove:typeof m=="function"&&u!=null&&k?.id!=null&&u.has(String(k.id))?()=>m(k):void 0,onComplete:typeof d=="function"&&k?.id!=null?()=>d(String(k.id)):void 0,onMore:typeof C=="function"?E=>C(k,E):void 0},k?.id!=null?`${a?.key||"t"}-${String(k.id)}`:`${a?.key||"t"}-${B}`)})}),y>ar&&w<y&&t.jsx("div",{className:"training-block__more",children:t.jsx(de,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:n("common.loadMore","\uB354\uBCF4\uAE30"),label:n("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function _o(e){const n=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const d=n.current;r(!!e&&!(d?.complete&&d.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),u=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:n,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:u}}var Ey='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Sy=Ey,wo=o.forwardRef(function({item:e,disabled:n=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:u=!1,hideAudio:d=!1,orderRank:c=null},p){const{t:m}=be.useTranslation(),C=e.word||e.title||"",g=n||!C,v=e.audio??e.sound??e.audioKey,f=e.subLabel||e.pronunciation||"",y=e.colloquialLabel||"",[w,h]=o.useState({label:C,subLabel:f,colloquialLabel:y,homonum:e.homonum});C&&(w.label!==C||w.subLabel!==f||w.colloquialLabel!==y||!Object.is(w.homonum,e.homonum))&&h({label:C,subLabel:f,colloquialLabel:y,homonum:e.homonum});const _=o.useRef(null),b=tn("(max-width: 767px)"),[A,x]=o.useState(!1),N=`${typeof v=="string"?v:v?.src??""}\0${C}`,[B,k]=o.useState({for:"",url:""}),E=B.for===N?B.url:"",S=ri(),z=e.textOnly??(!e.image&&!!w.label&&!!S&&S.entries.length>0&&!S.byWord.has(w.label)),R=z?"":Xn()?.(w.label,w.homonum)??e.image??"",{imgRef:q,loading:j,hasImage:M,onLoad:O,onError:Y}=_o(R);o.useEffect(()=>{let I=!1;return(async()=>{if(v){if(typeof v=="string"){if(v.startsWith("http")||v.includes("/")){k({for:N,url:v});return}}else if(typeof v=="object"&&!Array.isArray(v)){const K=v.src;if(K){k({for:N,url:K});return}}}const $=Er();if($&&C)try{const K=await Promise.resolve($(C));!I&&K&&k({for:N,url:K})}catch{}})(),()=>{I=!0}},[v,C,N]);const te=o.useRef(!0),V=o.useRef(null);o.useEffect(()=>(te.current=!0,()=>{te.current=!1,V.current&&Ja(V.current),V.current=null;try{_.current?.pause()}catch{}_.current=null}),[]);const U=o.useCallback(()=>new Promise(I=>{if(typeof window<"u"&&window.speechSynthesis&&C){x(!0),window.speechSynthesis.cancel();const $=new SpeechSynthesisUtterance(C);$.lang="ko-KR",$.onend=()=>{x(!1);try{a?.()}catch{}I()},$.onerror=()=>{x(!1),I()},window.speechSynthesis.speak($)}else I()}),[C,a]),P=o.useCallback(I=>new Promise($=>{let K=!1;const ne=()=>{K||(K=!0,x(!1),$(!1))};try{const J=new Audio(I);_.current=J,J.onended=()=>{if(!K){K=!0,x(!1);try{a?.()}catch{}$(!0)}},J.onerror=ne,J.play().catch(ne)}catch{ne()}}),[a]),F=o.useCallback(async()=>{if(n||!te.current)return;const I=()=>{V.current===I&&(V.current=null);try{_.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},$=Xa(I);V.current=I;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await P(E)))return;const K=tC();if(K&&C)try{const ne=await Promise.resolve(K(C));if(!te.current||V.current!==I||ne&&(x(!0),await P(ne)))return}catch{}if(!te.current||V.current!==I)return;await U()}finally{$(),V.current===I&&(V.current=null)}},[n,E,C,P,U]);o.useImperativeHandle(p,()=>({play:()=>F()}),[F]);const D=I=>I.stopPropagation(),H=o.useCallback(I=>{if(I.stopPropagation(),!n){if(A){try{_.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}F()}},[n,A,F]),L=De("training-word-card",n?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return t.jsx("div",{className:L,onClick:r&&!n?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!n?0:void 0,"aria-disabled":r&&n?!0:void 0,onKeyDown:r&&!n?I=>{I.target===I.currentTarget&&(I.key==="Enter"||I.key===" "||I.key==="Spacebar")&&(I.preventDefault(),i?.())}:void 0,children:t.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${l}ms`},children:[t.jsxs("div",{className:"training-word-card__front",children:[s&&t.jsx("div",{className:"training-word-card__selected-badge",onClick:D,children:t.jsx(yt,{type:"dot",size:40,position:"inline",animate:!0,icon:c!=null?void 0:"check",number:c??void 0,"aria-label":c!=null?m("training.nthSelected",{n:c}):m("training.selected","\uC120\uD0DD\uB428")})}),t.jsx("div",{className:"training-word-card__image-wrap",children:z?t.jsx("div",{className:"training-word-card__text-face",children:w.label}):M?t.jsxs(t.Fragment,{children:[j&&t.jsx("div",{className:"training-word-card__spinner"}),t.jsx("img",{ref:q,className:"training-word-card__image",src:R,alt:w.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:j?0:1},onLoad:O,onError:Y})]}):t.jsx("div",{className:"training-word-card__placeholder"})}),!u&&t.jsxs("div",{className:"training-word-card__body",children:[!z&&t.jsx("div",{className:"training-word-card__word",children:w.label}),w.subLabel&&t.jsxs("div",{className:"training-word-card__pronunciation",children:["[",w.subLabel,"]"]}),w.colloquialLabel&&t.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",w.colloquialLabel,"]"]})]}),!d&&t.jsx("div",{className:"training-word-card__bottom",onClick:r?D:void 0,children:t.jsx(de,{htmlType:"button",size:b?40:48,type:b?"dot":"bar",icon:A?"pause":"play",label:b?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:A,onClick:H,disabled:n,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),t.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:t.jsx("img",{src:Sy,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),jy=260;function Tn(e){const{t:n}=be.useTranslation(),{title:a,subtitle:r,headerActions:s,headerSegment:i,children:l,buttons:u,footer:d,footerStart:c,footerEnd:p,footerClassName:m="",footerLayout:C="center",onClose:g,closeDisabled:v=!1,beforeClose:f,closeOnBackdrop:y=!0,className:w="",ariaLabel:h,useTitle:_=!0,inline:b=!1,size:A,layer:x="modal",height:N,fillBody:B=!1,resetScrollKey:k}=e||{},[E,S]=o.useState(!1),z=o.useRef(!1),R=o.useRef(null),q=o.useId(),j=o.useRef(null);o.useEffect(()=>{},[b,a,h,w]),o.useEffect(()=>{k!==void 0&&j.current&&(j.current.scrollTop=0)},[k]);const[M,O]=o.useState(!1);o.useEffect(()=>{const J=j.current;if(!J)return;const ae=()=>O(J.scrollHeight>J.clientHeight+1);if(ae(),typeof ResizeObserver>"u")return;const ue=new ResizeObserver(ae);ue.observe(J);const ie=J.firstElementChild;return ie&&ue.observe(ie),()=>ue.disconnect()},[l,k]),o.useEffect(()=>{if(!b)return Rl()},[b]),o.useEffect(()=>{if(b)return;const J=document.activeElement,ae=R.current;return Vr(ae,J),ae&&!ae.contains(document.activeElement)&&(ae.querySelector(mn)??ae).focus(),()=>{const ue=document.activeElement;(!ue||ue===document.body||ae&&ae.contains(ue))&&Wr(J)?.focus?.()}},[b]),Hr(R,!b);const Y=o.useRef(!0),te=qr(),V=o.useRef(null);o.useEffect(()=>(Y.current=!0,()=>{Y.current=!1,V.current&&(clearTimeout(V.current),V.current=null)}),[]);const U=o.useCallback(()=>{!Y.current||!z.current||(z.current=!1,S(!1))},[]),P=o.useCallback((J,ae=!1)=>{if(ae&&!Y.current||z.current)return;z.current=!0,S(!0);const ue=setTimeout(()=>{V.current===ue&&(V.current=null);let ie;try{ie=J?J():void 0}catch{U();return}ie&&typeof ie.then=="function"&&ie.then(()=>{setTimeout(U,120)},U)},te?0:jy);ae&&(V.current=ue)},[U,te]),F=o.useCallback(()=>{v||f&&f()===!1||P(g,!0)},[P,g,v,f]),D=o.useRef(F);o.useEffect(()=>{D.current=F});const H=!b&&!!g;o.useEffect(()=>{if(H)return zn(()=>D.current())},[H]);const L=H&&y,I=o.useRef(!1),$=J=>{I.current=J.target===J.currentTarget},K=J=>{const ae=I.current;I.current=!1,ae&&J.target===J.currentTarget&&F()},ne=t.jsx("div",{className:`popup ${b?"popup--inline":""} ${x==="belowPagePopup"?"popup--below-page-popup":""} ${E?"popup--closing":""} ${w}`,onPointerDown:L?$:void 0,onClick:L?K:void 0,onMouseDown:b?void 0:J=>{J.target===J.currentTarget&&J.preventDefault()},children:t.jsxs("div",{ref:R,className:`popup-panel${A?` popup-panel--${A}`:""}${N!=null?" popup-panel--has-height":""}${B?" popup-panel--fill-body":""}`,style:N!=null?{"--popup-height":typeof N=="number"?`${N}px`:N}:void 0,tabIndex:-1,role:b?void 0:"dialog","aria-modal":b?void 0:!0,"aria-labelledby":!b&&_&&a?q:void 0,"aria-label":!b&&!(_&&a)?h??(typeof a=="string"?a:void 0):void 0,children:[!_&&(s||g)?t.jsxs("div",{className:"popup-close-float",children:[s,g&&t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:v,ariaLabel:n("common.close","\uB2EB\uAE30")})]}):a||s||g?t.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[t.jsxs("div",{className:"popup-header-main",children:[a?t.jsx("h2",{id:q,className:"popup-title popup-title--left h2",children:a}):t.jsx("span",{id:q,className:"popup-title popup-title--left h2"}),r&&t.jsx("span",{className:"popup-subtitle body-3",children:r})]}),i&&t.jsx("div",{className:"popup-header-segment",children:t.jsx(An,{size:40,ariaLabel:i.ariaLabel,options:i.options.map(J=>({key:J.key,label:J.label,disabled:J.disabled})),value:i.value,onChange:i.onChange})}),t.jsxs("div",{className:"popup-header-actions",children:[s,g&&t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:v,ariaLabel:n("common.close","\uB2EB\uAE30")})]})]}):null,t.jsx("div",{className:"popup-content",ref:j,tabIndex:M?0:void 0,children:t.jsx("div",{className:"popup-content__inner",children:typeof l=="function"?l({animateThen:P,closeWithAnimation:F}):l})}),c||p?t.jsxs("div",{className:`popup-footer popup-footer--bar${m?` ${m}`:""}`,children:[t.jsx("div",{className:"popup-footer__start",children:typeof c=="function"?c({animateThen:P,closeWithAnimation:F}):c}),t.jsx("div",{className:"popup-footer__end",children:typeof p=="function"?p({animateThen:P,closeWithAnimation:F}):p})]}):u?.length?t.jsx("div",{className:`popup-footer popup-footer--buttons${C!=="center"?` popup-footer--${C}`:""}`,children:u.map((J,ae)=>t.jsx(de,{htmlType:"button",size:48,variant:J.variant??"default",label:J.label,disabled:J.disabled,onClick:()=>J.onClick?.({animateThen:P,closeWithAnimation:F})},ae))}):d?t.jsx("div",{className:`popup-footer${C!=="center"?` popup-footer--${C}`:""}${m?` ${m}`:""}`,children:typeof d=="function"?d({animateThen:P,closeWithAnimation:F}):d}):null]})});return b||typeof document>"u"?ne:Xt.createPortal(ne,document.body)}function rr(e){return String(e)}const or=["o","triangle","x"];function cu(e,n){return e===n?null:n}const du={o:"circle",triangle:"triangle",x:"x"},pu={o:"main",triangle:"warn",x:"danger"};function Ty(e){let n=0,a=0,r=0;for(const i of Object.values(e))i==="o"?n++:i==="triangle"?a++:i==="x"&&r++;const s=n+a+r;return{marked:s,o:n,triangle:a,x:r,rate:s===0?null:(n+a*.5)/s}}function Ao(e){const n={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(n[a]=r);return n}function mu(e){const n=[];let a=0;for(const r of e)n.push(a),a+=r;return n}function My(e,n){return!n&&e>0}const ia={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function Ly(e="landscape"){pn("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:n,printW:a,printH:r}=ia[e],s=document.createElement("style");s.textContent=`@page { size: ${n}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(s);const i=()=>{document.head.removeChild(s),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function hu(e,n){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(n)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const $y={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function Ry(e,n){const a=$y[e][n];if(a)return a;const r=Math.max(1,Math.ceil(n)),s=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,l;return e==="landscape"?(l=s,i=Math.ceil(r/l)):(i=s,l=Math.ceil(r/i)),(e==="landscape"?i<l:l<i)&&([i,l]=[l,i]),{cols:i,rows:l}}const Py={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},Cu={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},fu={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function ko(e,n){return e?e.split("/").map(a=>n[a]??a).join("/"):""}function gu(e,n,a,r){if(r!=="\uC810\uC120")return{};const s=e%n,i=Math.floor(e/n),l=s<n-1,u=i<a-1;if(!l&&!u)return{};const d="#ddd",c=g=>`repeating-linear-gradient(to ${g}, ${d} 0, ${d} 5px, transparent 5px, transparent 10px)`,p=[],m=[],C=[];return l&&(p.push(c("bottom")),m.push("1px 100%"),C.push("right center")),u&&(p.push(c("right")),m.push("100% 1px"),C.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:C.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const Iy=280,Fy=240,Oy=280,Hy=400,zy=120,Vy=280;function bu(e,n){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),u=o.useCallback((d,c)=>{if(!(d>0))return;const p=d/e,m=n&&c>0?c/n:1/0,C=Math.min(1,p,m);s(C),l(Math.max(0,(d-e*C)/2))},[e,n]);return o.useEffect(()=>{const d=a.current;if(!d)return;const c=n?d.parentElement??d:d;if(u(c.clientWidth,c.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>u(m.contentRect.width,m.contentRect.height));return p.observe(c),()=>p.disconnect()},[u,n]),{scalerRef:a,scale:r,offset:i}}const Wy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},qy=400,yu=8;function vu({label:e,subLabel:n,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:d=40,wordInfo:c}){const{t:p}=be.useTranslation(),m=o.useRef(null),C=o.useRef(null),g=o.useRef(null),[v,f]=o.useState(1),[y,w]=o.useState(!1),[h,_]=o.useState({for:"",url:""}),[b,A]=o.useState(null),x=n&&n.length>0?n:aC()?.(e,r)??"",N=Xn()?.(e,r)??"",{imgRef:B,loading:k,failed:E,onLoad:S,onError:z}=_o(N),R=o.useCallback(()=>A(C.current?.getBoundingClientRect()??null),[]),q=o.useCallback(()=>A(null),[]),j=Gr(!!b,H=>{H?R():q()},C),M=o.useMemo(()=>{if(!c)return null;const H=[];return c.grade&&H.push(p("wordTable.info.grade",{n:c.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),c.syllables&&H.push(p("wordTable.info.syllables",{n:c.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),c.pos&&H.push(p("wordTable.info.pos",{v:ko(c.pos,Uy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),c.wordType&&H.push(p("wordTable.info.wordType",{v:ko(c.wordType,Gy(p)),defaultValue:"\uC720\uD615: {{v}}"})),H.length?H:null},[c,p]),O=x||e,Y=h.for===O?h.url:"";o.useEffect(()=>{const H=Er(),L=x||e;if(!H||!L)return;let I=!1;return Promise.resolve(H(L)).then($=>{!I&&$&&_({for:L,url:$})}),()=>{I=!0}},[x,e]);const te=o.useRef(null),V=o.useRef(null);o.useEffect(()=>()=>{g.current?.pause(),V.current?.()},[]);const U=o.useCallback(async H=>{if(H.stopPropagation(),y){te.current?.();return}if(Y){w(!0);try{const L=new Audio(Y);g.current=L;const I=()=>{w(!1),V.current?.()},$=()=>{L.pause(),I()};te.current=$;const K=Xa($);V.current=K,L.onended=I,L.onerror=I,await L.play()}catch{w(!1),V.current?.()}}},[y,Y]),P=i&&!!N&&!E,F=P&&s?Iy:P?Oy:Fy,D=P&&s?Hy:P?Vy:zy;return o.useEffect(()=>{const H=m.current;if(!H||typeof ResizeObserver>"u")return;const L=new ResizeObserver(([I])=>{const{width:$,height:K}=I.contentRect;f(Math.min($/F,K/D))});return L.observe(H),()=>L.disconnect()},[F,D]),t.jsxs("div",{ref:m,className:De("word-table-cell",P?"word-table-cell--with-image":""),"data-ref-w":F,"data-ref-h":D,children:[t.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${v})`},children:[P&&t.jsxs("div",{className:"word-table-cell__image-wrap",children:[k&&t.jsx("div",{className:"word-table-cell__spinner"}),t.jsx("img",{ref:B,className:"word-table-cell__image",src:N,alt:e,draggable:!1,style:{opacity:k?0:1},onLoad:S,onError:z})]}),s&&t.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&x&&t.jsxs("span",{className:"word-table-cell__sub h3",children:["[",x,"]"]}),u&&a&&t.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),t.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":Y,children:[t.jsx("span",{"data-play-state":"play",style:{display:y?"none":void 0},children:t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),ariaLabel:e?p("common.playFor",{name:e,defaultValue:`${e} \uC7AC\uC0DD`}):p("common.play","\uC7AC\uC0DD"),onClick:U})}),t.jsx("span",{"data-play-state":"pause",style:{display:y?void 0:"none"},children:t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),ariaLabel:e?p("common.pauseFor",{name:e,defaultValue:`${e} \uBA48\uCDA4`}):p("common.pause","\uBA48\uCDA4"),onClick:U})})]}),c&&t.jsxs("div",{ref:C,className:"word-table-cell__info-button",onPointerEnter:H=>{ta(H)||R()},onPointerLeave:H=>{ta(H)||q()},onFocus:()=>{na()||R()},onBlur:q,children:[t.jsx(de,{htmlType:"button",size:d,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:H=>{H.stopPropagation(),j.touchPress()}}),b&&M&&t.jsx(Vn,{anchorRect:b,items:M,showIndex:!1})]})]})}const xu={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},_u={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Uy(e){return Object.fromEntries(Object.entries(Cu).map(([n,a])=>[n,xu[n]?e(`wordTable.pos.${xu[n]}`,{defaultValue:a}):a]))}function Gy(e){return Object.fromEntries(Object.entries(fu).map(([n,a])=>[n,_u[n]?e(`wordSearch.filter.type.${_u[n]}`,{defaultValue:a}):a]))}function la({title:e,titleIcon:n,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:u=!0,showDivLine:d=!0,items:c,editCells:p,count:m,activeCell:C=null,onActivateCell:g,onRemoveCell:v,onRemoveItem:f,onReorder:y,renderCellAction:w,showFillerAdd:h=!1,contentRef:_,buttonSize:b=40,brand:A,code:x,pageNumber:N,pageNumberPosition:B="right",fitHeight:k=!1,scoring:E=!1,marks:S,onMarkClick:z,scoreIndexOffset:R=0}){const q=o.useCallback((Be,je)=>{z?.(R+Be,je)},[z,R]),j=(Be,je)=>{const pe=S?.[rr(R+Be)]??null;return t.jsx("div",{className:De("word-table-cell__score",pe?"word-table-cell__score--marked":""),style:ee>1?{transform:`translateX(-50%) scale(${ee})`,transformOrigin:"bottom center"}:void 0,children:or.map($e=>t.jsx("span",{className:De("word-table-cell__score-slot",pe===$e?"word-table-cell__score-slot--on":""),children:t.jsx(de,{htmlType:"button",size:b,type:"dot",shape:"pill",icon:du[$e],variant:pe===$e?pu[$e]:"default",selected:pe===$e,useBorder:!1,...Ae?{}:{tabIndex:-1,role:"img"},showTooltipInfo:M(`wordTable.scoring.markName.${$e}`,{defaultValue:$e}),ariaLabel:M(`wordTable.scoring.${$e}`,{word:je,defaultValue:`${je} ${$e}`}),onClick:Ae?nt=>{nt.stopPropagation(),q(Be,$e)}:void 0})},$e))})},{t:M}=be.useTranslation(),O=p!==void 0,Y=e!=null||!!n||!!a,te=tn("(max-width: 767px)"),V=o.useRef(null),[U,P]=o.useState(null),F=c?.length??0,[D,H]=o.useState(null),[L,I]=o.useState(""),$=o.useRef(null),K=o.useRef(null),ne=o.useRef(null),J=o.useRef(null),ae=o.useCallback(Be=>{K.current=Be,typeof _=="function"?_(Be):_&&(_.current=Be)},[_]),ue=o.useCallback((Be,je)=>{$.current=je,y?.(Be,je),I(M("wordTable.reorder.moved",{n:je+1,total:F,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[y,M,F]);o.useEffect(()=>{const Be=$.current;Be!=null&&($.current=null,K.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[Be]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{J.current?.()},[]);const ie=o.useCallback((Be,je)=>{if(!y||!Be.altKey||Be.ctrlKey||Be.metaKey)return;const pe=Be.key==="ArrowRight";if(!pe&&Be.key!=="ArrowLeft")return;Be.preventDefault();const $e=je+(pe?1:-1);$e<0||$e>=F||ue(je,$e)},[y,F,ue]),xe=o.useCallback((Be,je)=>{if(!y||Be.pointerType==="mouse")return;const pe=Be.target.closest?.("button");if(pe&&!pe.closest(".word-table-block__card-handle"))return;J.current?.();const $e={x:Be.clientX,y:Be.clientY};let nt=!1;const _t=Pe=>{nt&&Pe.cancelable&&Pe.preventDefault()},kt=Pe=>{if(!nt){(Math.abs(Pe.clientX-$e.x)>yu||Math.abs(Pe.clientY-$e.y)>yu)&&We();return}const Xe=document.elementFromPoint?.(Pe.clientX,Pe.clientY)?.closest?.("[data-wordtable-cell]"),Oe=Xe?Number(Xe.dataset.wordtableCell):NaN,it=Number.isInteger(Oe)?Oe:null;ne.current=it,P(it)},dt=()=>{const Pe=ne.current,Xe=nt;We(),Xe&&Pe!=null&&Pe!==je&&ue(je,Pe)},Ze=setTimeout(()=>{nt=!0,H(je),ne.current=je,P(je),window.addEventListener("touchmove",_t,{passive:!1})},qy);function We(){clearTimeout(Ze),window.removeEventListener("pointermove",kt),window.removeEventListener("pointerup",dt),window.removeEventListener("pointercancel",dt),window.removeEventListener("touchmove",_t),nt=!1,ne.current=null,J.current=null,H(null),P(null)}J.current=We,window.addEventListener("pointermove",kt),window.addEventListener("pointerup",dt),window.addEventListener("pointercancel",dt)},[y,ue]),{width:W,height:Q}=ia[s],se=typeof k=="number"?k:k&&typeof k=="object"?te?k.narrow:k.wide:null,{scalerRef:ke,scale:me,offset:re}=bu(W,k?Q:void 0),Ce=O?p?.length??0:c?.length??0,ge=Math.max(m??Ce,1),{cols:Ee,rows:Re}=Ry(s,ge),Le={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},Je=O?(p??[]).some(Be=>Be!==null&&Be.length>1):(c??[]).some(Be=>(Be.words??[]).length>1),Qe=!!A?.show,qe=!!A?.show&&A?.top!==!1,Fe=!!A?.show&&A?.bottom!==!1,st=A?.copyright??"\xA9 IHAB, Inc. All rights reserved.",et=De("word-table-block__content",Py[l],u&&"word-table-block__content--outline",d&&Je&&"word-table-block__content--div-line",!Qe&&N&&B!=="none"&&"word-table-block__content--page-number",qe&&"word-table-block__content--brand-top",Fe&&"word-table-block__content--brand-bottom"),Ye={transform:`scale(${1/me})`,transformOrigin:"center center"},Se=b*or.length+4*(or.length-1),Ae=!!z,ee=Ae?Math.max(1,Math.min(1/me,W/Ee/Se)):1,fe=t.jsxs("div",{ref:ke,className:"word-table__scaler",style:{height:Q*me},children:[t.jsx("div",{className:De("word-table",E&&!Ae&&"word-table--score-readonly",!Y&&r),style:{width:W,height:Q,transform:`scale(${me})`,transformOrigin:"top left",marginLeft:re},children:t.jsxs("div",{ref:ae,className:et,style:{gridTemplateColumns:`repeat(${Ee}, 1fr)`,gridTemplateRows:`repeat(${Re}, 1fr)`},children:[O?t.jsx(t.Fragment,{children:(p??[]).map((Be,je)=>t.jsx("div",{className:De("word-table-block__edit-cell",Be?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",C===je?"word-table-block__edit-cell--active":""),style:gu(je,Ee,Re,l),children:Be?t.jsxs(t.Fragment,{children:[Be.map((pe,$e)=>t.jsxs(o.Fragment,{children:[$e>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(vu,{label:pe.word,subLabel:pe.pronunciation,colloquialLabel:pe.colloquialPronunciation,homonum:pe.homonum,showWord:Le.word,showImage:Le.image,showPronunciation:Le.pron,showColloquial:Le.colloq,buttonSize:b})]},$e)),E&&j(je,Be.map(pe=>pe.word).join(" / ")),v&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:Be.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:Be.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>v(je)})})]}):g&&t.jsx("div",{style:Ye,children:t.jsx(de,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(je)})})},je))}):t.jsxs(t.Fragment,{children:[(c??[]).map((Be,je)=>t.jsxs("div",{"data-wordtable-cell":y?je:void 0,className:`word-table-block__card${y?" word-table-block__card--draggable":""}${U===je?" word-table-block__card--drag-over":""}${D===je?" word-table-block__card--dragging":""}`,style:gu(je,Ee,Re,l),draggable:!!y,onPointerDown:y?pe=>xe(pe,je):void 0,onKeyDown:y?pe=>ie(pe,je):void 0,onDragStart:y?()=>{V.current=je}:void 0,onDragOver:y?pe=>{pe.preventDefault(),P(je)}:void 0,onDragLeave:y?()=>P(null):void 0,onDrop:y?pe=>{pe.preventDefault(),V.current!==null&&V.current!==je&&y(V.current,je),V.current=null,P(null)}:void 0,onDragEnd:y?()=>{V.current=null,P(null)}:void 0,children:[(Be.words??[]).map((pe,$e)=>t.jsxs(o.Fragment,{children:[$e>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(vu,{label:pe.label,subLabel:pe.subLabel,colloquialLabel:pe.colloquialLabel,homonum:pe.homonum,showWord:Le.word,showImage:Le.image,showPronunciation:Le.pron,showColloquial:Le.colloq,buttonSize:b,wordInfo:pe.grade||pe.syllables!=null||pe.pos||pe.wordType?{grade:pe.grade,syllables:pe.syllables,pos:pe.pos,wordType:pe.wordType}:void 0})]},$e)),E&&j(je,(Be.words??[]).map(pe=>pe.label).join(" / ")),y&&t.jsx("div",{className:"word-table-block__card-handle",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:M("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:M("wordTable.reorder.handle",{word:(Be.words??[]).map(pe=>pe.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(w||f)&&t.jsxs("div",{className:"word-table-block__card-actions",children:[w?.(je,Be),f&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(de,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(Be.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(Be.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(Be.id)})})]})]},Be.id)),Array.from({length:Math.max(0,Ee*Re-(c?.length??0))}).map((Be,je)=>{const pe=(c?.length??0)+je<ge;return t.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:h&&g&&pe&&t.jsx("div",{style:Ye,children:t.jsx(de,{htmlType:"button",size:b,type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((c?.length??0)+je)})})},`filler-${je}`)})]}),qe&&t.jsx(t.Fragment,{children:t.jsxs("div",{className:"word-table__band word-table__band--top",children:[t.jsx("img",{className:"word-table__brand-logo",src:A?.topLogo?.src??Za,alt:A?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const Be=[A?.title&&t.jsx("span",{className:"word-table__paper-title",children:A.title},"t"),A?.owner&&t.jsx("span",{className:"word-table__owner",children:A.owner},"o"),x&&t.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return Be.length===0?null:t.jsx("span",{className:"word-table__ident",children:Be.map((je,pe)=>t.jsxs(o.Fragment,{children:[pe>0&&t.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),je]},pe))})})()]})}),Fe&&t.jsx(t.Fragment,{children:t.jsxs("div",{className:"word-table__band word-table__band--bottom",children:[t.jsxs("span",{className:"word-table__brand-by",children:[A?.bottomLogo?t.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:A.bottomLogo.src,alt:A.bottomLogo.alt}):t.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),t.jsx("span",{className:"word-table__copyright",children:st})]}),t.jsxs("span",{className:"word-table__band-end",children:[A?.link&&t.jsx("span",{className:"word-table__link",children:A.link}),N&&B!=="none"&&t.jsx("span",{className:"word-table__page-count",children:M("wordTable.filter.pageIndicator",{current:N.current,total:N.total})})]})]})}),!Qe&&N&&B!=="none"&&t.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${B}`,children:M("wordTable.filter.pageIndicator",{current:N.current,total:N.total})})]})}),y&&t.jsx("span",{role:"status",style:Wy,children:L})]}),ze=se==null?fe:t.jsx("div",{className:"word-table__frame",style:{height:se},children:fe});return Y?t.jsx(sa,{type:"page",icon:n,title:e,disc:a,className:De("word-table-block",r),children:ze}):ze}function Ky(e,n,a){const r=[];for(const s of e??[]){if(s.type==="note"||s.type==="input")continue;const i=s.displayLabel??s.label,l=Yy(s,n?.[s.label],a);l!==null&&r.push(`${i} ${l}`)}return r.join(" \xB7 ")}function Yy(e,n,a){const r=(Array.isArray(n)?n:n===void 0?[]:[n]).filter(s=>s!==on);return r.length===0?e.allOption?e.allLabel??a:null:r.map(s=>Zy(e,s)).join(", ")}function Zy(e,n){const a=[...e.items??[],...(e.groups??[]).flat()];for(const r of a)if(r!=null){if(typeof r=="string"){if(r===n)return r;continue}if(r.value===n)return r.displayLabel??r.labels?.join(" ")??r.value}return n}function Bn({title:e,titleLevel:n=2,headerAction:a,headerSummary:r,collapsible:s=!1,defaultCollapsed:i=!1,collapsed:l,onCollapsedChange:u,footer:d,sections:c,selected:p={},onSelect:m,align:C,sectionAlign:g,className:v}){const f=(C??(g==="vertical"?"newline":"inline"))==="inline",{t:y}=be.useTranslation(),[w,h]=o.useState(i),_=l??w,b=()=>{const S=!_;h(S),u?.(S)},A=S=>{if(!s)return;const z=S.target;!z||typeof z.closest!="function"||z.closest(".filter-panel__collapse-toggle")||z.closest('button, a, input, select, textarea, label, [role="radiogroup"], [role="button"], [role="menu"]')||b()},x=o.useMemo(()=>r!==void 0||!_?"":Ky(c,p,y("common.all","\uC804\uCCB4")),[r,_,c,p,y]),N=r??(x?t.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),B=e||a||r||s,k=o.useId(),E=n?`h${n}`:"span";return t.jsxs("div",{className:De("filter-panel",s?"filter-panel--collapsible":"",_?"filter-panel--collapsed":"",v),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?k:void 0,children:[B&&t.jsxs("div",{className:"filter-panel__header",onClick:s?A:void 0,children:[t.jsx("div",{className:"filter-panel__title-row",children:e&&t.jsx(E,{id:k,className:"filter-panel__title h4",children:e})}),t.jsxs("div",{className:"filter-panel__header-actions",children:[_?N:a,s&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:_?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:_?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),"aria-expanded":!_,onClick:b})]})]}),!_&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:De("filter-panel__sections",f?"filter-panel__sections--row":""),children:c.map(S=>{const z=p[S.label],R=z===void 0||(Array.isArray(z)?z.length===0:!1),q=(S.items??[]).filter(M=>M!=null);S.allOption&&q.some(M=>(typeof M=="string"?M:M.value)===on)&&pn(`filter-panel-all-value:${S.label}`,`[FilterPanel] '${S.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${on}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const j=M=>{const O=typeof M=="string"?M:M.value,Y=typeof M!="string"&&!!M.disabled,te=typeof M!="string"?M.labels:void 0,V=typeof M!="string"?M.displayLabel:void 0,U=typeof M!="string"?M.tooltip:void 0,P=typeof M!="string"?M.descriptionTooltip:void 0,F=typeof M!="string"?M.shape:void 0,D=Array.isArray(z)?z.includes(O):z===O;return t.jsx(de,{htmlType:"button",size:"keyboard",label:te??V??O,type:S.itemType??(te?"bar":O.length===1?"dot":void 0),selected:D,disabled:Y,shape:F,showTooltipInfo:!!U,tooltipInfoText:U,tooltipDescription:P,onClick:()=>m?.(O,S.label)},O)};return t.jsxs(o.Fragment,{children:[S.groupLabel&&t.jsxs("div",{className:"filter-panel__group-label-row",children:[t.jsx("div",{className:"filter-panel__group-label body-2",children:S.groupLabel}),S.groupAction]}),t.jsxs("div",{className:De("filter-panel__section",S.layout==="row"?"filter-panel__section--row":"",S.block?"filter-panel__section--block":""),children:[t.jsxs("div",{className:"filter-panel__section-label-row",children:[t.jsx("span",{className:"filter-panel__section-label body-3",children:S.displayLabel??S.label}),S.labelAction??(S.labelInfo?t.jsx(Ea,{...S.labelInfo}):null)]}),S.type==="note"?t.jsx("div",{className:"filter-panel__note body-3",children:S.content}):S.type==="input"?t.jsx(Un,{className:"filter-panel__textfield",placeholder:S.placeholder,ariaLabel:S.displayLabel??S.label,value:p[S.label]??"",onChange:M=>m?.(M,S.label),error:S.error}):!S.multiple&&S.display==="segmented"?t.jsx(An,{ariaLabel:S.displayLabel??S.label,options:[...S.allOption?[{key:on,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...q.map(M=>{const O=typeof M=="string"?M:M.value,Y=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{key:O,label:Y??O,disabled:te}})],value:R&&S.allOption?on:p[S.label]??"",onChange:M=>m?.(M,S.label),size:32}):!S.multiple&&S.display==="dropdown"?t.jsx(sn,{className:"filter-panel__dropdown",size:40,options:[...S.allOption?[{value:on,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...q.map(M=>{const O=typeof M=="string"?M:M.value,Y=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{value:O,label:Y??O,disabled:te}})],value:R&&S.allOption?on:p[S.label],onChange:M=>m?.(M,S.label)}):t.jsxs("div",{className:S.groups?"filter-panel__item-groups":"filter-panel__items",children:[S.allOption&&!S.groups&&t.jsx(de,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:R,disabled:S.allOptionDisabled,onClick:()=>m?.(on,S.label)}),S.groups?S.groups.map((M,O)=>t.jsxs("div",{className:"filter-panel__item-group",children:[O===0&&S.allOption&&t.jsx(de,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:R,disabled:S.allOptionDisabled,onClick:()=>m?.(on,S.label)}),M.filter(Y=>Y!=null).map(j)]},O)):q.map(j)]})]})]},S.label)})}),d!=null&&d!==!1&&t.jsx("div",{className:"filter-panel__footer body-3",children:d})]})]})}const Xy=[1,2,3,4,5,6,7,8,9,10,11,12],wu=[8,4,2,1];function Au(e,n){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!n.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!n.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function ku(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function Bu(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Nu(e){return{label:e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Du(e){return{label:e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Eu(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Su(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function ju(e,n){return{label:e(n.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[n.itemCount,...wu.filter(a=>a<n.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Tu(e,n){return e===n||!wu.includes(e)?Number.POSITIVE_INFINITY:e}function Jy(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const Mu={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Lu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function $u(e,n){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:n.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:n.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:n.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:n.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:n.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",...n.showTopInfo!=null?{[e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")]:n.showTopInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{},...n.showBottomInfo!=null?{[e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")]:n.showBottomInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{}}}function Ru(e,n,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?n===on?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(n)?s.filter(i=>i!==n):[...s,n]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(n==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(n),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")?(r.setShowTopInfo?.(n==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")?(r.setShowBottomInfo?.(n==="\uD45C\uC2DC"),!0):!1}function Qy(e){return"sections"in e}function Bo(e){const{t:n}=be.useTranslation(),{title:a,className:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d}=e,c={collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d};if(Qy(e))return t.jsx(Bn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...c,align:"inline"});const{hasImage:p,hasColloquial:m,contentTypes:C,orientation:g,showOutline:v,cutLine:f,showDivLine:y,setters:w,showCutLine:h=!1,showDivLine2:_=!1,middleSections:b=[],extraSelected:A={},onExtraSelect:x,showPaperBands:N=!1,showTopInfo:B=!0,showBottomInfo:k=!0}=e,E=[Au(n,{hasImage:p,hasColloquial:m}),ku(n),...b,Bu(n),...h?[Eu(n)]:[],..._?[Su(n)]:[],...N?[Nu(n),Du(n)]:[]],S={...$u(n,{contentTypes:C,orientation:g,showOutline:v,cutLine:f,showDivLine:y,showTopInfo:B,showBottomInfo:k}),...A},z=(R,q)=>{Ru(n,R,q,w)||x?.(R,q)};return t.jsx(Bn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:S,onSelect:z,...c,sectionAlign:"horizontal"})}function Pu(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function No(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let sr=null,ua=null;function e5(e,n,a,r="",s=""){if(e.length===0||ua&&ua.iframe.isConnected&&Date.now()-ua.at<1e4)return;const i=r?No(r):"";sr?.();let l=null;if(i){const c=document.title;document.title=i,l=()=>{document.title=c,window.removeEventListener("afterprint",l),sr===l&&(sr=null)},sr=l,window.addEventListener("afterprint",l)}const u=document.createElement("iframe");u.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(u);const d=u.contentDocument;if(!d){u.remove();return}ua={iframe:u,at:Date.now()},d.open(),d.write(Do(e,n,a,!0,i,s)),d.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),ua?.iframe===u&&(ua=null)},0)})}function Do(e,n,a,r=!1,s="",i=""){s=s?No(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
|
|
860
860
|
`),u="light",d=i?`<div class="paper-head">${Pu(i)}</div>`:"",c=e.map(p=>{const m=p.cloneNode(!0);return m.querySelectorAll('[data-play-state="play"]').forEach(C=>C.style.display=""),m.querySelectorAll('[data-play-state="pause"]').forEach(C=>C.style.display="none"),m.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(C=>C.remove()),m.querySelectorAll(".word-table-cell__spinner").forEach(C=>C.remove()),m.querySelectorAll("img").forEach(C=>{C.style.opacity==="0"&&(C.setAttribute("onload","this.style.opacity=''"),C.setAttribute("onerror","this.style.visibility='hidden'"))}),`<div class="paper-wrap">${d}${m.outerHTML}</div>`}).join(`
|
|
861
861
|
`);return`<!DOCTYPE html>
|
|
862
862
|
<html data-theme="${u}">
|
|
@@ -1042,10 +1042,10 @@ ${b.badge}`:b.badge:void 0;if(x&&d(b.code))return null;if(!b.badge&&!p)return m(
|
|
|
1042
1042
|
`:""}
|
|
1043
1043
|
<\/script>
|
|
1044
1044
|
</body>
|
|
1045
|
-
</html>`}const t5=1e3;function Eo({getElements:e,paperW:n,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=be.useTranslation(),u=o.useCallback(()=>{e5(e(),n,a,r,i)},[e,n,a,r,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(Do(p,n,a,!1,r,i)),m.document.close()},[e,n,a,r,s,i]),c=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=Do(p,n,a,!1,r,i),C=new Blob([m],{type:"text/html;charset=utf-8"}),g=URL.createObjectURL(C),v=(r?No(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),f=Object.assign(document.createElement("a"),{href:g,download:`${v}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(g),t5)},[e,n,a,r,i,l]);return{print:u,openNewWindow:d,downloadHtml:c}}function Iu(e,n){const{t:a}=be.useTranslation(),r=n?.paperBands===!0,[s,i]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[d,c]=o.useState("\uD45C\uC2DC"),[p,m]=o.useState(!0),[C,g]=o.useState(!0),[v,f]=o.useState(!0),[y,w]=o.useState(!0),[h,_]=o.useState(8),[b,A]=o.useState("right"),x=e.length,N=e.some(K=>(K.words??[]).length>1),B=e.some(K=>(K.words??[]).some(te=>!!te.colloquialLabel)),k=Math.min(h,Math.max(x,1)),E=o.useMemo(()=>hu(e,k),[e,k]),S=E.length>1,z=k,[R,U]=o.useState(!1);o.useEffect(()=>{let K=!1;if(!Xn()){U(!1);return}return Promise.all(e.flatMap(te=>(te.words??[]).map(V=>Qs(V.label,V.homonum)))).then(te=>{K||U(te.some(Boolean))},()=>{}),()=>{K=!0}},[e]);const j=o.useMemo(()=>[Au(a,{hasImage:R,hasColloquial:B}),ku(a),...x>0?[ju(a,{hasPairs:N,itemCount:x})]:[],Bu(a),...z>1?[Eu(a)]:[],...N?[Su(a)]:[],...r?[Nu(a),Du(a)]:[]],[a,R,B,x,N,S,z,r]),L={...$u(a,{contentTypes:l,orientation:s,showOutline:p,cutLine:d,showDivLine:y,showTopInfo:C,showBottomInfo:v}),...x>0?{[a(N?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${k}\uAC1C`}:{},...S?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Mu[b]}:{}},F=o.useCallback((K,te)=>{Ru(a,K,te,{setContentTypes:u,setOrientation:i,setShowOutline:m,setCutLine:c,setShowDivLine:w,setShowTopInfo:g,setShowBottomInfo:f})||(te===a("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||te===a("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?_(Tu(parseInt(K),x)):te===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&A(Lu(K)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:d,showOutline:p,showDivLine:y,count:z,showTopInfo:C,showBottomInfo:v},filterSections:j,filterSelected:L,handleSelect:F,pages:E,isPaginated:S,pageNumberPosition:b}}function n5({items:e,words:n,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:u,footerClassName:d,footerLayout:c,printFileName:p,showSettings:m,autoPrint:C,className:g,onClose:v,scoring:f=!1,onScoreChange:y,printHeader:w,brand:h,code:_,beforeClose:b}){const{t:A}=be.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(n)?n:[]).filter(ie=>typeof ie=="string"&&ie.length>0).map((ie,xe)=>({id:`${ie}-${xe}`,words:[{label:ie}]})),[e,n]),{settings:N,filterSections:B,filterSelected:k,handleSelect:E,pages:S,isPaginated:z,pageNumberPosition:R}=Iu(x,{paperBands:!!h?.show}),U=o.useMemo(()=>mu(S.map(ie=>ie.length)),[S]),[j,L]=o.useState({}),F=o.useCallback((ie,xe)=>{L(W=>({...W,[rr(ie)]:cu(W[rr(ie)]??null,xe)}))},[]),K=o.useRef(y);o.useEffect(()=>{K.current=y});const te=o.useRef(j);o.useEffect(()=>{te.current!==j&&(te.current=j,K.current?.(Ao(j)))},[j]);const V=o.useMemo(()=>Ao(j),[j]),I=o.useRef(null),{toastMessage:q,toastKey:H,showWarning:D,clearToast:O}=ll("warning"),M=o.useRef([]),P=o.useCallback(()=>z?M.current.filter(ie=>ie!==null):I.current?[I.current]:[],[z]),{print:$,openNewWindow:Y}=Eo({getElements:P,paperW:ia[N.orientation].width,paperH:ia[N.orientation].height,fileName:p??"",header:w??"",onPopupBlocked:()=>D(A("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),ne=o.useMemo(()=>u?void 0:l?l({print:$,openNewWindow:Y}):p?[{label:A("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>Y()},{label:A("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>$()},...i??[]]:i,[u,l,p,i,A,$,Y]),J=o.useMemo(()=>u?u({print:$,openNewWindow:Y}):void 0,[u,$,Y]),ae=o.useRef(!1),ue=o.useRef($);return o.useEffect(()=>{ue.current=$},[$]),o.useEffect(()=>{if(!C||ae.current)return;const ie=window.setTimeout(()=>{ae.current=!0,ue.current()},100);return()=>window.clearTimeout(ie)},[C]),t.jsxs(Tn,{title:a??A("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:De("word-table-popup",g),buttons:ne,footer:J,footerClassName:d,footerLayout:c,beforeClose:b,onClose:v,children:[x.length>0?t.jsxs("div",{className:"word-table-popup__body",children:[m&&t.jsx(Bo,{sections:B,selected:k,onSelect:E}),z?t.jsx("div",{className:"word-table-popup__pages",children:S.map((ie,xe)=>t.jsx(la,{items:ie,orientation:N.orientation,contentTypes:N.contentTypes,cutLine:N.cutLine,showOutline:N.showOutline,showDivLine:N.showDivLine,count:N.count,contentRef:W=>{M.current[xe]=W},pageNumber:{current:xe+1,total:S.length},pageNumberPosition:R,brand:h&&{...h,top:N.showTopInfo,bottom:N.showBottomInfo},code:_,scoring:f,scoreIndexOffset:U[xe],marks:V,onMarkClick:F},xe))}):t.jsx("div",{className:"word-table-popup__table",children:t.jsx(la,{items:x,orientation:N.orientation,contentTypes:N.contentTypes,cutLine:N.cutLine,showOutline:N.showOutline,showDivLine:N.showDivLine,count:N.count,contentRef:I,fitHeight:!0,scoring:f,marks:V,onMarkClick:F,brand:h&&{...h,top:N.showTopInfo,bottom:N.showBottomInfo},code:_})})]}):t.jsx("p",{className:"word-table-popup__empty body-3",children:s??A("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsx(ra,{message:q,position:"top",onClose:O},H)]})}const a5=new Set(["x","triangle"]);function r5(e,n){const a=[];for(let r=0;r<e.length;r++){const s=n[String(r)];s&&a5.has(s)&&a.push(e[r])}return a}const o5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Fu(e){const n=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const i=Math.floor(a);if(i===0)return{\uBC14\uD0D5:n,\uD68C\uCC28:1};const l=(i===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${i}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(n);return{\uBC14\uD0D5:l?n.slice(0,l.index).trim():n,\uD68C\uCC28:i+1}}let r=n,s=1;for(;;){const i=o5.exec(r);if(!i)break;s=Math.max(s,(i[1]?Number(i[1]):1)+1),r=r.slice(0,i.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:s}}function s5(e,n){const[,a,r]=Fr(n).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Fu(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function i5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Fu(e).\uD68C\uCC28}}function l5(e,n){const a={};for(const[r,s]of Object.entries(n)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function u5(e){return e.map(n=>n.label).join(" / ")}function c5(e){return e.map(n=>n.homonum!=null?`${n.label}#${n.homonum}`:n.label).join(" / ")}function Ou(e){return e.split(" / ").map(n=>n.replace(/#\d+$/,"")).join(" / ")}function d5(e,n,a){const r=ci(a);return[e.trim(),r,n.trim()].filter(Boolean).join(" \xB7 ")}function Hu(e,n,a){return a===0?0:(e+n*.5)/a}function p5(e){const n=new Map,a=[...e].sort((s,i)=>s.scoredAt.localeCompare(i.scoredAt));for(const s of a)for(const[i,l]of Object.entries(s.marks)){const u=s.labels?.[i];if(!u)continue;const d=n.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")d.o++;else if(l==="triangle")d.triangle++;else if(l==="x")d.x++;else continue;d.latest=l,d.latestAt=s.scoredAt,n.set(u,d)}const r=[];for(const[s,i]of n){const l=i.o+i.triangle+i.x;r.push({label:Ou(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Hu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||aa(s.label,i.label)||aa(s.key??s.label,i.key??i.label)),r}function m5(e){const n=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=n.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),n.set(s,i)}const a=[];for(const r of n.values()){const s=u=>Object.values(u.marks).filter(d=>d==="o"||d==="triangle"||d==="x").length,i=r.rows.filter(u=>s(u)>0).sort((u,d)=>u.scoredAt.localeCompare(d.scoredAt));if(i.length===0)continue;const l=i.map(u=>{const d=Object.values(u.marks),c=d.filter(m=>m==="o").length,p=d.filter(m=>m==="triangle").length;return Hu(c,p,s(u))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(u=>u.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,s)=>(s.times[s.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function h5(e,n=8){return e.filter(a=>a.latest!=="o").slice(0,n)}function C5(e,n){if(e==null||n==null||e===""||n==="")return 0;if(typeof e=="number"&&typeof n=="number")return e-n;const a=String(e),r=String(n);return+(a>r)-+(a<r)}function f5(e){const n=new Map;let a=0,r=0;const s=e.map((l,u)=>({r:l,\uC790\uB9AC:u})).sort((l,u)=>l.r.answeredAt.localeCompare(u.r.answeredAt)||C5(l.r.id,u.r.id)||l.\uC790\uB9AC-u.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const u=l.itemTitle?.trim();if(!u){r++;continue}a++;const d=l.itemId?.trim()||u,c=`${l.trainingType}|${d}`,p=n.get(c)??{trainingType:l.trainingType,itemId:d,title:u,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=u,p.latestCorrect=l.isCorrect,p.latestAt=l.answeredAt,p.lastSelected=l.selected,l.setId){const m=p.setIds.indexOf(l.setId);m>0&&p.setIds.splice(m,1),m!==0&&p.setIds.unshift(l.setId)}n.set(c,p)}const i=[...n.entries()].map(([l,u])=>({key:l,trainingType:u.trainingType,itemId:u.itemId,title:u.title,tried:u.tried,wrong:u.wrong,rate:u.tried===0?0:(u.tried-u.wrong)/u.tried,latestCorrect:u.latestCorrect,latestAt:u.latestAt,lastSelected:u.lastSelected,setIds:u.setIds}));return i.sort((l,u)=>l.rate-u.rate||u.tried-l.tried||aa(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function g5(e,n=8){return e.filter(a=>!a.latestCorrect).slice(0,n)}function b5(e){const n=new Map;for(const r of e){const s=n.get(r.trainingType)??[];s.push(r),n.set(r.trainingType,s)}const a=[...n.entries()].map(([r,s])=>({trainingType:r,items:s,pending:s.filter(i=>!i.latestCorrect).length}));return a.sort((r,s)=>s.pending-r.pending||r.trainingType.localeCompare(s.trainingType)),a}const So=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function y5(e){const n=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const u=`${i.trainingType}|${l}`,d=n.get(u)??{setId:l,trainingType:i.trainingType,pending:0};d.pending++,n.set(u,d)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...n.values()];return{sentence:s.filter(i=>So.includes(i.trainingType)).sort(r),word:s.filter(i=>!So.includes(i.trainingType)).sort(r),noSet:a}}function v5(e,n,a=5){const r=new Set(n);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,u=[];for(const d of i.cellLabels)r.has(d)&&!l.has(d)&&(l.add(d),u.push(d));u.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:u,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||aa(i.name,l.name)),s.slice(0,Math.max(0,a))}function x5(e,n){const a=new Set(e.flatMap(r=>r.covered));return n.filter(r=>!a.has(r))}function _5(e,n){const a=new Map;for(const s of e)for(const i of s.cells){const l=s.labelOf(i);a.has(l)||a.set(l,i)}const r=[];for(const s of n){const i=a.get(s);i!==void 0&&r.push(i)}return r}function jo(e,n,a){return typeof e=="string"&&e?e:n.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function w5(e,n){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return n?n(r,s):r>0&&s>0?jo(Et.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?jo(Et.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):jo(Et.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function A5(e,n){const a=[],r=new Set;for(const s of e){const i=n(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function k5(e,n){return e.map(a=>a.key===n?{...a,pinned:!a.pinned}:a)}function B5(e,n){return e.filter(a=>a.key!==n)}function N5(e,n,a){const r=e.filter(c=>c.pinned),s=new Set(r.map(c=>c.key)),i=e.length-r.length,l=[],u=new Set(s);for(const c of n){if(l.length>=i)break;const p=a(c);u.has(p)||(u.add(p),l.push({key:p,value:c,pinned:!1}))}const d=[...l];return e.map(c=>c.pinned?c:d.shift()).filter(c=>c!==void 0)}function D5(e){return e.map(n=>n.value)}function E5(e){const{category:n={},isSelected:a=!1,onClick:r}=e||{},s=n?.key?` icon-grid-menu__button--${n.key}`:"",i=o.useId();return t.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[t.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":n?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:t.jsx(Ke,{icon:n.icon,label:n.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),t.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:n.label})]})}function S5(e){const{categories:n=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,u]=o.useState(()=>i?null:(n&&n[0]?.key)??null),d=i?a:l,c=o.useRef(r);o.useEffect(()=>{c.current=r});const p=o.useRef(!1),m=(n&&n[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const g=l??m;l==null&&u(g),c.current?.(g)},[i,m]);const C=o.useCallback(g=>{const v=d===g?null:g;p.current=!0,i||u(v),r?.(v)},[d,i,r]);return t.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(n||[]).map(g=>t.jsx(E5,{category:g,isSelected:d===g.key,onClick:()=>C(g.key)},g.key))})}function j5({subs:e=[],selected:n,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return t.jsx("div",{className:`choice-chips choice-chips--${r}`,children:t.jsx("div",{className:"choice-chips__list",children:e.map(i=>t.jsx(de,{htmlType:"button",size:s,type:"bar",label:i.label,selected:n===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function T5({onTermsClick:e,onPrivacyClick:n,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=be.useTranslation();return t.jsx("footer",{className:"site-footer",children:t.jsxs("div",{className:"safearea",children:[t.jsxs("div",{className:"site-footer__top",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1045
|
+
</html>`}const t5=1e3;function Eo({getElements:e,paperW:n,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=be.useTranslation(),u=o.useCallback(()=>{e5(e(),n,a,r,i)},[e,n,a,r,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(Do(p,n,a,!1,r,i)),m.document.close()},[e,n,a,r,s,i]),c=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=Do(p,n,a,!1,r,i),C=new Blob([m],{type:"text/html;charset=utf-8"}),g=URL.createObjectURL(C),v=(r?No(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),f=Object.assign(document.createElement("a"),{href:g,download:`${v}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(g),t5)},[e,n,a,r,i,l]);return{print:u,openNewWindow:d,downloadHtml:c}}function Iu(e,n){const{t:a}=be.useTranslation(),r=n?.paperBands===!0,[s,i]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[d,c]=o.useState("\uD45C\uC2DC"),[p,m]=o.useState(!0),[C,g]=o.useState(!0),[v,f]=o.useState(!0),[y,w]=o.useState(!0),[h,_]=o.useState(8),[b,A]=o.useState("right"),x=e.length,N=e.some(Y=>(Y.words??[]).length>1),B=e.some(Y=>(Y.words??[]).some(te=>!!te.colloquialLabel)),k=Math.min(h,Math.max(x,1)),E=o.useMemo(()=>hu(e,k),[e,k]),S=E.length>1,z=k,[R,q]=o.useState(!1);o.useEffect(()=>{let Y=!1;if(!Xn()){q(!1);return}return Promise.all(e.flatMap(te=>(te.words??[]).map(V=>Qs(V.label,V.homonum)))).then(te=>{Y||q(te.some(Boolean))},()=>{}),()=>{Y=!0}},[e]);const j=o.useMemo(()=>[Au(a,{hasImage:R,hasColloquial:B}),ku(a),...x>0?[ju(a,{hasPairs:N,itemCount:x})]:[],Bu(a),...z>1?[Eu(a)]:[],...N?[Su(a)]:[],...r?[Nu(a),Du(a)]:[]],[a,R,B,x,N,S,z,r]),M={...$u(a,{contentTypes:l,orientation:s,showOutline:p,cutLine:d,showDivLine:y,showTopInfo:C,showBottomInfo:v}),...x>0?{[a(N?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${k}\uAC1C`}:{},...S?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Mu[b]}:{}},O=o.useCallback((Y,te)=>{Ru(a,Y,te,{setContentTypes:u,setOrientation:i,setShowOutline:m,setCutLine:c,setShowDivLine:w,setShowTopInfo:g,setShowBottomInfo:f})||(te===a("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||te===a("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?_(Tu(parseInt(Y),x)):te===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&A(Lu(Y)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:d,showOutline:p,showDivLine:y,count:z,showTopInfo:C,showBottomInfo:v},filterSections:j,filterSelected:M,handleSelect:O,pages:E,isPaginated:S,pageNumberPosition:b}}function n5({items:e,words:n,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:u,footerClassName:d,footerLayout:c,printFileName:p,showSettings:m,autoPrint:C,className:g,onClose:v,scoring:f=!1,onScoreChange:y,printHeader:w,brand:h,code:_,beforeClose:b}){const{t:A}=be.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(n)?n:[]).filter(ie=>typeof ie=="string"&&ie.length>0).map((ie,xe)=>({id:`${ie}-${xe}`,words:[{label:ie}]})),[e,n]),{settings:N,filterSections:B,filterSelected:k,handleSelect:E,pages:S,isPaginated:z,pageNumberPosition:R}=Iu(x,{paperBands:!!h?.show}),q=o.useMemo(()=>mu(S.map(ie=>ie.length)),[S]),[j,M]=o.useState({}),O=o.useCallback((ie,xe)=>{M(W=>({...W,[rr(ie)]:cu(W[rr(ie)]??null,xe)}))},[]),Y=o.useRef(y);o.useEffect(()=>{Y.current=y});const te=o.useRef(j);o.useEffect(()=>{te.current!==j&&(te.current=j,Y.current?.(Ao(j)))},[j]);const V=o.useMemo(()=>Ao(j),[j]),U=o.useRef(null),{toastMessage:P,toastKey:F,showWarning:D,clearToast:H}=ll("warning"),L=o.useRef([]),I=o.useCallback(()=>z?L.current.filter(ie=>ie!==null):U.current?[U.current]:[],[z]),{print:$,openNewWindow:K}=Eo({getElements:I,paperW:ia[N.orientation].width,paperH:ia[N.orientation].height,fileName:p??"",header:w??"",onPopupBlocked:()=>D(A("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),ne=o.useMemo(()=>u?void 0:l?l({print:$,openNewWindow:K}):p?[{label:A("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>K()},{label:A("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>$()},...i??[]]:i,[u,l,p,i,A,$,K]),J=o.useMemo(()=>u?u({print:$,openNewWindow:K}):void 0,[u,$,K]),ae=o.useRef(!1),ue=o.useRef($);return o.useEffect(()=>{ue.current=$},[$]),o.useEffect(()=>{if(!C||ae.current)return;const ie=window.setTimeout(()=>{ae.current=!0,ue.current()},100);return()=>window.clearTimeout(ie)},[C]),t.jsxs(Tn,{title:a??A("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:De("word-table-popup",g),buttons:ne,footer:J,footerClassName:d,footerLayout:c,beforeClose:b,onClose:v,children:[x.length>0?t.jsxs("div",{className:"word-table-popup__body",children:[m&&t.jsx(Bo,{sections:B,selected:k,onSelect:E}),z?t.jsx("div",{className:"word-table-popup__pages",children:S.map((ie,xe)=>t.jsx(la,{items:ie,orientation:N.orientation,contentTypes:N.contentTypes,cutLine:N.cutLine,showOutline:N.showOutline,showDivLine:N.showDivLine,count:N.count,contentRef:W=>{L.current[xe]=W},pageNumber:{current:xe+1,total:S.length},pageNumberPosition:R,brand:h&&{...h,top:N.showTopInfo,bottom:N.showBottomInfo},code:_,scoring:f,scoreIndexOffset:q[xe],marks:V,onMarkClick:O},xe))}):t.jsx("div",{className:"word-table-popup__table",children:t.jsx(la,{items:x,orientation:N.orientation,contentTypes:N.contentTypes,cutLine:N.cutLine,showOutline:N.showOutline,showDivLine:N.showDivLine,count:N.count,contentRef:U,fitHeight:!0,scoring:f,marks:V,onMarkClick:O,brand:h&&{...h,top:N.showTopInfo,bottom:N.showBottomInfo},code:_})})]}):t.jsx("p",{className:"word-table-popup__empty body-3",children:s??A("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsx(ra,{message:P,position:"top",onClose:H},F)]})}const a5=new Set(["x","triangle"]);function r5(e,n){const a=[];for(let r=0;r<e.length;r++){const s=n[String(r)];s&&a5.has(s)&&a.push(e[r])}return a}const o5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Fu(e){const n=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const i=Math.floor(a);if(i===0)return{\uBC14\uD0D5:n,\uD68C\uCC28:1};const l=(i===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${i}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(n);return{\uBC14\uD0D5:l?n.slice(0,l.index).trim():n,\uD68C\uCC28:i+1}}let r=n,s=1;for(;;){const i=o5.exec(r);if(!i)break;s=Math.max(s,(i[1]?Number(i[1]):1)+1),r=r.slice(0,i.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:s}}function s5(e,n){const[,a,r]=Fr(n).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Fu(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function i5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Fu(e).\uD68C\uCC28}}function l5(e,n){const a={};for(const[r,s]of Object.entries(n)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function u5(e){return e.map(n=>n.label).join(" / ")}function c5(e){return e.map(n=>n.homonum!=null?`${n.label}#${n.homonum}`:n.label).join(" / ")}function Ou(e){return e.split(" / ").map(n=>n.replace(/#\d+$/,"")).join(" / ")}function d5(e,n,a){const r=ci(a);return[e.trim(),r,n.trim()].filter(Boolean).join(" \xB7 ")}function Hu(e,n,a){return a===0?0:(e+n*.5)/a}function p5(e){const n=new Map,a=[...e].sort((s,i)=>s.scoredAt.localeCompare(i.scoredAt));for(const s of a)for(const[i,l]of Object.entries(s.marks)){const u=s.labels?.[i];if(!u)continue;const d=n.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")d.o++;else if(l==="triangle")d.triangle++;else if(l==="x")d.x++;else continue;d.latest=l,d.latestAt=s.scoredAt,n.set(u,d)}const r=[];for(const[s,i]of n){const l=i.o+i.triangle+i.x;r.push({label:Ou(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Hu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||aa(s.label,i.label)||aa(s.key??s.label,i.key??i.label)),r}function m5(e){const n=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=n.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),n.set(s,i)}const a=[];for(const r of n.values()){const s=u=>Object.values(u.marks).filter(d=>d==="o"||d==="triangle"||d==="x").length,i=r.rows.filter(u=>s(u)>0).sort((u,d)=>u.scoredAt.localeCompare(d.scoredAt));if(i.length===0)continue;const l=i.map(u=>{const d=Object.values(u.marks),c=d.filter(m=>m==="o").length,p=d.filter(m=>m==="triangle").length;return Hu(c,p,s(u))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(u=>u.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,s)=>(s.times[s.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function h5(e,n=8){return e.filter(a=>a.latest!=="o").slice(0,n)}function C5(e,n){if(e==null||n==null||e===""||n==="")return 0;if(typeof e=="number"&&typeof n=="number")return e-n;const a=String(e),r=String(n);return+(a>r)-+(a<r)}function f5(e){const n=new Map;let a=0,r=0;const s=e.map((l,u)=>({r:l,\uC790\uB9AC:u})).sort((l,u)=>l.r.answeredAt.localeCompare(u.r.answeredAt)||C5(l.r.id,u.r.id)||l.\uC790\uB9AC-u.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const u=l.itemTitle?.trim();if(!u){r++;continue}a++;const d=l.itemId?.trim()||u,c=`${l.trainingType}|${d}`,p=n.get(c)??{trainingType:l.trainingType,itemId:d,title:u,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=u,p.latestCorrect=l.isCorrect,p.latestAt=l.answeredAt,p.lastSelected=l.selected,l.setId){const m=p.setIds.indexOf(l.setId);m>0&&p.setIds.splice(m,1),m!==0&&p.setIds.unshift(l.setId)}n.set(c,p)}const i=[...n.entries()].map(([l,u])=>({key:l,trainingType:u.trainingType,itemId:u.itemId,title:u.title,tried:u.tried,wrong:u.wrong,rate:u.tried===0?0:(u.tried-u.wrong)/u.tried,latestCorrect:u.latestCorrect,latestAt:u.latestAt,lastSelected:u.lastSelected,setIds:u.setIds}));return i.sort((l,u)=>l.rate-u.rate||u.tried-l.tried||aa(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function g5(e,n=8){return e.filter(a=>!a.latestCorrect).slice(0,n)}function b5(e){const n=new Map;for(const r of e){const s=n.get(r.trainingType)??[];s.push(r),n.set(r.trainingType,s)}const a=[...n.entries()].map(([r,s])=>({trainingType:r,items:s,pending:s.filter(i=>!i.latestCorrect).length}));return a.sort((r,s)=>s.pending-r.pending||r.trainingType.localeCompare(s.trainingType)),a}const So=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function y5(e){const n=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const u=`${i.trainingType}|${l}`,d=n.get(u)??{setId:l,trainingType:i.trainingType,pending:0};d.pending++,n.set(u,d)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...n.values()];return{sentence:s.filter(i=>So.includes(i.trainingType)).sort(r),word:s.filter(i=>!So.includes(i.trainingType)).sort(r),noSet:a}}function v5(e,n,a=5){const r=new Set(n);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,u=[];for(const d of i.cellLabels)r.has(d)&&!l.has(d)&&(l.add(d),u.push(d));u.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:u,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||aa(i.name,l.name)),s.slice(0,Math.max(0,a))}function x5(e,n){const a=new Set(e.flatMap(r=>r.covered));return n.filter(r=>!a.has(r))}function _5(e,n){const a=new Map;for(const s of e)for(const i of s.cells){const l=s.labelOf(i);a.has(l)||a.set(l,i)}const r=[];for(const s of n){const i=a.get(s);i!==void 0&&r.push(i)}return r}function jo(e,n,a){return typeof e=="string"&&e?e:n.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function w5(e,n){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return n?n(r,s):r>0&&s>0?jo(Et.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?jo(Et.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):jo(Et.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function A5(e,n){const a=[],r=new Set;for(const s of e){const i=n(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function k5(e,n){return e.map(a=>a.key===n?{...a,pinned:!a.pinned}:a)}function B5(e,n){return e.filter(a=>a.key!==n)}function N5(e,n,a){const r=e.filter(c=>c.pinned),s=new Set(r.map(c=>c.key)),i=e.length-r.length,l=[],u=new Set(s);for(const c of n){if(l.length>=i)break;const p=a(c);u.has(p)||(u.add(p),l.push({key:p,value:c,pinned:!1}))}const d=[...l];return e.map(c=>c.pinned?c:d.shift()).filter(c=>c!==void 0)}function D5(e){return e.map(n=>n.value)}function E5(e){const{category:n={},isSelected:a=!1,onClick:r}=e||{},s=n?.key?` icon-grid-menu__button--${n.key}`:"",i=o.useId();return t.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[t.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":n?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:t.jsx(Ke,{icon:n.icon,label:n.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),t.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:n.label})]})}function S5(e){const{categories:n=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,u]=o.useState(()=>i?null:(n&&n[0]?.key)??null),d=i?a:l,c=o.useRef(r);o.useEffect(()=>{c.current=r});const p=o.useRef(!1),m=(n&&n[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const g=l??m;l==null&&u(g),c.current?.(g)},[i,m]);const C=o.useCallback(g=>{const v=d===g?null:g;p.current=!0,i||u(v),r?.(v)},[d,i,r]);return t.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(n||[]).map(g=>t.jsx(E5,{category:g,isSelected:d===g.key,onClick:()=>C(g.key)},g.key))})}function j5({subs:e=[],selected:n,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return t.jsx("div",{className:`choice-chips choice-chips--${r}`,children:t.jsx("div",{className:"choice-chips__list",children:e.map(i=>t.jsx(de,{htmlType:"button",size:s,type:"bar",label:i.label,selected:n===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function T5({onTermsClick:e,onPrivacyClick:n,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=be.useTranslation();return t.jsx("footer",{className:"site-footer",children:t.jsxs("div",{className:"safearea",children:[t.jsxs("div",{className:"site-footer__top",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1046
1046
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
1047
1047
|
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
|
|
1048
|
-
`).map((l,u,d)=>t.jsxs(o.Fragment,{children:[l,u<d.length-1&&t.jsx("br",{})]},u))})}),t.jsxs("div",{className:"site-footer__links",children:[t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{n&&(l.preventDefault(),n())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),t.jsx("hr",{className:"site-footer__rule"}),t.jsxs("div",{className:"site-footer__bottom",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("img",{src:oo,alt:"IHAB",className:"site-footer__logo"})}),t.jsxs("div",{className:"site-footer__meta",children:[t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),t.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),t.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),t.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),t.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function M5({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:d}){const{t:c}=be.useTranslation(),p=d??{open:c("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:c("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,C]=o.useState(!1),g=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!m)return;const w=zn(()=>{const b=document.getElementById(g);b&&b.contains(document.activeElement)&&v.current?.focus(),C(!1)}),h=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,_=b=>{b.matches&&C(!1)};return h&&(h.matches&&C(!1),h.addEventListener?.("change",_)),()=>{w(),h?.removeEventListener?.("change",_)}},[m,g]);const f=l?`${l} landing-header__inner`:"landing-header__inner",y=(w,h)=>u?u(w,{onClick:h}):t.jsx("a",{href:w.href,onClick:h,"aria-current":w.current?"page":void 0,children:w.label});return t.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[t.jsxs("div",{className:f,children:[e!=null&&(()=>{const w=typeof e=="string"?t.jsx("img",{src:e,alt:n,className:"landing-header__logo"}):e;return a?t.jsx("a",{href:a,className:"landing-header__brand",children:w}):t.jsx("div",{className:"landing-header__brand",children:w})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map((w,h)=>t.jsx("span",{children:y(w)},`${h}:${w.href}`))}),t.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&t.jsx("button",{ref:v,type:"button",onClick:()=>C(w=>!w),"aria-expanded":m,"aria-controls":g,"aria-label":m?p.close:p.open,className:m?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:t.jsxs("span",{className:"landing-header__burger",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]})})]})]}),r.length>0&&t.jsx("nav",{id:g,hidden:!m,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map((w,h)=>t.jsx("span",{className:"landing-header__drawer-item",children:y(w,()=>C(!1))},`${h}:${w.href}`))})})]})}function L5({children:e,action:n,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return t.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:t.jsxs("div",{className:s,onClick:a,...iu(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const ca=9,$5=e=>Math.round(Math.min(ca,Math.max(0,e))/ca*100),R5=e=>e/100*ca,La=2,zu=.1,P5=e=>Math.min(La,Math.max(0,e)),I5=.1,F5=e=>Math.round(e*1e6)/1e6;function $a(e){const{noiseRatio:n}=e;if(typeof n=="number"&&Number.isFinite(n))return P5(n);const a=Math.min(ca,Math.max(0,Number(e.level)||0))/ca,r=Number(e.mainVolume);return r>0?a>0?F5(Math.min(La,Math.max(I5,a/r))):0:1}const Vu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Wu(e){return Vu(e)}function To(e){return Vu(e)*$a(e)}function Mo(e,n=Gs()){const a=Number.isFinite(n)&&n>0?n:1;return Math.min(1,To(e)/a)}function Ra(e,n){const a={...e,...n??{}};return n&&"level"in n&&typeof n.noiseRatio!="number"&&(a.noiseRatio=$a({level:a.level,mainVolume:a.mainVolume})),a}const Pa={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Lo=o.createContext(null);function ir(){return o.useContext(Lo)}const $o=e=>`${Q0()}/${e}`,qu=e=>Array.from({length:10},(n,a)=>$o(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),lr={get defaultNoise(){return $o("noise1.mp3")},get street(){return qu("noise2")},get restaurant(){return qu("noise3")},get buzz(){return $o("noise4.mp3")}};function O5(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return lr.defaultNoise;case"street":return lr.street[n];case"restaurant":return lr.restaurant[n];case"buzz":return lr.buzz;default:return null}}function H5({noisePlayer:e,audioRef:n,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),u=o.useRef(null),d=o.useRef(null),c=o.useRef(null),p=o.useRef(null),m=o.useRef(0),C=o.useRef(null),g=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null)},[]),v=o.useCallback((_,b=250)=>{const A=s.current;if(!A)return;const x=d.current;if(x){d.current=null;try{A.pause()}catch{}A.src=x,A.load()}if(!A.src)return;m.current+=1,g();try{Tr(),Oa(A).then(E=>{if(s.current===A)try{r.current?.("noise",E)}catch{}})}catch{}const N=A.paused?0:Ha(A);A.paused&&Sn(A,0),A.play().catch(()=>{});const B=performance.now(),k=()=>{const E=Math.min(1,(performance.now()-B)/b);try{Sn(A,N+(_-N)*E)}catch{}E<1?p.current=requestAnimationFrame(k):p.current=null};p.current=requestAnimationFrame(k)},[g]),f=o.useCallback((_=250,b)=>{const A=s.current;if(!A||A.paused){b?.();return}const x=++m.current;g();const N=performance.now(),B=Ha(A),k=()=>{const E=Math.min(1,(performance.now()-N)/_);try{Sn(A,B*(1-E))}catch{}if(E<1)p.current=requestAnimationFrame(k);else{p.current=null,C.current!==null&&(clearTimeout(C.current),C.current=null);try{A.pause()}catch{}b?.()}};p.current=requestAnimationFrame(k),C.current=setTimeout(()=>{if(C.current=null,m.current===x){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(Sn(A,0),A.pause(),b?.())}catch{}}},_+150)},[g]);o.useEffect(()=>{const _=document.createElement("audio");return _.loop=!0,_.crossOrigin="anonymous",s.current=_,()=>{g();try{_.pause(),_.src=""}catch{}s.current=null,u.current=null,d.current=null}},[g]);const y=e?Mo(e.settings):0,w=!!e?.settings.enabled&&y>0;o.useEffect(()=>{if(!w)return;let _=0;const b=setInterval(()=>{const A=s.current;if(!A||A.paused){_=0;return}const x=n.current;if(x&&!x.paused&&!x.ended||a.current==="playing"){_=0;return}_+=1,_>=2&&(_=0,f())},400);return()=>clearInterval(b)},[f,w,n,a]),o.useEffect(()=>{const _=()=>{const b=s.current;if(document.hidden){if(b&&!b.paused){g();try{b.pause()}catch{}}return}if(!b||!b.paused)return;const A=n.current,x=!!A&&!A.paused&&!A.ended||a.current==="playing",N=c.current;x&&N?.enabled&&N.volume>0&&v(N.volume)};return document.addEventListener("visibilitychange",_),()=>document.removeEventListener("visibilitychange",_)},[g,v,n,a]),o.useEffect(()=>{c.current=e?{enabled:e.settings.enabled,volume:y,type:e.settings.type}:null},[e,e?.settings.enabled,y,e?.settings.type]);const h=o.useRef(null);return o.useEffect(()=>()=>{h.current?.(),h.current=null},[]),o.useEffect(()=>{const _=e?.settings,b=s.current;if(!b)return;const A=_?Mo(_):0;if(!_||!_.enabled||A===0){f();return}if(u.current!==_.type){const x=O5(_.type);x&&(u.current=_.type,l(x),d.current=x,f(150,()=>{if(d.current!==x)return;d.current=null,b.src=x,b.load();const N=n.current;if(N&&!N.paused){h.current?.();const B=()=>{b.removeEventListener("canplay",B),h.current===k&&(h.current=null);const E=n.current,S=c.current;E&&!E.paused&&!E.ended&&S?.enabled&&S.volume>0&&v(S.volume)},k=()=>b.removeEventListener("canplay",B);h.current=k,b.addEventListener("canplay",B)}}))}else{const x=n.current,N=!!x&&!x.paused&&!x.ended||a.current==="playing";if(N&&d.current)v(A);else if(N&&b.paused&&b.src)v(A);else if(!b.paused)if(!N)f();else{g();const B=Ha(b),k=performance.now(),E=()=>{const S=Math.min(1,(performance.now()-k)/150);try{Sn(b,B+(A-B)*S)}catch{}S<1?p.current=requestAnimationFrame(E):p.current=null};p.current=requestAnimationFrame(E)}}},[e?.settings,e?.settings.enabled,y,e?.settings.type,g,v,f,n,a,c]),o.useEffect(()=>{const _=s.current;if(_)try{_.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:c,cancelNoiseFade:g,fadeInNoise:v,fadeOutNoise:f}}function z5({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:u,fadeInNoise:d,fadeOutNoise:c,noiseSettingsRef:p,onDoneRef:m,handleEndRef:C}){const g=o.useRef(null),v=o.useRef(0),f=o.useRef(null),y=o.useRef(0),w=o.useRef(!1);o.useEffect(()=>()=>{y.current++;try{if(f.current&&(cancelAnimationFrame(f.current),f.current=null),w.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}w.current=!1}}catch{}},[]);const h=(A,x=1)=>{try{const N=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(N*300/Math.max(.25,x)))}catch{return 1200}},_=o.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const x=window.speechSynthesis,N=++y.current;try{try{x.cancel()}catch{}const B=A??e,k=Array.isArray(B)?B.filter(j=>!!j):[B||""];k.length===0&&k.push("");const E=Math.max(.3,Math.min(3,n));v.current=k.reduce((j,L)=>j+h(L,E||1),0),g.current=performance.now(),i(0),l("playing"),u("playMode");const S=p.current;S?.enabled&&(S?.volume??0)>0&&d(S.volume);const z=()=>{try{const j=g.current||performance.now(),L=performance.now()-j,F=v.current||1200,K=Math.min(1,L/F);try{r.current&&(r.current.style.left=`${K*100}%`),s.current&&s.current.style.setProperty("--progress",String(K))}catch{}K<1&&(f.current=requestAnimationFrame(z))}catch{}},R=()=>{if(N===y.current)try{f.current&&(cancelAnimationFrame(f.current),f.current=null),i(1),l("stopped");try{C.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},U=j=>{const L=new SpeechSynthesisUtterance(k[j]);try{L.rate=E}catch{}try{L.volume=Math.max(0,Math.min(1,a))}catch{}L.onend=()=>{if(N===y.current){if(j<k.length-1){try{U(j+1)}catch{R()}return}R()}},L.onerror=()=>{R()},L.onstart=()=>{if(!(j>0))try{f.current&&(cancelAnimationFrame(f.current),f.current=null),f.current=requestAnimationFrame(z)}catch{}},w.current=!0,x.speak(L)};try{U(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,n,a,d,r,s,i,l,u,p,m,C]),b=o.useCallback(()=>{y.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}f.current&&(cancelAnimationFrame(f.current),f.current=null),c(),g.current=null}catch{}l("stopped"),u("active"),i(0)},[c,l,u,i]);return{startTTS:_,stopTTS:b}}async function V5(e,n,a){let r=null;try{const s=window.AudioContext||window.webkitAudioContext;r=new s;const i=await r.decodeAudioData(e.slice(0)),l=i.numberOfChannels>0?i.getChannelData(0):null;if(!l)return null;const u=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,d=Math.max(n,u),c=Math.floor(d/n)||1;return new Array(n).fill(0).map((p,m)=>{const C=m*c,g=Math.min(C+c,d);let v=0;for(let f=C;f<g;f++){const y=Math.abs(l[f]);y>v&&(v=y)}return v})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Uu(e,n,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await V5(s,n,a)}catch(r){try{const s=ai(r)}catch{}return null}}const Gu=45,W5=74,q5=2;function Ia(e){const n=Math.min(2,Math.max(0,Number(e)||0));return n<=1?n*45:45+(n-1)*29}function Ro(e){return Ia(e)/45}const Ku=4;function U5(e){const{src:n,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:d=0,mainVolume:c=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,C=o.useRef(null),g=o.useRef(null),[v,f]=o.useState(null),[y,w]=o.useState(!1),[h,_]=o.useState(null),[b,A]=o.useState(2),[x,N]=o.useState(0),[B,k]=o.useState(null),[E,S]=o.useState(!1),[z,R]=o.useState(!1),U=3,j=3,L=1,F=300,K=o.useRef(0),te=o.useCallback(()=>{const xe=C.current,W=g&&g.current?g.current:xe?xe.closest(".audio-player__wave"):null,Q=W?W.getBoundingClientRect():xe?xe.getBoundingClientRect():null,se=Q?Q.width:0,ke=Q?Math.max(100,Q.width):320,me=Q?Q.height:0,re=Math.max(L,Math.min(F,Math.floor((ke+j)/(U+j)))),Ce=re*U,ge=Math.max(0,re-1),Ee=Math.max(0,ge>0?(ke-Ce)/ge:j);return{bars:re,gap:Ee,height:me,width:se}},[]),V=o.useRef(void 0),I=o.useRef(null),q=o.useCallback(async(xe,W,{quiet:Q=!1}={})=>{const se=++K.current,ke=()=>K.current===se;try{if(Q||w(!1),V.current=xe,!xe){ke()&&f(null);return}let me=W;if(!me)try{for(let ge=0;ge<4&&!(C.current||g.current);ge++)await new Promise(Ee=>requestAnimationFrame(Ee));await new Promise(ge=>requestAnimationFrame(ge));const Ce=te();Ce.height>0&&N(Ce.height),me=Ce.bars,A(Ce.gap)}catch{me=120}I.current=me;const re=await Uu(xe,me);if(!ke())return;if(!re){f(null),w(!1);return}f(re),_(me),w(!0)}catch{if(!ke())return;f(null),w(!1)}},[w,f,N,A,_,te]);o.useEffect(()=>{const xe=g.current;if(!xe||typeof ResizeObserver>"u")return;let W=null;const Q=new ResizeObserver(()=>{W!==null&&cancelAnimationFrame(W),W=requestAnimationFrame(()=>{W=null;try{const se=te();if(se.width<=0||(se.height>0&&N(se.height),I.current===null||se.bars===I.current))return;const ke=V.current;A(se.gap),ke?q(ke,se.bars,{quiet:!0}).catch(()=>{}):I.current=se.bars}catch{}})});return Q.observe(xe),()=>{Q.disconnect(),W!==null&&cancelAnimationFrame(W)}},[te,q]),o.useEffect(()=>{const xe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;q(typeof xe=="string"?xe:void 0).catch(()=>{}),R(!1)},[n,a,q]),o.useEffect(()=>{let xe=!1;if(S(!1),!i||!h){k(null);return}const W=d>0?d*(u||1):void 0;return Uu(i,h,W).then(Q=>{xe||(k(Q),Q||S(!0))}).catch(()=>{xe||(k(null),S(!0))}),()=>{xe=!0}},[i,h,d,u]);const H=Math.max(0,Math.min(1,c)),D=o.useMemo(()=>v&&v.length&&Math.max(...v)||1,[v]),O=h||40,M=o.useMemo(()=>Array.from({length:O}).map((xe,W)=>{const Q=v&&v[W]!=null?v[W]:null,se=Q==null?null:Math.min(1,Q/D*H),ke=se!=null&&x>0&&Ia(se)<=Ku,me=se==null?.15:ke?0:Ro(se),re=O>1?W/(O-1):0;return t.jsx("div",{className:ke?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":me,"--i":W,"--mix":re}},W)}),[O,v,D,H,x]),P={"--progress":String(Math.max(0,Math.min(1,r)))},$=i?Math.max(1,l):1,Y={"--bar-gap":`${b}px`,"--wave-h":`${Ia($)}px`,"--wave-h1":`${Gu}px`},ne=H*Math.max(0,l)/Gs(),J=y&&(i?!!B||E:!0);o.useEffect(()=>{J&&R(!0)},[J]);const ae=z?y:J;o.useEffect(()=>{p?.(ae)},[ae,p]);const ue=h||40,ie=o.useMemo(()=>Array.from({length:ue}).map((xe,W)=>{const Q=B&&B[W]!=null?B[W]:null,se=Q==null?0:Q/D*ne,ke=x>0&&Ia(se)<=Ku,me=ke?0:Ro(se),re=ue>1?W/(ue-1):0;return t.jsx("div",{className:ke?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":me,"--i":W,"--mix":re}},W)}),[ue,B,D,ne,x]);return t.jsxs("div",{className:"audio-player__wave",ref:g,style:Y,children:[i&&t.jsx("div",{className:`audio-player__wave-noise ${J?"is-ready":""}`,"aria-hidden":"true",children:ie}),m&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ae?"is-ready":""}`,ref:C,children:M}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ae?"is-ready":""}`,ref:s,style:P,children:M})]})]})}const G5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function Po(e,n){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},u=()=>{if(i)return;i=!0;const c=isFinite(s.duration)&&s.duration||0;l(),a(c)},d=c=>{i||(i=!0,l(),n.rejectOnError?r(new Error(c)):a(0))};s.addEventListener("loadedmetadata",u),s.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),n.timeoutMs),s.src=e})}const K5=2e3;function Yu(e,n=K5){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.addEventListener("canplay",s,{once:!0}),e.addEventListener("error",s,{once:!0}),setTimeout(s,n)})}function Y5({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(d=>{if(r.current=d,!d||!s.current.length)return;const c=s.current;s.current=[];for(const p of c)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!n||r.current?Promise.resolve(!0):new Promise(d=>{const c=m=>{clearTimeout(p),s.current=s.current.filter(C=>C!==c),d(m)},p=setTimeout(()=>c(!0),a);s.current.push(c)}),[e,n,a]);return o.useEffect(()=>()=>{const d=s.current;s.current=[];for(const c of d)c(!1)},[]),{onReadyChange:i,waitForReady:u,markNotReady:l}}function Z5(){const e=o.useRef([]),n=o.useCallback(s=>(e.current.push(s),s),[]),a=o.useCallback(s=>{const i=new Set([...s].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const s of e.current)try{URL.revokeObjectURL(s)}catch{}e.current=[]},[]),{track:n,keepOnly:a,revokeAll:r}}function X5({offsetY:e=8}={}){const n=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=n.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a,s]),{ref:n,rect:a,show:i,hide:s}}function J5({currentTime:e,sources:n,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(n)&&n.length>0?n[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const u=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,u/l))}function Q5(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function e3({ended:e,completedByEnd:n}){return!!e||!!n}function t3(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function n3(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function a3(e,n,a){const r=Array.isArray(e)?e:e?[e]:[],s=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const l=i;s.push({code:l.code??null,src:l.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){s.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const l=String(i),u=a(l,n);u&&s.push({code:l,resolvedPath:u})}}return s}function r3(e){if(!e)return 0;const n=e.duration;if(Number.isFinite(n)&&n>0)return n;if(n===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}function o3({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),u=o.useCallback(()=>{if(i.current!==null)return;const c=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,C=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:r3(p),g=n.current;if(C===null)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const v=J5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:C});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${v*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(v))}catch{}}}catch{}i.current=requestAnimationFrame(c)};i.current=requestAnimationFrame(c)},[e,n,a,r,s]),d=o.useCallback(c=>{l();try{n.current&&(n.current.style.visibility="",n.current.style.left=`${c*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(c))}catch{}},[l,n,a]);return o.useEffect(()=>l,[l]),{start:u,stop:l,settleTo:d}}function Io({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:d=!0}){const{t:c}=be.useTranslation(),p=e,m=ir(),C=o.useRef(m?.registerAnalyser);o.useEffect(()=>{C.current=m?.registerAnalyser});const g=o.useRef(null),v=o.useRef(null),f=o.useRef(null),y=Z5(),w=o.useRef(null),h=o.useRef(!1),_=o.useRef(0),b=o.useRef(null),{ref:A,rect:x,show:N,hide:B}=X5();o.useEffect(()=>()=>{C.current?.("main",null),C.current?.("noise",null)},[]);const[k,E]=o.useState(!1),[S,z]=o.useState("idle"),[R,U]=o.useState("stopped"),j=o.useRef("stopped");o.useEffect(()=>{j.current=R},[R]);const[L,F]=o.useState(0),[K,te]=o.useState("active"),V=o.useRef(!1);o.useEffect(()=>{if(K!=="playMode"||!V.current)return;V.current=!1;const G=typeof document<"u"?document.activeElement:null;if(G&&G!==document.body)return;const le=f.current?.querySelectorAll("button")[1];try{le?.focus()}catch{}},[K]);const[I,q]=o.useState(null),[H,D]=o.useState(null),[O,M]=o.useState(0),[P,$]=o.useState(!1),[Y,ne]=o.useState(0),J=m?.playbackRate??1,ae=m?.mainVolume??1,ue=m?To(m.settings):0,ie=m?Wu(m.settings):ae,[xe,W]=o.useState("idle"),[Q,se]=o.useState(""),[ke]=o.useState("top"),me=o.useRef(null),re=o.useRef(0),Ce=o.useRef(null),{start:ge,stop:Ee,settleTo:Re}=o3({audioRef:g,fillRef:v,waveProgressRef:Ce,sourcesRef:me,currentIndexRef:re}),{onReadyChange:Le,waitForReady:Je,markNotReady:Qe}=Y5({showSoundWaveForm:u,showNoiseWaveForm:d}),qe=o.useRef(null),Fe=o.useRef(s),st=o.useRef(r),et=o.useRef(null),Ye=o.useRef(!1),[Se,Ae]=o.useState(!1),ee=o.useCallback(G=>{Ye.current=G,Ae(G)},[]),fe=o.useRef(null),{activeNoiseUrl:ze,noiseSettingsRef:Be,fadeInNoise:je,fadeOutNoise:pe}=H5({noisePlayer:m,audioRef:g,playbackStateRef:j}),{startTTS:$e,stopTTS:nt}=z5({ttsText:i,playbackRate:J,mainVolume:ie,fillRef:v,waveProgressRef:Ce,setProgress:F,setPlaybackState:U,setStateLocal:te,fadeInNoise:je,fadeOutNoise:pe,noiseSettingsRef:Be,onDoneRef:st,handleEndRef:fe});o.useEffect(()=>{it.current=nt});const _t=G=>{if(typeof window>"u"||!window.speechSynthesis){try{se(c("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}$e(G);return}Bt("tts"),$e(G)},kt=Array.isArray(n)?n.filter(Boolean):n?[n]:[],dt=(!kt||kt.length===0)&&!!i,Ze=Array.isArray(I)&&I.length>0?I:Array.isArray(H)&&H.length>0?H:null,We=Math.max(Array.isArray(Ze)?Ze.length:0,kt.length),Pe=o.useRef(!0);o.useEffect(()=>(Pe.current=!0,()=>{Pe.current=!1}),[]);const Xe=o.useRef(0),Oe=()=>{Xe.current+=1,_.current+=1},it=o.useRef(null),Ge=o.useRef(null),ft=o.useRef(null),jt=o.useRef(null);jt.current||(jt.current=()=>{ft.current=null;const G=g.current;if(Ge.current==="audio"&&G&&!G.paused){Xe.current+=1,_.current+=1;try{G.pause()}catch{}Pe.current&&U("paused")}else if(Ge.current==="tts")try{it.current?.()}catch{}});const Bt=G=>{Ge.current=G,ft.current=Xa(jt.current)},mt=()=>{ft.current?.(),ft.current=null};o.useEffect(()=>()=>{jt.current&&Ja(jt.current)},[]);const lt=o.useCallback(async(G,le=3,ce=50)=>{const ve=Xe.current;for(let _e=0;_e<le;_e++){if(!Pe.current||ve!==Xe.current)return!1;try{return Bt("audio"),await G.play(),!0}catch(Te){if((Te instanceof Error||typeof Te=="object"&&Te&&"name"in Te?Te.name:void 0)==="AbortError"){if(ve!==Xe.current)return!1;await new Promise(rt=>setTimeout(rt,ce));continue}try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[c]),He=o.useCallback(()=>{const G=g.current;if(!G)return;const le=()=>{U("playing"),te("playMode"),$(!0),ge();try{Tr(),Oa(G).then(Te=>{if(Pe.current)try{C.current?.("main",Te)}catch{}})}catch{}const _e=Be.current;_e?.enabled&&(_e?.volume??0)>0&&je(_e.volume)},ce=()=>{e3({ended:!!G?.ended,completedByEnd:Ye.current})||(U("paused"),Ee(),pe())},ve=()=>{try{const _e=me.current,Te=Q5(_e,re.current);if(Te!==null){re.current=Te,M(Te),$(!0);const rt=_e?.[Te]&&_e[Te].src;if(rt&&G){G.src=rt,G.load(),lt(G).catch(()=>{});return}}}catch{}U("stopped"),F(1);try{if(G)try{G.currentTime=0}catch{}}catch{}Ee(),$(!1),pe();try{!Fe.current&&fe.current&&fe.current()}catch{}};return G.addEventListener("play",le),G.addEventListener("pause",ce),G.addEventListener("ended",ve),()=>{try{G.removeEventListener("play",le),G.removeEventListener("pause",ce),G.removeEventListener("ended",ve),Ee()}catch{}}},[je,pe,lt,Be,ge,Ee]);o.useEffect(()=>He(),[He]),o.useEffect(()=>{Fe.current=s},[s]),o.useEffect(()=>{st.current=r},[r]),o.useEffect(()=>{if(s||K!=="active")return;const G=b.current;if(!G)return;let le=null;const ce=requestAnimationFrame(()=>{try{const ve=G.getTotalLength();if(!ve)return;const _e=ve*.2;G.style.strokeDasharray=`${ve-_e} ${_e}`;const Te="triFlow_"+Math.random().toString(36).slice(2);le=document.createElement("style"),le.textContent=`@keyframes ${Te}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ve}}}`,document.head.appendChild(le),G.style.animation=`${Te} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ce),le?.remove()}},[K,s]),o.useEffect(()=>{me.current=I},[I]),o.useEffect(()=>{re.current=O},[O]),o.useEffect(()=>{const G=f.current,le=w.current;if(!G||!le)return;let ce=null;const ve=32,_e=60,Te=()=>{try{const gt=Array.from(G.querySelectorAll(":scope > .button"));let ut=0;gt.forEach(Ne=>{if(Ne===le)return;const Ve=Ne.getBoundingClientRect();ut+=Ve.width});const vt=G.getBoundingClientRect().width,Rt=Math.max(0,Math.floor(vt-ut-8)),Lt=We;if(!Lt||Rt<=0){Array.from(le.children).forEach(Ne=>{try{Ne.style.width=""}catch{}});return}let nn=Math.floor(Rt/Lt);nn>_e&&(nn=_e),nn<ve&&(nn=Math.max(ve,Math.floor(Rt/Lt))),Array.from(le.querySelectorAll(".button")).forEach(Ne=>{try{Ne.style.width=`${nn}px`}catch{}})}catch{}},rt=requestAnimationFrame(Te);try{ce=new ResizeObserver(()=>{requestAnimationFrame(Te)}),ce.observe(G),ce.observe(le),window.addEventListener("resize",Te)}catch{}return()=>{try{cancelAnimationFrame(rt)}catch{}try{ce&&(ce.disconnect(),ce=null)}catch{}try{window.removeEventListener("resize",Te)}catch{}}},[I,H,We]),o.useEffect(()=>()=>{try{qe.current&&(clearTimeout(qe.current),qe.current=null),et.current&&(clearTimeout(et.current),et.current=null)}catch{}},[]);const at=(G,le)=>{q(G),ne(le),Qe(),D(t3(G)),me.current=G},ht=async(G,le)=>{ee(!1),h.current=!1,G.src=le,G.load(),await Yu(G),await Je()!==!1&&(E(!1),await lt(G),te("playMode"),M(0),$(!0))},Ot=async(G,le=!1)=>{const ce=g.current;E(!0),z("measuring_duration");try{const ve=await Po(G,{timeoutMs:1e4,rejectOnError:!0});at([{src:G,objectUrl:null,duration:ve}],ve),z("ready"),le&&ce&&await ht(ce,G)}finally{h.current=!1,E(!1)}},tt=async(G,le=!1)=>{const ce=g.current;E(!0),z("measuring_duration");try{const ve=await Promise.all(G.map(Te=>Po(Te,{timeoutMs:1e4})));if(!Pe.current)return;const _e=G.map((Te,rt)=>({src:Te,objectUrl:null,duration:ve[rt]||0}));at(_e,n3(_e)),z("ready"),le&&ce&&_e.length>0&&await ht(ce,_e[0].src)}finally{h.current=!1,E(!1)}},Tt=async(G=!1,le=!0)=>{const ce=g.current,ve=n?Array.isArray(n)?n:[n]:[];if(!ve||ve.length===0||!ve.some(Boolean))return!1;if(h.current)return null;h.current=!0,le&&E(!0),z("resolving");try{const _e=a3(n,a,Ws),Te=[];let rt=0;for(const gt of _e){let ut=gt.src??null,vt=null;if(!ut&>.resolvedPath){try{z("getting_signed_url"),ut=await qs(gt.resolvedPath)}catch{ut=null}if(!Pe.current)return!1;if(!ut)try{z("downloading");const Lt=await Us(gt.resolvedPath);if(!Pe.current)return!1;if(Lt){const nn=Lt instanceof Blob?Lt:new Blob([Lt]);vt=y.track(URL.createObjectURL(nn)),ut=vt}}catch{z("error");try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),te("active")}catch{}}}if(!ut)continue;let Rt=0;try{z("measuring_duration"),Rt=await Po(ut,{timeoutMs:3e3})}catch{Rt=0}if(!Pe.current){if(vt)try{URL.revokeObjectURL(vt)}catch{}for(const Lt of Te)if(Lt.objectUrl)try{URL.revokeObjectURL(Lt.objectUrl)}catch{}return!1}rt+=Rt||0,Te.push({...gt,src:ut,objectUrl:vt,duration:Rt})}if(at(Te,rt),Te.length>0&&G&&ce){const gt=Te[0];ee(!1);try{y.keepOnly(Te.map(ut=>ut.objectUrl))}catch{}if(z("ready"),h.current=!1,gt.src&&ce)try{if(ce.src=gt.src,ce.load(),await Yu(ce),await Je()===!1)return!1;le&&E(!1),ce&&await lt(ce)}catch{le&&E(!1)}else le&&E(!1);te("playMode"),M(0),$(!0)}return Te.length>0}finally{h.current=!1,le&&E(!1),z(_e=>_e==="ready"?"ready":"idle")}},Yt=async()=>{const G=g.current;if(!(!G&&!dt)){if(dt){const le=window.speechSynthesis;if(K==="active"){const ce=Er(),ve=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ce&&ve.length>0){te("load"),E(!0),z("resolving"),h.current=!0;try{const _e=await Promise.all(ve.map(Te=>Promise.resolve(ce(Te))));_e.length>1?await tt(_e,!0):await Ot(_e[0],!0)}catch{h.current=!1,E(!1),te("active"),_t(ve.length>0?ve:void 0)}return}_t(ve.length>0?ve:void 0);return}if(K==="playMode"){const ce=!!le&&(le.speaking||le.paused)&&!(G&&(G.currentSrc||G.getAttribute("src")));if(G&&!ce){if(G.paused){if(Ye.current){await Mt();return}await lt(G),U("playing")}else Oe(),G.pause(),U("paused");return}try{if(le&&le.paused)try{Bt("tts"),le.resume(),U("playing")}catch{}else try{le.pause(),U("paused")}catch{}}catch{}}return}if(K==="active"){if(s&&Array.isArray(me.current)&&me.current.length>0){const ce=me.current[0];try{if(ce.src&&G)try{G.src=ce.src,G.load(),G&&await lt(G)}catch{}te("playMode"),M(0),$(!0);return}catch{}}te("load");let le;try{le=await Tt(!0)}catch{le=!1}if(le===!1&&Pe.current){try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}te("active")}return}if(K!=="load"&&(K==="playMode"||K==="active"))try{if(G&&G.paused){if(Ye.current){await Mt();return}G&&await lt(G),U("playing")}else G&&(Oe(),G.pause(),U("paused"))}catch(le){(le instanceof Error||typeof le=="object"&&le&&"name"in le)&&le.name}}},Mt=async()=>{const G=g.current;if(G)try{const le=me.current;if(Array.isArray(le)&&le.length>1){await Nn(0);return}ee(!1);try{G.currentTime=0}catch{}G&&await lt(G),U("playing"),te("playMode")}catch{}},ln=()=>{if(Oe(),mt(),dt){nt();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}pe(),U("stopped"),te("active"),F(0),$(!1)},un=async(G,{sameSegment:le=!1}={})=>{const ce=++_.current,ve=g.current,_e=me.current?.[G]?.src;try{if(ee(!1),M(G),$(!0),re.current=G,!_e||!ve||(le||Qe(),ve.src=_e,ve.load(),!le&&await Je()===!1)||ce!==_.current||(await lt(ve),ce!==_.current))return;U("playing"),te("playMode")}catch{}},cn=async()=>{const G=me.current,le=re.current||0;if(!G||le<=0){await Mt();return}await un(le-1)},Rn=async()=>{const G=me.current,le=re.current||0;if(!G||le>=G.length-1){ln();return}await un(le+1)},dn=()=>{if(Ye.current)return;const G=200,le=340;ee(!0),Oe(),mt();try{F(1)}catch{}Re(1);try{W("hold")}catch{}try{const ce=g.current,ve=dt&&!!ce?.src;if(!dt||ve){if(ce){ce.pause();try{ce.currentTime=0}catch{}}}else nt();pe()}catch{}try{U("stopped")}catch{}if($(!1),!Fe.current)try{et.current&&(clearTimeout(et.current),et.current=null),et.current=setTimeout(()=>{try{W("out")}catch{}et.current=setTimeout(()=>{try{typeof st.current=="function"&&st.current(!0)}catch{}try{W("idle")}catch{}et.current=null},le)},G)}catch{}};o.useEffect(()=>{fe.current=dn});const Pn=o.useCallback(()=>se(""),[]),Nn=async G=>{(me.current||[])[G]&&await un(G,{sameSegment:G===re.current})},Nt=R==="playing",Cn=o.useMemo(()=>{if(!H||H.length<=1)return H;const G=H[O];return G?[G]:H},[H,O]),Ht=s===!0;o.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=J||1)}catch{}},[J]);const Zt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const G=g.current;if(!G)return;const le=Math.max(0,Math.min(1,ie)),ce=Zt.current,ve=()=>{ce.raf!==null&&(cancelAnimationFrame(ce.raf),ce.raf=null),ce.timer!==null&&(clearTimeout(ce.timer),ce.timer=null)};ve();const _e=Ha(G);if(G.paused||Math.abs(_e-le)<.001||typeof requestAnimationFrame!="function"){try{Sn(G,le)}catch{}return}const Te=performance.now(),rt=()=>{const gt=Math.min(1,(performance.now()-Te)/150);try{Sn(G,_e+(le-_e)*gt)}catch{}ce.raf=gt<1?requestAnimationFrame(rt):null};return ce.raf=requestAnimationFrame(rt),ce.timer=setTimeout(()=>{ve();try{Sn(G,le)}catch{}},200),ve},[ie]);const fn=xe==="hold",en=xe==="out",gn=K==="playMode"&&!k&&!Se||fn||en,In=R!=="stopped"||fn||en,bn=R==="paused",oe=Math.max(0,Math.min(100,(L||0)*100)),ye=De("audio-player__fill",gn?"is-visible":"",In?"is-expanded":"",bn?"is-paused":"",en?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Nt?"is-playing":""} ${k?"is-loading":""} ${K!=="default"?"is-revealed":""}`,children:[k?t.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[t.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),t.jsx("span",{className:"audio-player__loading-text",children:c(`training.audioStatus.${S}`,{defaultValue:G5[S]})})]}):null,K==="active"?t.jsx("button",{className:"audio-player__button",type:"button",disabled:Ht,onClick:()=>{V.current=nr(),B(),Yt()},"aria-label":typeof p=="string"?p:c("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:B,onFocus:N,onBlur:B,children:t.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:t.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:t.jsx("path",{ref:b,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,x&&t.jsx(vn,{anchorRect:x,text:typeof p=="string"&&p?p:c("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${K==="playMode"||Nt?"is-visible":""}`,inert:!(K==="playMode"||Nt)||void 0,children:[t.jsxs("div",{ref:f,className:"audio-player__buttons",children:[t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:cn,ariaLabel:c("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Nt?"pause":"play",onClick:Yt,ariaLabel:c("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Nt,width:"60px",variant:"transparent-white",disabled:K!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:ln,ariaLabel:c("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),We>1?t.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:We}).map((G,le)=>t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(le+1),onClick:()=>{try{Nn(le)}catch{}},ariaLabel:c("training.sourcePlay",{n:le+1}),variant:"transparent-white",selected:P&&O===le,disabled:K!=="playMode"||!(Array.isArray(I)&&I[le]),showTooltipInfo:!0},le))}):null,!Array.isArray(I)||I.length<=1?t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Mt,ariaLabel:c("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"}):null,t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Rn,ariaLabel:c("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:K!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:dn,ariaLabel:c("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:ye,ref:v,style:{left:`${oe}%`},"aria-hidden":"true"}),(u||d)&&t.jsx(U5,{segments:Cn,progress:L,totalDuration:Y,waveProgressRef:Ce,showSoundWaveForm:u,noiseSrc:d&&m?.settings.enabled&&ue>0?ze:null,noiseRatio:m?$a(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ae,onReadyChange:Le})]})]}),t.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!u&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Ke,{icon:"triangle-alert",size:14}),c("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(ra,{message:Q,position:ke,onClose:Pn})]})}function ur(e){const{t:n}=be.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[d,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:p,decrease:m,canIncrease:C,canDecrease:g,fontSize:v,lineHeight:f}=el({storageKey:"tooltip-fontScale"}),y=o.useCallback(()=>c(A=>A==="dark"?"light":"dark"),[]),w=o.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),h=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${v}px`,lineHeight:`${f}px`,"--tt-line-height":`${f}px`,"--tt-marker-size":"28px"},b=t.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[t.jsxs("div",{className:"tooltip-textbox__box",children:[r&&t.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),t.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:h.map((A,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[h.length>1?t.jsx("div",{className:"tooltip-textbox__marker",children:t.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,t.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:n("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:n("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!C}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:w,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return s?t.jsx(rn,{anchorRect:s,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:b}):t.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:b})}function Zu({state:e="disabled"}){const{t:n}=be.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Ke,{icon:"chevron-right",label:n("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),t.jsx("div",{className:"ts-bullet__line"})]})}function Xu(e,n,a){const r=o.useRef(n),s=o.useRef(a);o.useEffect(()=>{r.current=n,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const u=()=>{i=null;const d=r.current(),c=d?Array.from(d.querySelectorAll(mn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(c){try{c.focus()}catch{}if(document.activeElement===c)return}--l>0&&(i=requestAnimationFrame(u))};return i=requestAnimationFrame(u),()=>{i!==null&&cancelAnimationFrame(i);const d=document.activeElement;if(!d||d===document.body||!document.contains(d)||d.closest(".tooltip-content")){const c=s.current();if(c)try{c.focus()}catch{}}}},[e])}function Ju({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:u,usePlayAllBtn:d=!1,onPlayAll:c,playAllActive:p=!1}){const{t:m}=be.useTranslation(),C=tn("(max-width: 767px)"),g=`training-step__title h4 ${u&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),f=o.useRef(null),[y,w]=o.useState(!1),[h,_]=o.useState(null),[b,A]=o.useState(null);Xu(y&&!!h,()=>{if(typeof document>"u")return null;const E=Array.from(document.querySelectorAll(".tooltip-content"));for(let S=E.length-1;S>=0;S--)if(E[S].querySelector(".tooltip-textbox__root"))return E[S];return null},()=>f.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const N=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(E=>typeof E=="string"||typeof E=="number")?l.join(""):"",[l]),B=o.useCallback(()=>{w(!1),_(null),A(null)},[]);o.useEffect(()=>{if(!y)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){B();return}A(typeof E<"u"&&E!==null?E:null)},[N]);const k=o.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(A(typeof E<"u"&&E!==null?E:l),!f.current){w(S=>!S);return}if(y)w(!1),_(null),A(null);else{const S=f.current.getBoundingClientRect();_(S),w(!0)}}},[i,l,y]);return t.jsxs("div",{className:v,children:[t.jsx("p",{className:g,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),s||d?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[d&&t.jsx(de,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"play-circle",label:C?void 0:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:p,onClick:c,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||p,onDisabledClick:p&&r!=="disabled"?()=>{}:void 0}),s&&t.jsx("div",{ref:f,children:t.jsx(de,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"eye",label:C?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:k,className:y?"is-selected":void 0,"aria-expanded":y,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),y&&t.jsx(ur,{text:b??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:h,onClose:B,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Fo(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function Gn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:d=void 0}){const{t:c}=be.useTranslation(),[p,m]=o.useState(()=>Fo(e,n));o.useEffect(()=>{const A=Fo(e,n);if(A!==p){const x=setTimeout(()=>m(A),0);return()=>clearTimeout(x)}},[e,n,p]);const C=o.useCallback((...A)=>{Fo(e,n)==="done"||p==="done"||typeof u=="function"&&u(...A)},[e,n,p,u]),[g,v]=o.useState(!1),[f,y]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),w=o.useCallback(A=>{if(!A)return null;try{const x=A;if(typeof A=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const k=x.currentTarget??x.target;if(k&&typeof k.getBoundingClientRect=="function")return k.getBoundingClientRect()}if(A instanceof DOMRect)return A;const N=A;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect();const B=A?.current;return B&&typeof B.getBoundingClientRect=="function"?B.getBoundingClientRect():null}catch{return null}},[]),h=o.useCallback((A,{text:x="",label:N="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:B=!1,alignX:k="center",alignY:E="top"}={})=>{const S=w(A);y({text:x,label:N,anchorRect:S,backdrop:B,alignX:k,alignY:E}),v(!0)},[w]),_=o.useCallback(()=>{v(!1),y(A=>({...A,anchorRect:null}))},[]),b=o.Children.map(i,A=>{if(o.isValidElement(A)){const x=A;if(typeof x.type=="string")return x;const N=x.props??{},B=typeof N.onDone=="function"?N.onDone:C,k=typeof N.disabled=="boolean";let E=p==="disabled";return k&&(E=!!N.disabled),o.cloneElement(x,{onDone:B,disabled:E,showTooltip:h,hideTooltip:_})}return A});return t.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[t.jsx(Zu,{state:p}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(Ju,{state:p,title:r,...s,useFaded:d}),b]}),g?t.jsx(rn,{anchorRect:f.anchorRect,backdrop:f.backdrop,onClose:_,ariaLabel:c("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(ur,{text:f.text,onClose:_})}):null]})}function Qu({context:e,state:n="disabled",theme:a="light"}){const{t:r}=be.useTranslation(),[s,i]=o.useState("disabled"),[l,u]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const d=()=>u(R=>R==="dark"?"light":"dark"),{increase:c,decrease:p,canIncrease:m,canDecrease:C,fontSize:g,lineHeight:v}=el({storageKey:"textbox_fontScale"}),[f,y]=o.useState(""),w=o.useRef(null),h=o.useRef(!1),_=o.useCallback(()=>{h.current=nr()&&!!w.current&&w.current.contains(document.activeElement),i("active")},[]),b=o.useCallback(()=>y(""),[]),A=R=>{try{y(R)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(n!=="disabled"){const R=setTimeout(()=>i(n),0);return()=>clearTimeout(R)}},[n]);const N=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[B,k]=o.useState(N);B!==N&&(k(N),i("disabled"));const E=n==="disabled"?s:n,S=E==="disabled"?"training-text-box--disabled":E==="active"?"training-text-box--active":E==="done"?"training-text-box--done":"",z=o.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${v}px`}),[g,v]);return o.useEffect(()=>{if(E==="disabled"||!h.current)return;h.current=!1;const R=document.activeElement;R&&R!==document.body||w.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),t.jsxs("div",{ref:w,className:`training-text-box ${S} ${E!=="disabled"&&l==="dark"?"is-dark":""}`,children:[E==="disabled"&&t.jsx("div",{className:"training-text-box__preview",children:t.jsx(de,{htmlType:"button",size:48,type:"bar",onClick:_,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),t.jsx("div",{className:"training-text-box__area","aria-hidden":E==="disabled",children:t.jsx("span",{className:"training-text-box__inner h3",style:z,children:N})}),E!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>A(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!C,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:c,onDisabledClick:()=>A(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(ra,{message:f,position:"top",onClose:b})]})}function Oo({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:d,choices:c,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:C=!1,choiceIcons:g,shuffleChoices:v=!0}){const{t:f}=be.useTranslation(),y=r??f("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),w=typeof e=="number"?e:-1,h=typeof n!="number"?"disabled":w<n?"done":w===n?"active":"disabled",_=Array.isArray(c)&&c.length?c:typeof u<"u"?[u].concat(Array.isArray(d)?d:[]):void 0,b=d?d.join("||"):"",A=c?c.join("||"):"",[x,N]=o.useState(()=>Array.isArray(_)?v?ya(_):_.slice():void 0);o.useEffect(()=>{Array.isArray(_)&&_.length?N(v?ya(_):_.slice()):N(void 0)},[u,b,A,v]);const[B,k]=o.useState(null),[E,S]=o.useState(()=>new Set);o.useEffect(()=>{k(null),S(new Set)},[A,u,b]);const z=o.useRef(void 0);o.useEffect(()=>{const j=z.current;typeof j=="number"&&typeof n=="number"&&typeof e=="number"&&j>=e&&n<e&&(k(null),S(new Set)),z.current=n},[n,e]);const R=o.useCallback(j=>{if(h!=="active")return;const L=x?.[j];if(L==null)return;const F=L,K=h==="active"||h==="done";if(p){const te=new Set(E),V=te.has(F);V?te.delete(F):te.add(F),S(te),typeof l=="function"&&l({selectedValues:[...te],__ts:Date.now()}),K&&(typeof m=="number"&&m>0?te.size>=m:!V)&&typeof i=="function"&&h==="active"&&i({selectedValues:[...te],__ts:Date.now()})}else k(F),typeof l=="function"&&l({selectedIndex:j,selectedValue:F,__ts:Date.now()}),K&&typeof i=="function"&&h==="active"&&i({selectedIndex:j,selectedValue:F,__ts:Date.now()})},[x,h,p,l,i,m,E]),U=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:y,useTitleFaded:s,children:t.jsx("div",{className:U,children:Array.isArray(x)&&x.length>0?x.map((j,L)=>t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:()=>R(L),ariaLabel:String(j),label:j,useLabel:!0,icon:g?g[String(j)]:void 0,variant:"default",disabled:h==="disabled",selected:p?E.has(j):B===j,useDisabledCovered:C,minWidth:0},String(j))):null})})}function Ho({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:d}=be.useTranslation(),c=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof n!="number"?"disabled":p<n?"done":p===n?"active":"disabled",C=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[v,f]=o.useState(u??null),y=`${String(C)}\0${JSON.stringify(g??null)}`,[w,h]=o.useState(y);w!==y&&(h(y),u==null&&f(null));const[_,b]=o.useState(u);Object.is(_,u)||(b(u),f(u??null));const A=o.useRef(void 0);o.useEffect(()=>{const k=A.current;typeof k=="number"&&typeof n=="number"&&typeof e=="number"&&k>=e&&n<e&&u==null&&f(null),A.current=n},[n,e,u]);const x=o.useCallback(k=>{const E=typeof k=="object"&&k!==null?Object.assign({},k,{__ts:Date.now()}):{value:k,__ts:Date.now()};typeof i=="function"&&i(E),m==="active"&&typeof s=="function"&&s(E)},[i,m,s]),N=o.useCallback(()=>{m==="active"&&(f(!1),x(!1))},[x,m]),B=o.useCallback(()=>{m==="active"&&(f(!0),x(!0))},[x,m]);return t.jsxs(Gn,{index:e,stepIndex:n,isLast:a,title:c,onDone:s,useTitleFaded:!1,children:[t.jsx(Qu,{context:l,state:m}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((k,E)=>t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(f(E),x&&x(E))},disabled:m==="disabled",ariaLabel:String(k),label:k,variant:m,selected:v===E},E)):t.jsxs(t.Fragment,{children:[t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:m==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function zo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:u,usePreviewTextBtn:d,previewText:c=null,onPreviewTextBtn:p,disabled:m,_pageIndex:C,showSoundWaveForm:g,showNoiseWaveForm:v}){const{t:f}=be.useTranslation(),y=r??f("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=m??(typeof n=="number"&&typeof e=="number"?e>n:!1);return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:y,onDone:s,titleProps:{usePreviewTextBtn:d,previewText:c,onPreviewTextBtn:p},children:t.jsx(Io,{soundSrc:l,ttsText:l?null:c??y,bucketPath:u,btnLabel:i||f("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:v},`audio-p${C??0}-s${e}`)})}const s3=[];function Vo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=s3}){const{t:u}=be.useTranslation(),d=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),c=H=>typeof H=="string"?H:H&&(H.context||H.sentence||H.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[C,g]=o.useState(()=>(p||[]).map((H,D)=>({id:D,text:c(H)}))),v=o.useMemo(()=>typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled",[n,e]),f=v!=="disabled",y=o.useRef(void 0);o.useEffect(()=>{if(y.current===l)return;y.current=l;const H=Array.isArray(l)?l:[];m(H);const D=(O=>{const M=(O||[]).map((ne,J)=>({id:J,text:c(ne)}));if(M.length<=1)return M;const P=(ne,J)=>{if(ne.length!==J.length)return!1;for(let ae=0;ae<ne.length;ae++)if(ne[ae].text!==J[ae].text)return!1;return!0};let $=ya(M),Y=0;for(;P($,M)&&Y<20;)$=ya(M),Y+=1;return $})(H);g(D);try{if(typeof i=="function"){const O=D.filter((M,P)=>M.text===c(H[P])).length;i({shuffled:D,score:O,total:(H||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const O=D.filter((M,P)=>M.text===c(H[P])).length;s({shuffled:D,score:O,total:(H||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const w=(H,D)=>{const O=[...C],M=H+D;if(M<0||M>=O.length)return;const P=O[M];O[M]=O[H],O[H]=P,L(O);try{if(typeof s=="function"&&v==="active"){const $=O.filter((Y,ne)=>Y.text===c(p[ne])).length;s({shuffled:O,score:$,total:(p||[]).length,__ts:Date.now()})}}catch{}},[h,_]=o.useState(null),b=o.useRef(null),A=o.useRef(null),x=o.useRef(null),N=o.useRef(null),B=o.useRef(null),k=o.useRef({x:0,y:0}),E=o.useRef(null),S=o.useRef({dx:0,dy:0}),z=()=>{if(E.current!==null)return;const H=()=>{if(!b.current){E.current=null;return}E.current=requestAnimationFrame(H);const D=k.current,O=S.current||{dx:0,dy:0};b.current&&(b.current.style.transform=`translate3d(${D.x-O.dx}px, ${D.y-O.dy}px, 0)`)};E.current=requestAnimationFrame(H)},R=o.useRef(new Map),U=o.useRef(new Map),j=()=>{const H=new Map;return R.current.forEach((D,O)=>{D&&D.getBoundingClientRect&&H.set(O,D.getBoundingClientRect())}),H},L=H=>{const D=j();g(H);try{if(typeof i=="function"){const O=H.filter((M,P)=>M.text===c(p[P])).length;i({shuffled:H,score:O,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const O=j();H.forEach(M=>{const P=D.get(M.id),$=O.get(M.id),Y=R.current.get(M.id);if(!Y||!P||!$)return;const ne=P.top-$.top;ne&&(Y.style.transition="none",Y.style.transform=`translateY(${ne}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const J=()=>{Y.style.transition="",Y.removeEventListener("transitionend",J)};Y.addEventListener("transitionend",J)}))})})},F=(H,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(H))}catch{}try{D.dataTransfer&&(D.dataTransfer.effectAllowed="move")}catch{}try{const O=document.createElement("div");O.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(O),D.dataTransfer?.setDragImage(O,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(O)}catch{}})}catch{}}catch{}_(H);try{const O=C[H],M=document.createElement("div");M.className="order-list__dragging-object order-list__dragging-object--visible",M.textContent=O&&O.text?O.text:"",document.body.appendChild(M),b.current=M;const P=R.current.get(O.id);let $=D.clientX||0,Y=D.clientY||0;try{if(P&&P.getBoundingClientRect){const xe=P.getBoundingClientRect();$=xe.left+xe.width/2,Y=xe.top+xe.height/2}}catch{}const ne=M.getBoundingClientRect(),J=ne.width/2,ae=ne.height/2;S.current={dx:J,dy:ae},M.style.transition="none",k.current={x:$,y:Y},M.style.transform=`translate3d(${$-J}px, ${Y-ae}px, 0)`,requestAnimationFrame(()=>{try{M.style.transition=""}catch{}z()});const ue=xe=>{const W=xe;k.current={x:W.clientX,y:W.clientY},z()};x.current=ue,document.addEventListener("mousemove",ue);const ie=xe=>{const W=xe;k.current={x:W.clientX,y:W.clientY},z()};A.current=ie,document.addEventListener("dragover",ie);try{D.dataTransfer?.setData("text/plain",String(H));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:H}))}catch{}}catch{}}catch{}},K=(H,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{B.current!==null&&(clearTimeout(B.current),B.current=null);const O=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(O&&N.current!==O){if(N.current)try{N.current.classList.remove("drag-over")}catch{}try{O.classList.add("drag-over")}catch{}N.current=O}}catch{}},te=(H,D)=>{D.preventDefault();const O=D.dataTransfer?.getData("text/plain")||"",M=O?parseInt(O,10):h,P=H;if(typeof M!="number"||isNaN(M)||M===P){_(null),q(),V();return}const $=kC(C,M,P);L($),_(null),V();try{if(typeof s=="function"&&v==="active"){const Y=$.filter((ne,J)=>ne.text===c(p[J])).length;s({shuffled:$,score:Y,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[P];if(!Y)return;const ne=Y.querySelector(".order-list__slot")||Y;try{ne.classList.add("pulse"),ne.offsetHeight,ne.classList.add("to-dark");const J=()=>{ne.classList.remove("pulse","to-dark"),ne.removeEventListener("transitionend",J)};ne.addEventListener("transitionend",J)}catch{}})}catch{}q()},V=()=>{if(b.current){try{document.body.removeChild(b.current)}catch{}b.current=null}A.current&&(document.removeEventListener("dragover",A.current),A.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),E.current!==null&&(cancelAnimationFrame(E.current),E.current=null)},I=()=>{_(null),q(),V()};o.useEffect(()=>()=>V(),[]);const q=()=>{try{if(B.current!==null&&(clearTimeout(B.current),B.current=null),N.current){try{N.current.classList.remove("drag-over")}catch{}N.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(H=>H.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const H=Math.max(1,(C||[]).length);C.forEach((D,O)=>{const M=U.current.get(D.id);if(!M)return;let P=50;H>1&&(P=Math.round(O/(H-1)*100));try{M.style.setProperty("--marker-pos",P+"%")}catch{}})}catch{}},[C]),o.useEffect(()=>()=>{V(),B.current!==null&&(clearTimeout(B.current),B.current=null)},[]),t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:d,children:t.jsx("div",{className:"order-list",children:C.map((H,D)=>{const O=Math.max(1,(C||[]).length),M=O>1?Math.round(D/(O-1)*100):50;return t.jsx("div",{className:"order-list__item",children:t.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?t.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":M+"%"},ref:P=>{const $=U.current;P?$.set(H.id,P):$.delete(H.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,t.jsxs("div",{ref:P=>{const $=R.current;P?$.set(H.id,P):$.delete(H.id)},className:`order-list__draggable ${h===D?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:f,onDragStart:f?P=>F(D,P):void 0,onDragEnter:f?P=>K(D,P):void 0,onDragOver:f?P=>K(D,P):void 0,onDragLeave:f?()=>{try{B.current!==null&&clearTimeout(B.current),B.current=setTimeout(()=>{try{const P=document.querySelectorAll(".order-list .order-list__item");P&&P[D]&&(P[D].classList.remove("drag-over"),N.current===P[D]&&(N.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f?P=>te(D,P):void 0,onDragEnd:f?I:void 0,children:[t.jsx("span",{className:"order-list__item-text body-2",children:H.text}),f?t.jsxs("span",{className:"order-list__item-buttons",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:()=>w(D,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===0,useBorder:!1,useDisabledInvisible:!0}),t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:()=>w(D,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===C.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},H.id)})})})}const i3=8e3;function l3(e,n){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,n)})}function ec({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:d=!1,hideAudio:c=!1,maxCards:p}){const{t:m}=be.useTranslation(),C=r??m("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),v=p??3,f=(g||[]).slice(0,v);(g||[]).length>v&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,w=typeof n!="number"?"disabled":y<n?"done":y===n?"active":"disabled",[h,_]=o.useState(null),b=o.useRef([]),[A,x]=o.useState(!1),N=o.useRef(null),B=o.useRef(!0);o.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const k=o.useMemo(()=>g.map(U=>U?.id??U?.word??"").join("|"),[g]);o.useEffect(()=>{_(null)},[k]);const E=o.useRef(void 0);o.useEffect(()=>{const U=E.current;typeof U=="number"&&typeof n=="number"&&typeof e=="number"&&U>=e&&n<e&&_(null),E.current=n},[n,e]);const S=o.useCallback((U,j)=>{if(u)return;const L={item:U,index:j,__ts:Date.now()};try{typeof i=="function"&&i(L)}catch{}if(w==="active"&&typeof s=="function")try{s(L)}catch{}},[u,i,w,s]),z=o.useCallback(async()=>{if(A||w==="disabled")return;x(!0);let U=!1;const j=new Promise(L=>{N.current=()=>{U=!0,L()}});try{for(let L=0;L<f.length&&!(!B.current||U);L++){const F=b.current[L];F&&await Promise.race([l3(F.play(),i3),j])}}finally{N.current=null,x(!1)}},[A,w,f.length]),R=o.useCallback((U,j)=>{if(w!=="active")return;_(j);const L={selectedValue:U.word||U.title||"",selectedIndex:j,item:U,__ts:Date.now()};try{typeof i=="function"&&i(L)}catch{}if(w==="active"&&typeof s=="function")try{s(L)}catch{}},[i,w,s]);return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:C,onDone:s,titleProps:{usePlayAllBtn:!c&&f.length>0,onPlayAll:z,playAllActive:A},children:t.jsx("div",{className:"training-step__cards",onClickCapture:U=>{const j=N.current;if(!j)return;const L=U.target;L&&typeof L.closest=="function"&&L.closest(".training-word-card__bottom")&&j()},children:f.length===0?t.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):f.map((U,j)=>t.jsx(wo,{ref:L=>{b.current[j]=L},item:U,disabled:w==="disabled",onPlayDone:()=>S(U,j),selectable:u,selected:u&&h===j,onSelect:u?()=>R(U,j):void 0,flipDelay:j*120,hideLabel:d,hideAudio:c},U&&U.id||j))})})}const u3=160,c3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function d3(e,n){const a=c3[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}const tc=()=>{};function Mn(e){const n=o.useId();if(!("variant"in e)){const{label:h,sub:_,onClick:b,children:A,align:x="horizontal",icon:N,useFullWidth:B=!1}=e,k=E=>{b&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),b())};return t.jsxs("div",{className:De("panel-row",x==="vertical"?"panel-row--vertical":"",B?"panel-row--label-fixed panel-row--fill":"",b?"panel-row--clickable":""),onClick:b,onKeyDown:b?k:void 0,role:b?"button":void 0,tabIndex:b?0:void 0,children:[N!=null&&t.jsx("div",{className:"panel-row__icon",children:N}),h!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:h}),_&&t.jsx("div",{className:"panel-row__sub caption-1",children:_})]}),t.jsx("div",{className:"panel-row__right",children:A})]})}if(e.variant==="description")return t.jsx("div",{className:"panel-row panel-row--block",children:t.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return t.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return t.jsx("div",{className:"panel-row panel-row--loading",children:t.jsx(Ta,{size:28})});if(e.variant==="custom"&&!e.label)return t.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:u,align:d="horizontal",useFullWidth:c=!1,icon:p}=e,m=a==="button"?void 0:i;let C=null;const g=a==="toggle"?`panel-toggle-${n}`:void 0,v=u?`panel-error-${n}`:void 0,f=`panel-helper-${n}`;if(a==="toggle"){const h=e;C=t.jsx(Hl,{checked:h.checked,onChange:h.onChange,id:g})}else if(a==="segmented"){const h=e;C=t.jsx(An,{options:h.options,value:h.value,onChange:h.onChange,size:h.size??40,ariaLabel:r})}else if(a==="dropdown"){const h=e,_=h.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${c?" panel-row__dropdown-group--full":""}`,children:h.dropdowns.map((b,A)=>t.jsx("div",{className:c?"panel-row__dropdown-item--full":void 0,children:t.jsx(sn,{options:b.options,value:b.value,onChange:b.onChange,placeholder:b.placeholder,block:c,error:!!u,ariaDescribedBy:v,ariaLabel:b.ariaLabel??([r,b.placeholder].filter(Boolean).join(" ")||void 0)})},A))}):t.jsx(sn,{options:h.options??[],value:h.value??"",onChange:h.onChange??tc,block:c,error:!!u,ariaLabel:r,ariaDescribedBy:v});C=u?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${c?" panel-row__dropdown-error-wrap--full":""}`,children:[_,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}):_}else if(a==="button"){const h=e;h.buttons?.length?C=t.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((_,b)=>t.jsx(de,{htmlType:"button",size:_.btnSize??40,variant:_.btnVariant??"default",disabled:_.disabled,onClick:_.onClick,children:_.label},b))}):C=t.jsx(de,{htmlType:"button",size:h.btnSize??40,variant:h.btnVariant??"default",disabled:h.disabled,onClick:h.onClick,children:h.buttonLabel})}else if(a==="text"){const h=e;C=t.jsx("span",{className:`panel-row__text body-2${c?" panel-row__text--full":""}`,style:h.valueColor?{color:h.valueColor}:void 0,children:h.value})}else if(a==="input"){const h=e;C=t.jsxs("div",{className:`panel-row__input-wrap${c?" panel-row__input-wrap--full":""}`,children:[t.jsx(Un,{value:h.value,onChange:h.onChange??tc,onKeyDown:h.onKeyDown,onEnter:h.onEnter,placeholder:h.placeholder,ghostText:h.ghostText,ghostHint:h.ghostHint,inputMode:h.inputMode,readOnly:h.readOnly,disabled:h.disabled,type:h.type,autoComplete:h.autoComplete,maxLength:h.maxLength,showCount:h.showCount,multiline:h.multiline,rows:h.rows,fullWidth:c,error:u,ariaLabel:r,required:l,ariaDescribedBy:h.helperText?f:void 0}),h.helperText&&t.jsx("div",{id:f,className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(C=e.children);u&&a!=="input"&&a!=="dropdown"&&(C=t.jsxs("div",{className:`panel-row__dropdown-error-wrap${c?" panel-row__dropdown-error-wrap--full":""}`,children:[C,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const y=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&c,w=h=>{m&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),m())};return t.jsxs("div",{className:De("panel-row",d==="vertical"?"panel-row--vertical":"",y?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",m?"panel-row--clickable":""),onClick:m,onKeyDown:m?w:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,children:[p!=null&&t.jsx("div",{className:"panel-row__icon",children:p}),t.jsxs("div",{className:"panel-row__left",children:[g?t.jsxs("label",{htmlFor:g,className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}):t.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}),s&&t.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),t.jsx("div",{className:"panel-row__right",children:C})]})}function nc(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function p3({devices:e,onRelease:n,emptyLabel:a}){const{t:r}=be.useTranslation();return t.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return t.jsxs("div",{className:"panel-row__device-column",children:[t.jsxs("div",{className:"panel-row__device-head",children:[t.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&n&&t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>n(s)})]}),i?t.jsxs("div",{className:"panel-row__device-info",children:[t.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&t.jsx(yt,{size:"small",variant:ou(i.device),fill:"soft",label:d3(i.device,r)}),nc(i)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:nc(i)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),vo(i.wornYear,i.wornMonth,i.wornDay)&&t.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:vo(i.wornYear,i.wornMonth,i.wornDay)})})]}):t.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function cr({title:e,titleLevel:n=2,icon:a,disc:r,actions:s,size:i="medium",minHeight:l,maxWidth:u,className:d,scrollable:c,scrollbarGutter:p="auto",compactRows:m=!1,useBorder:C=!0,useBg:g=!0,useRowBorder:v=!0,labelWidth:f,form:y=!1,loading:w,empty:h,children:_}){const b=De("panel",`panel--${i}`,y?"panel--form":"",l!==void 0?"panel--fill":"",C?"":"panel--no-border",g?"":"panel--no-bg",v?"":"panel--no-row-border",m?"panel--compact-rows":"",d),A={};l!==void 0&&(A.minHeight=l),u!==void 0&&(A.maxWidth=typeof u=="number"?`${u}px`:u),f!==void 0&&(A["--panel-label-width"]=typeof f=="number"?`${f}px`:f);const x=n?`h${n}`:"div";return t.jsxs("div",{className:b,style:Object.keys(A).length?A:void 0,children:[(!!e||r!=null)&&t.jsxs("div",{className:De("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&t.jsx(Ke,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),t.jsxs("div",{className:"panel__title-group",children:[!!e&&t.jsx(x,{className:`panel__title ${r!=null?"body-3b":"h5b"}`,children:e}),r!=null&&t.jsx("p",{className:"panel__disc caption-1",children:r})]}),s&&t.jsx("div",{className:"panel__actions",children:s})]}),w?t.jsx(Mn,{variant:"loading"}):h!=null&&o.Children.toArray(_).length===0?t.jsx(Mn,{variant:"empty",children:h}):c?t.jsx("div",{className:De("panel__body--scroll",p==="stable"&&"panel__body--gutter-stable"),children:_}):_]})}function m3({cols:e=2,children:n}){return t.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:n})}function h3(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function ac(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}h3(Et.t.bind(Et)),ac(Et.t.bind(Et));const Wo="none",C3=.5,f3=1.5,g3=.25;function qo({title:e,valueLabel:n,value:a,min:r,max:s,step:i,tickStep:l,size:u,onChange:d}){return t.jsxs(Mn,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(eu,{value:a,onChange:d,min:r,max:s,step:i,size:u,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),t.jsx("div",{className:"noise-settings__value button-1",children:n})]})}function rc({anchorRect:e,onClose:n}){const{t:a}=be.useTranslation(),r=tn("(max-width: 767px)")?40:24,s=ir(),i=$a(s?.settings??Pa),l=s?.settings.type??"defaultNoise",u=s?.settings.enabled??!0,d=s?.playbackRate??1,c=s?.mainVolume??1,p=Math.round(c*100),m=o.useCallback(f=>{try{s?.setMainVolume(Math.max(0,Math.min(1,f/100)))}catch{}},[s]),C=o.useCallback(f=>{try{s?.setPlaybackRate(f)}catch{}},[s]),g=o.useCallback(f=>{const y=Math.min(La,Math.max(0,Math.round(f*10)/10));try{s?.setSettings({noiseRatio:y})}catch{}},[s]),v=o.useCallback(f=>{try{f===Wo?s?.setSettings({enabled:!1}):s?.setSettings({type:f,enabled:!0})}catch{}},[s]);return t.jsx(rn,{anchorRect:e,offset:12,onClose:n,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:t.jsxs("div",{className:"noise-settings__header",children:[t.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:n})]}),children:t.jsxs(cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[t.jsx(qo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),t.jsx(qo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:C3,max:f3,step:g3,size:r,onChange:C}),t.jsx(Mn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:t.jsx(An,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Wo,label:a("training.noise.type.none","\uC5C6\uC74C")},...ac(a).map(f=>({key:f.value,label:f.label}))],value:u?l:Wo,onChange:v})}),t.jsx(qo,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:La,step:zu,size:r,onChange:g})]})})}function oc({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:u=1,resultOpen:d=!1}){const{t:c}=be.useTranslation(),[p,m]=o.useState(!1),[C,g]=o.useState(null),[v,f]=o.useState(!1),y=o.useRef(null),w=o.useRef(null),h=ir(),_=u>0,b=_&&l<u-1,A=!_||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(m(!1),g(null))},[e]);const N=o.useCallback(()=>{m(!1),g(null)},[]),B=o.useCallback(()=>{if(p){m(!1),g(null);return}const F=y?.current?.getBoundingClientRect();F&&g(F),n?.(),m(!0)},[p,n]),k=o.useCallback(()=>{if(p){m(!1),g(null);return}const F=w?.current?.getBoundingClientRect();F&&g(F),n?.(),m(!0)},[p,n]),E=tn("(max-width: 767px)"),S=o.useRef(null),[z,R]=o.useState(null),U=o.useCallback(()=>{f(F=>{const K=!F;return R(K?S.current?.getBoundingClientRect()??null:null),K})},[]),j=o.useCallback(()=>{f(!1),R(null)},[]);o.useEffect(()=>{d&&(f(!1),R(null))},[d]);const L=t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:c("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(go,{analyser:h?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:c("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:c("training.meter.noise","\uC18C\uC74C")}),t.jsx(go,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:c("training.meter.noise","\uC18C\uC74C")})]})]});return Xu(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[y.current,w.current].map(F=>F?.querySelector("button")??null).find(F=>!!F&&F.getClientRects().length>0)??y.current?.querySelector("button")??null),t.jsxs("div",{className:"pp-bottom",children:[t.jsxs("div",{className:"pp-bottom__left",children:[e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pp-bottom__settings--desktop",children:t.jsx("div",{ref:y,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:B,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:c("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:c("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:w,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:k,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:c("training.settings","\uC124\uC815")})})})]}):null,e&&t.jsx("div",{ref:S,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:U,selected:v,"aria-expanded":E?v:void 0,ariaLabel:c("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&v&&!E&&t.jsx("div",{className:"pp-bottom__meters",children:L})]}),e&&v&&E&&z&&t.jsx(rn,{anchorRect:z,onClose:j,ariaLabel:c("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:t.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:L})}),t.jsxs("div",{className:"pp-bottom__right",children:[A&&t.jsx(de,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:c("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:c("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!x}),b&&t.jsx(de,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:c("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:c("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!x})]}),e&&p&&t.jsx(rc,{anchorRect:C,onClose:N})]})}function sc({title:e,subtitle:n,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:u,pageCount:d,progressMax:c,progressIndex:p,onBack:m,onClose:C}){const{t:g}=be.useTranslation(),v=tn("(max-width: 767px)"),f=Number.isInteger(p)?p:u||0,y=Number.isInteger(c)?c:d||0,w=m||C,h=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,b=typeof n=="string"?n.trim():n,A=!!(_||b),x=A?_||b:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),N=h||(_?n:void 0),B=v&&typeof N=="string"&&(N.includes(" \xB7 ")||N.includes(" / "))?N.split(/\s[·/]\s/).pop():N,k=o.useMemo(()=>{const E=i&&typeof i=="object"?{...i}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[i]);return t.jsxs("header",{className:"pp-title training-popup-title",children:[t.jsxs("div",{className:"pp-title__left",children:[w?t.jsx(de,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:w,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:s?t.jsx(Tl,{icon:s,label:e,tooltip:l,wrapperStyle:k}):null}),t.jsxs("div",{className:"pp-title__text",children:[B?t.jsx("span",{className:"pp-title__depth caption-1",children:B}):null,t.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(ru,{max:Math.max(0,y??0),index:Math.max(0,f??0)})]})}function b3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function y3(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(n=>typeof n=="string"?n.split("|").map(a=>a.trim()).filter(Boolean):n||n===0?[String(n)]:[]):typeof e=="string"?e.split("|").map(n=>n.trim()).filter(Boolean):[String(e)]}const ic=(e,n)=>{if(!n)return n;const a=typeof Et?.t=="function"?Et.t(e,{defaultValue:n}):void 0;return typeof a=="string"&&a?a:n};function lc(e,n,a){const r=e,s=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",i=pi().find(u=>u.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(u=>u.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:n,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?ic(`topic.${i.key}`,i.label):void 0,l?ic(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Uo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function v3(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function x3({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const d=lc(n,a,r),c=typeof u=="function"?u(d)||{}:u||{},p=n?.id||n?.title||s.length;return{id:`${e}:${p}`,meta:{...d,...c},pages:s,emptyMessage:i,buildResults:l}}function _3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function w3(e){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return n.selectedValues;if(n.selectedValue!==void 0)return n.selectedValue;if(n.selectedIndex!==void 0)return n.selectedIndex;if(n.value!==void 0)return n.value}return e}function A3(e,n=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(n))return String(n[e]??"");if(typeof e=="string")return e}function uc(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function k3(e,n,a,r){return uc(e,n*a+r)}function B3({payload:e,selected:n,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const s=e;if(Array.isArray(s.selectedValues))return r.every(i=>s.selectedValues.includes(i))&&s.selectedValues.every(i=>r.includes(i));if(typeof s.correct=="boolean")return s.correct}if(r.length){if(typeof n=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[n]));if(typeof n<"u")return r.some(s=>String(s)===String(n))}}function N3(e){return e?Array.isArray(e.items)?e.items.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const cc=o.createContext(null);function D3(){const e=o.useContext(cc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function E3({index:e,stepIndex:n,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=be.useTranslation(),d=typeof e=="number"?e:-1,c=typeof n!="number"?"disabled":d<n?"done":d===n?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),C=JSON.stringify(s),g=s.length;o.useEffect(()=>{m(Array.from({length:g},()=>null))},[C]);const v=o.useRef(void 0);o.useEffect(()=>{const h=v.current;typeof h=="number"&&typeof n=="number"&&typeof e=="number"&&h>=e&&n<e&&m(Array.from({length:g},()=>null)),v.current=n},[n,e,g]);const f=o.useMemo(()=>p.filter(h=>h!==null).length+1,[p]),y=o.useCallback(h=>{if(c!=="active")return;const _=p;let b;if(_[h]!=null){const x=_[h];b=_.map(N=>N!==null&&N>=x?null:N)}else b=[..._],b[h]=f;m(b);const A={selectedOrder:b,words:s,__ts:Date.now()};try{typeof l=="function"&&l(A)}catch{}if(_[h]==null&&b.length>0&&b.every(x=>x!==null))try{typeof i=="function"&&i(A)}catch{}},[c,p,f,l,i,s]),w=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:w,onDone:i,children:t.jsx("div",{className:"training-step__cards",children:s.map((h,_)=>t.jsx(wo,{item:{word:h},disabled:c==="disabled",selectable:!0,selected:p[_]!==null,orderRank:p[_],onSelect:()=>y(_),flipDelay:_*120,hideLabel:!1,hideAudio:!0},`${h}-${_}`))})})}function dr(e){return null}dr.__isTrainingPage=!0;function da(e,n){const a=D3();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof n=="number"?e===n-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function dc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=da(e,n);return t.jsx(zo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function pc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Oo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function mc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Ho,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function hc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Vo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Cc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(ec,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function S3({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(E3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Go(...e){for(const n of e)if(typeof n=="string"){const a=n.trim();if(a.length)return a}else{if(typeof n=="number"||typeof n=="boolean")return String(n);if(Array.isArray(n)&&n.length)return n.join(", ");if(n&&typeof n=="object"){const a=n,r=[a.text,a.label,a.value];for(const s of r){if(typeof s=="string"&&s.trim().length)return s.trim();if(typeof s=="number"||typeof s=="boolean")return String(s)}}}return null}function j3(e){return Go(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function fc(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const n=Go(e?.status,e?.result,e?.judge,e?.note);if(n){const a=n.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function gc(e){const{score:n,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:d=!1}=e||{},{t:c}=be.useTranslation(),p=o.useId(),m=o.useCallback(()=>!d,[d]);o.useEffect(()=>{const h=a??0;if(n!=null&&h>0&&n/h>.5){const _=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(_)}},[n,a]);const C=o.useCallback(h=>{const _=fc(h),b=Go(h?.wording,h?.label);return _===!0?{variant:"main",label:b??c("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:_===!1?{variant:"danger",label:b??c("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:b??c("training.result.notJudged","\uBBF8\uD310\uC815")}},[c]),g=a??0,v=n??0,f=o.useMemo(()=>Array.isArray(r)?r:[],[r]),y=o.useMemo(()=>f.map(h=>{const _=h??{},b=j3(_)||c("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:A,label:x}=C(_),N=Array.isArray(_.corrects)?_.corrects:[],B=N.length?N.join(", "):_.answer!=null&&_.answer!==""?String(_.answer):null,k=typeof _.selectedText=="string"?_.selectedText:null,E=fc(_)===!0;return{problem:b,variant:A,label:x,answer:B,selectedText:k,isCorrect:E}}),[f,C,c]),w=o.useMemo(()=>y.some(h=>h.answer!==null||h.selectedText!==null),[y]);return t.jsx(Tn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:c("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:m,footerClassName:"trp-result__foot",footer:({animateThen:h,closeWithAnimation:_})=>t.jsxs(t.Fragment,{children:[d&&t.jsx("p",{id:p,className:"trp-actions__reason caption-1",role:"status",children:c("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsxs("div",{className:"trp-actions",children:[t.jsx(de,{htmlType:"button",size:56,type:"bar",label:c("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>h(i)}),t.jsx(de,{htmlType:"button",size:56,type:"bar",label:c("training.result.done","\uC644\uB8CC"),variant:"main",onClick:_,disabled:d,onDisabledClick:d?()=>{}:void 0,"aria-describedby":d?p:void 0})]})]}),children:()=>t.jsxs("div",{className:"trp-result is-on",children:[t.jsxs("header",{className:"trp-result__head",children:[t.jsx("p",{className:"trp-result__eyebrow caption-1",children:c("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:c("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&t.jsx("p",{className:"trp-result__subtitle body-3",children:s}),t.jsx("div",{className:"trp-score",children:t.jsxs("div",{className:"trp-score__figure","aria-label":c("training.result.scoreAria",{correct:v,total:g}),children:[t.jsx("span",{className:"trp-score__big",children:v}),t.jsx("span",{className:"trp-score__sep",children:"/"}),t.jsx("span",{className:"trp-score__total",children:g})]})})]}),y.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${w?" result-table--answer":""}`,role:"table","aria-label":c("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[t.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[t.jsx("span",{role:"columnheader",children:c("common.col.problem","\uBB38\uC81C")}),w&&t.jsx("span",{role:"columnheader",children:c("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:c("training.result.colJudge","\uD310\uC815")})]}),y.map((h,_)=>t.jsxs("div",{className:"result-table__row",role:"row",children:[t.jsxs("div",{className:"trp-row__problem",children:[t.jsx("span",{className:"trp-row__no caption-1",children:String(_+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:h.problem})]}),w&&t.jsxs("div",{className:"trp-row__answers",children:[h.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:c("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:h.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${h.isCorrect?"is-correct":"is-wrong"}`,children:c("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${h.isCorrect?"is-correct":"is-wrong"}`,children:h.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(yt,{variant:h.variant,label:h.label,fill:"soft",minWidth:80})})]},_))]})})]})})}function T3(e){o.useEffect(()=>{if(!e)return;const n=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,s=0,i=0;const l=()=>{const p=Date.now();a==null&&(a=p),r==null&&(r=p)},u=()=>{r!=null&&(s+=Date.now()-r,r=null)};n()&&l();const d=()=>{if(u(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,DC({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},c=()=>{n()?l():d()};return typeof document<"u"&&document.addEventListener("visibilitychange",c),typeof window<"u"&&window.addEventListener("pagehide",d),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",c),typeof window<"u"&&window.removeEventListener("pagehide",d),d()}},[e])}function Ko(e,n){return e&&e.id||`page-${n??0}`}function Yo(e,n){return e&&e.key||`step-${n??0}`}function pr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function M3(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const L3=300,$3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Ln=Object.freeze({}),bc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function yc(e){const n=e,a=n?.results||n?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,s=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:r!=null?s:null,total:r}}const R3=e=>t.jsx(gc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function P3(e){const{scenario:n,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:u,pageIndex:d,pageCount:c,stepIndex:p,stepCount:m,onBack:C,onComplete:g,onNext:v,onSettings:f,useNoiseSetting:y=!0,children:w,ariaLabel:h,label:_,buildResults:b,onResult:A,typeKey:x,entryPoint:N,dailyTotal:B,itemRef:k,renderResultPopup:E,noiseOverride:S}=e;T3(x&&!bc.has(x)?x:"");const z=o.useRef(0);o.useEffect(()=>{z.current=Date.now()},[]);const{t:R}=be.useTranslation(),U=A,j=!!n,L=n?.id||null,F=n?.meta||{},K=Array.isArray(n?.pages)?n.pages:[],te=Array.isArray(w)||o.isValidElement(w)&&typeof w!="function"?o.Children.toArray(w).filter(o.isValidElement):[],V=te.length>0,I=oe=>oe===dr||oe?.__isTrainingPage===!0,q=V&&te.some(oe=>I(oe.type)),H=q?te.filter(oe=>I(oe.type)).map((oe,ye)=>{const G=oe.props||{};return{id:`children-page-${ye}`,steps:o.Children.toArray(G.children).filter(o.isValidElement),pageTop:G.pageTop||G.top||null,pageBottom:G.pageBottom||G.bottom||null}}):[{id:"children-page-0",steps:te}],D=V&&!j&&typeof w!="function",O=D?Math.max(1,H.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const oe=document.body;return oe.dataset.ihabTrainingPopupCount=String(Number(oe.dataset.ihabTrainingPopupCount||"0")+1),oe.classList.add("ihab-training-popup-open"),()=>{const ye=Number(oe.dataset.ihabTrainingPopupCount||"1")-1;ye>0?oe.dataset.ihabTrainingPopupCount=String(ye):(delete oe.dataset.ihabTrainingPopupCount,oe.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return E4()},[]);const[M,P]=o.useState({...Pa,enabled:!1}),$=o.useRef(M);o.useEffect(()=>{$.current=M},[M]);const Y=o.useRef(S),ne=o.useRef(!1),J=o.useRef(null);o.useEffect(()=>{let oe=!1;const ye=G=>{if(oe)return;ne.current=!0;const le=G?Ra({...Pa,enabled:!1},G):{...Pa},ce=J.current;J.current=null;const ve=ce?Ra(le,ce):le;$.current=ve,P(ve),ce&&!Y.current&&ii(ve),Wa(ve);const _e=Y.current;if(_e){const Te=typeof _e=="function"?_e(ve):_e,rt=Ra(ve,Te);$.current=rt,P(rt),Wa(rt)}};return TC().then(ye),()=>{oe=!0}},[]);const[ae,ue]=o.useState(null),[ie,xe]=o.useState(null),W=o.useCallback((oe,ye)=>{oe==="main"?ue(ye):xe(ye)},[]),Q=o.useRef(null),se=o.useRef(null),ke=o.useCallback(()=>{se.current!==null&&(clearTimeout(se.current),se.current=null);const oe=Q.current;Q.current=null,oe&&ii(oe)},[]);o.useEffect(()=>{if(typeof window>"u")return;const oe=()=>{document.visibilityState==="hidden"&&ke()};return window.addEventListener("pagehide",ke),document.addEventListener("visibilitychange",oe),()=>{window.removeEventListener("pagehide",ke),document.removeEventListener("visibilitychange",oe),ke()}},[ke]);const me=o.useCallback(oe=>{const ye=Ra($.current,oe);if($.current=ye,P(ye),!ne.current){J.current={...J.current??{},...oe},Wa(ye);return}Y.current||(Q.current=ye,se.current!==null&&clearTimeout(se.current),se.current=setTimeout(ke,L3)),Wa(ye)},[ke]),re=M.mainSpeed,Ce=M.mainVolume,ge=o.useCallback(oe=>me({mainSpeed:oe}),[me]),Ee=o.useCallback(oe=>me({mainVolume:oe}),[me]),Re=o.useMemo(()=>({settings:M,setSettings:me,registerAnalyser:W,mainAnalyser:ae,noiseAnalyser:ie,playbackRate:re,setPlaybackRate:ge,mainVolume:Ce,setMainVolume:Ee}),[M,me,W,ae,ie,re,ge,Ce,Ee]),Le=o.useRef(null),[Je,Qe]=o.useState(0),qe=o.useRef([]),[Fe,st]=o.useState("center"),[et,Ye]=o.useState(!1),Se=o.useRef(!1),Ae=o.useRef(null),ee=o.useCallback(oe=>{Se.current||(Se.current=!0,Ye(!0),Ae.current=setTimeout(()=>{try{oe()}catch{Se.current=!1,Ye(!1)}},$3()?0:u3))},[]);o.useEffect(()=>()=>{Ae.current&&clearTimeout(Ae.current)},[]);const fe=o.useRef(C);o.useEffect(()=>{fe.current=C}),o.useEffect(()=>{const oe=Le.current,ye=document.activeElement;if(Vr(oe,ye),oe){const G=Array.from(oe.querySelectorAll(mn)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(G)try{G.focus()}catch{}}return()=>{const G=document.activeElement;if(!G||G===document.body||oe&&oe.contains(G))try{Wr(ye)?.focus?.()}catch{}}},[]),o.useEffect(()=>zn(()=>ee(()=>{const oe=fe.current;typeof oe=="function"&&oe()})),[ee]),Hr(Le,!0);const[ze,Be]=o.useState(!1),je=o.useRef(!1),[pe,$e]=o.useState(null),nt=o.useRef(0),_t=()=>{nt.current+=1,$e(null)},[kt,dt]=o.useState(""),[Ze,We]=o.useState(()=>pr()),Pe=o.useRef(typeof d=="number"?d:null);o.useEffect(()=>{!j&&!D||(We(pr()),_t())},[j,L,D]),o.useEffect(()=>{D&&We(oe=>{const ye=Math.max(0,Math.min(oe.pageIndex,Math.max(0,O-1)));return ye!==oe.pageIndex?{...oe,pageIndex:ye,stepIndex:0}:oe})},[D,O]);const Xe=D?Math.max(0,Math.min(Ze.pageIndex,O-1)):0,Oe=D?H[Xe]:null,it=D&&Oe&&Array.isArray(Oe.steps)?Oe.steps:[],Ge=j?Ze.pageIndex:D?Xe:typeof d=="number"?d:0,ft=j?K[Math.max(0,Math.min(Ze.pageIndex,Math.max(0,K.length-1)))]:null,jt=j&&ft&&Array.isArray(ft.steps)?ft.steps:[],Bt=j?jt.length:D?it.length:typeof m=="number"?m:0,mt=j||D?Math.max(0,Math.min(Ze.stepIndex,Math.max(0,Bt))):typeof p=="number"?p:0,lt=j?K.length:D?O:typeof c=="number"?c:0;o.useLayoutEffect(()=>{const oe=Pe.current;if(typeof Ge=="number"&&oe!==null&&Ge!==oe&&Ge>oe)try{dt(R("training.problemNotice",{n:Ge+1}))}catch{}Pe.current=typeof Ge=="number"?Ge:Pe.current},[Ge,d,R]),o.useLayoutEffect(()=>{const oe=Le.current;if(!oe)return;const ye=()=>oe.querySelector(".page-popup__scroll");let G=null,le=null,ce=null;const ve=ut=>{const vt=ye();if(!vt)return;const Rt=vt.scrollHeight<=vt.clientHeight;if(st(Rt?"center":"top"),ut&&!je.current){je.current=!0;try{Be(!0)}catch{}try{rt.disconnect()}catch{}}},_e=()=>{G!==null&&cancelAnimationFrame(G),G=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>ve(!0),60)})},Te=()=>{ce!==null&&cancelAnimationFrame(ce),ce=requestAnimationFrame(()=>ve(!1))};_e(),window.addEventListener("resize",Te);const rt=new MutationObserver(_e);rt.observe(oe,{childList:!0,subtree:!0,attributes:!0});const gt=setTimeout(()=>{je.current||ve(!0)},400);return()=>{window.removeEventListener("resize",Te),G!==null&&cancelAnimationFrame(G),le!==null&&clearTimeout(le),ce!==null&&cancelAnimationFrame(ce),clearTimeout(gt);try{rt.disconnect()}catch{}}},[Le]);const He=o.useCallback(oe=>{Le.current&&(Le.current._childOnNext=oe)},[]),at=o.useCallback(oe=>{Le.current&&(Le.current._childOnResult=oe)},[]),ht=o.useCallback((oe,ye,G)=>{We(le=>{const ce=le.answersByPage[oe]||{},ve=ce[ye],_e=Uo(G),Te=Uo(ve);return ve&&Te>_e?le:{...le,answersByPage:{...le.answersByPage,[oe]:{...ce,[ye]:G}}}})},[We]),Ot=o.useCallback((oe,ye,G)=>{const le=Ko(ft,Ge),ce=Yo(oe,ye);ht(le,ce,G)},[ft,Ge,ht]),tt=o.useCallback((oe,ye,G)=>{const le=Ko(ft,Ge),ce=Yo(oe,ye);ht(le,ce,G),!G?.allowChange&&oe?.autoAdvance!==!1&&We(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,ye+1)}))},[ft,Ge,ht,We]),Tt=o.useCallback((oe,ye)=>{const G=Oe?.id||`children-page-${Ge??0}`,le=typeof ye=="number"?ye:mt??0,ce=`step-${le}`;ht(G,ce,oe),oe?.allowChange||We(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,le+1)}))},[Oe,Ge,mt,ht,We]),Yt=o.useCallback((oe,ye)=>{const G=Oe?.id||`children-page-${Ge??0}`,le=`step-${typeof ye=="number"?ye:mt??0}`;ht(G,le,oe)},[Oe,Ge,mt,ht]),Mt=D?{currentPageIndex:Ge??0,currentStepIndex:mt??0,totalStepsInPage:it.length,handleStepDone:Tt,handleStepChange:Yt}:null,ln=async()=>{const oe=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:K,flowState:Ze,answersByPage:Ze.answersByPage})):null;return typeof U=="function"&&await Promise.resolve(U(oe))||oe},un=async()=>{const oe=Oe?.id||`children-page-${Ze.pageIndex}`,ye=Ze.answersByPage[oe]||{},G=q?(()=>{const ve={};let _e=0;return H.forEach(Te=>{const rt=Ze.answersByPage[Te.id]||{},gt=Array.isArray(Te.steps)?Te.steps.length:0;for(let ut=0;ut<gt;ut+=1){const vt=rt[`step-${ut}`];typeof vt<"u"&&(ve[`step-${_e+ut}`]=vt)}_e+=gt}),ve})():ye;if(typeof b=="function"){const ve=await Promise.resolve(b(G,{pageAnswers:ye,answersByPage:Ze.answersByPage,pages:H,currentPageId:oe}));return typeof U=="function"&&await Promise.resolve(U(ve))||ve}const le=Object.entries(ye).map(([ve,_e],Te)=>({index:Te,key:ve,payload:_e})),ce={results:le,answers:le,score:0};return typeof U=="function"&&await Promise.resolve(U(ce))||ce},cn=()=>{const oe=++nt.current,ye=()=>oe!==nt.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(j){const ce=ln();$e(Ln);const ve=ce;Promise.resolve(ve).then(_e=>{ye()||$e(_e||{isEmpty:!0})}).catch(_e=>{!ye()&&$e({isEmpty:!0})});return}if(D){const ce=un();$e(Ln);const ve=ce;Promise.resolve(ve).then(_e=>{ye()||$e(_e||{isEmpty:!0})}).catch(_e=>{!ye()&&$e({isEmpty:!0})});return}const G=Le.current&&Le.current._childOnResult,le=ce=>{try{return ce?ce():void 0}catch{return}};if(typeof G=="function"){const ce=le(G);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?$e(ce):$e(ce&&typeof ce.then=="function"?Ln:{});const ve=()=>{ye()||$e(_e=>_e===Ln?{}:_e)};Promise.resolve(ce).then(_e=>{_e&&!ye()?$e(_e):ve()}).catch(_e=>{ve()});return}if(typeof U=="function"){const ce=le(U);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?$e(ce):$e(ce&&typeof ce.then=="function"?Ln:{});const ve=()=>{ye()||$e(_e=>_e===Ln?{}:_e)};Promise.resolve(ce).then(_e=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}_e&&!ye()?$e(_e):ve()}).catch(_e=>{console.error("viewResults external handler failed",_e),ve()});return}},Rn=()=>{if(j){if(typeof Ge=="number"&&typeof lt=="number"&&Ge<lt-1){We(ye=>({...ye,pageIndex:ye.pageIndex+1,stepIndex:0}));return}return cn()}if(D){const ye=it.length;if(typeof mt=="number"&&mt<ye-1){We(G=>({...G,stepIndex:G.stepIndex+1}));return}if(typeof Ge=="number"&&typeof lt=="number"&&Ge<lt-1){We(G=>({...G,pageIndex:G.pageIndex+1,stepIndex:0}));return}return cn()}if(typeof v=="function"){try{v()}catch{}return}const oe=Le.current&&Le.current._childOnNext;if(typeof oe=="function"){try{oe()}catch{}return}},dn=j?F.title||F.label||h||R("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(s)?s[s.length-1]:void 0)||h||R("common.popup","\uD31D\uC5C5"),Pn=h||dn,Nn=j?F.title??F.label??dn:a??_??dn,Nt=(oe,ye)=>{const G=Ko(ft,Ge),le=Yo(oe,ye),ce=Ze.answersByPage[G]?.[le],ve=M3(oe,{page:ft,pageIndex:Ge,step:oe,stepIndex:ye,storedPayload:ce,answersByPage:Ze.answersByPage,flowState:Ze}),_e={key:le,index:ye,stepIndex:mt,isLast:ye===jt.length-1};switch(oe?.type){case"listen":return t.jsx(zo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te)});case"confirm":return t.jsx(Oo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});case"confirmWithText":return t.jsx(Ho,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});case"orderList":return t.jsx(Vo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});default:return null}},Cn=o.useRef(void 0);o.useEffect(()=>{const oe=Cn.current;if(Cn.current=Ge,oe===void 0||oe===Ge||!nr())return;const ye=Le.current;if(!ye)return;const G=document.activeElement;if(!(!G||G===document.body||!ye.contains(G)||G.disabled===!0))return;const le=ye.querySelector(`.training-steps ${mn.split(", ").join(", .training-steps ")}`)??Array.from(ye.querySelectorAll(mn)).find(ce=>!ce.closest('[aria-hidden="true"]'));try{le?.focus()}catch{}},[Ge]);const Ht=j?K.length>0?t.jsx("div",{className:"training-steps",children:jt.map((oe,ye)=>Nt(oe,ye))},`replay-${Je}`):t.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:t.jsx("div",{className:"pp-empty",children:n?.emptyMessage||R("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Zt=D?t.jsxs(cc.Provider,{value:Mt,children:[Oe?.pageTop?t.jsx("div",{className:"training-page-top",children:Oe.pageTop}):null,t.jsx("div",{className:"training-steps",children:it.map((oe,ye)=>{const G=oe;return o.cloneElement(G,{...G.props,_stepIndex:ye,_totalSteps:it.length,_stepKey:`step-${ye}`,_pageIndex:Ge})})},`replay-${Je}`),Oe?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:Oe.pageBottom}):null]}):null,fn=o.useCallback(()=>{let oe;if(x){const ye=pe,{results:G,correct:le,total:ce}=yc(pe);EC({items:jC(G),category:bc.has(x)?"sentence":"word",trainingType:x,entryPoint:N??"sentence",itemRef:k??null,correct:le,total:ce,score:typeof ye?.score=="number"?ye.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-z.current)/1e3)),dailyTotal:B??null}),oe={correct:le,total:ce,attempt:qe.current.length+1,previousAttempts:[...qe.current]}}_t(),ee(()=>{typeof g=="function"&&g(oe),typeof C=="function"&&C()})},[g,C,x,N,B,k,pe,$e,ee]),en=o.useCallback(()=>dt(""),[dt]),gn=o.useCallback(()=>{ee(()=>{typeof C=="function"&&C()})},[C,ee]),In=t.jsxs("div",{className:`page-popup${et?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Pn,children:[t.jsxs("div",{ref:Le,className:`page-popup__panel ${ze?"":"page-popup__panel--measuring"} ${Fe==="center"?"page-popup__panel--center":Fe==="top"?"page-popup__panel--top":""}`,children:[t.jsx(sc,{title:Nn,subtitle:j?F.subtitle||F.label:Array.isArray(s)?s.join(" / "):void 0,desc:j?void 0:r,depth:j?F.depth:s,icon:j?F.icon:i,wrapperStyle:j?F.wrapperStyle:l,iconTooltip:j?F.iconTooltip:u,progressMax:lt,progressIndex:Ge,pageIndex:Ge,pageCount:lt,onBack:gn,onClose:gn}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${Fe==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:D?Zt:j?Ht:typeof w=="function"?w({registerOnNext:He,registerOnResult:at,panelRef:Le,setResultOverlay:$e}):w})}),t.jsx(oc,{onSettings:f,onNext:Rn,onResult:cn,useNoiseSettingBtn:!!(j?F.useNoiseSetting??!0:y),stepIndex:mt,stepCount:Bt,pageIndex:Ge,pageCount:lt,resultOpen:!!(pe&&!pe.isEmpty)})]}),pe&&!pe.isEmpty&&(E??R3)({score:pe.score,results:pe.results||pe.answers||[],contextsLength:pe.results?pe.results.length:pe.answers?pe.answers.length:0,onReplay:()=>{if(z.current=Date.now(),pe!==Ln){const{correct:oe,total:ye}=yc(pe);qe.current.push({correct:oe,total:ye})}if(_t(),Qe(oe=>oe+1),j){if(We(pr()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(D){We(pr());return}try{const oe=Le.current&&Le.current._childOnResult;typeof oe=="function"&&oe({replay:!0})}catch{}},onClose:fn,pending:pe===Ln}),pe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:t.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:t.jsx("div",{className:"page-popup__empty",children:R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(de,{htmlType:"button",variant:"main",size:48,onClick:fn,label:R("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(ra,{message:kt,position:"top",onClose:en})]}),bn=t.jsx(Lo.Provider,{value:Re,children:In});return typeof document<"u"&&document.body?Xt.createPortal(bn,document.body):bn}const $n=P3;$n.Page=dr,$n.ListenStep=dc,$n.ConfirmStep=pc,$n.ConfirmWithTextStep=mc,$n.OrderListStep=hc,$n.CardStep=Cc,$n.CardOrderStep=S3;function I3({label:e,homonum:n}){const a=Xn()?.(e,n)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=_o(a);return i?t.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&t.jsx("div",{className:"tooltip-word-image__spinner"}),t.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:u})]}):t.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:t.jsx("span",{children:e})})}function vc({words:e,anchorRect:n}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!n||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,u=window.innerWidth;let d=n.left+n.width/2-i/2,c=n.top-l-8;c<8&&(c=n.bottom+8),d=Math.max(8,Math.min(d,u-i-8)),s({left:d,top:c})},[n]),!n||e.length===0?null:Xt.createPortal(t.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:t.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>t.jsx(I3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const F3=new Intl.Collator("ko");function O3({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:u,maxSelect:d,onClearSelection:c,onPrint:p,onPrintEmpty:m,className:C,emptyHint:g,sectionType:v="page",disc:f}){const{t:y,i18n:w}=be.useTranslation(),h=w.language?.startsWith("ko")??!1,{anchorRect:_,openAt:b,close:A}=wa(),[x,N]=o.useState(null),B=o.useCallback(()=>{A(),N(null)},[A]);cb(B,!!x);const k=(r??"").trim(),E=/^[^,[\]\s]+$/.test(k)?k:"",S=E.length>0,z=r===void 0&&n===void 0,R=S?"match":z?"original":"ganada",[U,j]=o.useState(()=>R),[L,F]=o.useState("50"),[K,te]=o.useState(1),[V,I]=o.useState(S);V!==S&&(I(S),j(R));const q=U==="match"&&!S||U==="original"&&!z?R:U,H=o.useMemo(()=>[...S?[{value:"match",label:y("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...z?[{value:"original",label:y("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:y("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:y("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:y("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:y("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:y("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:y("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[y,S,z]),D=o.useMemo(()=>["10","25","50","100"].map(re=>({value:re,label:y("wordSearch.pageSize",{count:Number(re),defaultValue:`${re}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),O=re=>re.words?.[0],M=o.useMemo(()=>{const re=[...E].length,Ce=hC(E),ge=new Map;return Ee=>{let Re=ge.get(Ee);return Re===void 0&&(Re=Ce((Ee.words?.[0]?.label??"").slice(0,re))?0:1,ge.set(Ee,Re)),Re}},[E]),P=o.useCallback((re,Ce)=>{const ge=Le=>O(Le)?.label??"",Ee=Le=>O(Le)?.syllables??[...ge(Le)].length,Re=Le=>(Le.words??[]).reduce((Je,Qe)=>{const qe=parseInt(Qe.grade??"",10);return Number.isFinite(qe)&&qe<Je?qe:Je},999);switch(q){case"match":return M(re)-M(Ce)||F3.compare(ge(re),ge(Ce));case"ganada":return ge(re).localeCompare(ge(Ce),"ko");case"ganada_desc":return ge(Ce).localeCompare(ge(re),"ko");case"syllable":return Ee(re)-Ee(Ce)||ge(re).localeCompare(ge(Ce),"ko");case"syllable_desc":return Ee(Ce)-Ee(re)||ge(re).localeCompare(ge(Ce),"ko");case"grade":return Re(re)-Re(Ce)||ge(re).localeCompare(ge(Ce),"ko");case"grade_desc":return Re(Ce)-Re(re)||ge(re).localeCompare(ge(Ce),"ko");default:return 0}},[q,M]),$=o.useMemo(()=>s.slice().sort(P),[s,P]),Y=Number(L)||10,ne=o.useMemo(()=>(i??[]).flatMap(re=>re.items.slice().sort(P).map(Ce=>({item:Ce,label:re.label}))),[i,P]),J=i?ne.length:$.length,ae=Math.max(1,Math.ceil(J/Y)),ue=Math.min(K,ae),ie=o.useMemo(()=>$.slice((ue-1)*Y,ue*Y),[$,ue,Y]),xe=o.useMemo(()=>{if(!i)return null;const re=ne.slice((ue-1)*Y,ue*Y),Ce=new Map;for(const{item:ge,label:Ee}of re)Ce.has(Ee)||Ce.set(Ee,[]),Ce.get(Ee).push(ge);return[...Ce.entries()].map(([ge,Ee])=>({label:ge,items:Ee}))},[i,ne,ue,Y]);o.useEffect(()=>{te(1)},[U,L,J,r]);const W=J>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(sn,{size:40,options:H,value:q,onChange:j,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(sn,{size:40,options:D,value:L,onChange:F,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(Qa,{page:ue,totalPages:ae,onChange:te})]}):void 0,Q=re=>{u&&u(re)},se=n!==void 0&&a?t.jsxs(t.Fragment,{children:[y("wordSearch.resultTitlePrefix","\uCD1D "),t.jsx("span",{style:{color:"var(--color-main)"},children:n}),y("wordSearch.resultTitleSuffix",{unit:h?_C(a):a})]}):void 0,ke=n!==void 0&&n>0&&d!==void 0&&a?y("wordSearch.resultDisc",{unit:h?AC(a):a,max:d,selected:l.length}):void 0,me=f??ke;return t.jsxs(sa,{type:v,className:De("word-search-result-block",C),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(se||W||me)&&t.jsxs("div",{className:"word-search-result-block__head",children:[t.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&t.jsx(Ke,{icon:e,className:"word-search-result-block__head-icon"}),se&&t.jsx("span",{className:"word-search-result-block__title h3",children:se})]}),W&&t.jsx("div",{className:"word-search-result-block__head-actions",children:W}),me&&t.jsx("div",{className:"word-search-result-block__head-disc body-3",children:me})]}),(i?i.length===0:s.length===0)&&t.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[t.jsx("p",{className:"word-search-result-block__empty body-3",children:y("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(xe??[]).map(re=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:re.items.map(Ce=>{const ge=l.includes(Ce.id);return t.jsx("div",{onMouseEnter:Ee=>{b(Ee.currentTarget),N(Ce.words??[])},onMouseLeave:B,children:t.jsx(de,{htmlType:"button",size:"word",align:"grid",label:(Ce.words??[]).map(Ee=>Ee.label),subLabel:(Ce.words??[]).some(Ee=>Ee.subLabel)?(Ce.words??[]).map(Ee=>Ee.subLabel):void 0,selected:ge,onClick:()=>Q(Ce.id),minWidth:200})},Ce.id)})})},re.label)):t.jsx("div",{className:"word-search-result-block__items",children:ie.map(re=>{const Ce=l.includes(re.id);return t.jsx("div",{onMouseEnter:ge=>{b(ge.currentTarget),N(re.words??[])},onMouseLeave:B,children:t.jsx(de,{htmlType:"button",size:"word",align:"grid",label:(re.words??[]).map(ge=>ge.label),subLabel:(re.words??[]).some(ge=>ge.subLabel)?(re.words??[]).map(ge=>ge.subLabel):void 0,selected:Ce,onClick:()=>Q(re.id),minWidth:200})},re.id)})}),x&&_&&t.jsx(vc,{words:x,anchorRect:_})]}),ae>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(Qa,{page:ue,totalPages:ae,onChange:te})}),(c||p)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[c&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:y("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:c}),p&&t.jsx("div",{onClick:l.length===0?m:void 0,children:t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",label:y("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function H3(e,n){return n.map(a=>{const r=typeof a=="string"?a:a.label,s=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:s}})}function z3({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:d,placeholder:c="-",className:p,title:m,titleIcon:C,disc:g,showInfoButton:v=!0,onClearPhoneme:f,onSearch:y,onSearchEmpty:w,searchDisabled:h=!1,searchLabel:_,searchChecking:b=!1,pairMode:A=!1,sectionType:x="page",beforeSearchContent:N,beforeContent:B,afterContent:k,hideCountControl:E=!1,ordinal:S=!1}){const{t:z}=be.useTranslation(),R=o.useMemo(()=>z("wordPairs.infoNotes",{returnObjects:!0}),[z]),U=o.useMemo(()=>Array.from({length:s-i+1},(M,P)=>{const $=i+P;return{key:String($),label:z("wordPairs.count",{n:$})}}),[z,s,i]),j=o.useMemo(()=>z("wordPairs.ordinals",{returnObjects:!0}),[z]),L=o.useCallback(M=>S?z("wordPairs.phonemeOrdinalLabel",{ordinal:j[M-1]??M}):a===1?z("wordPairs.phonemeSingleLabel","\uC74C\uC808"):z("wordPairs.phonemeN",{n:M}),[S,j,a,z]),F=o.useCallback(M=>S?z("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[M-1]??M}):a===1?z("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):z("wordPairs.phonemeContrast",{n:M}),[S,j,a,z]),K=o.useCallback((M,P)=>P?t.jsxs(t.Fragment,{children:[M,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):M,[]),{anchorRect:te,toggleAt:V,close:I}=wa(),q=o.useCallback(M=>r(Number(M)),[r]),H=tn("(max-width: 767px)"),D=o.useCallback(M=>H3(M,e).map(({label:P,value:$,displayLabel:Y})=>{const ne=!!$&&$!=="\uC5C6\uC74C";return t.jsxs("span",{className:De("phoneme-select-block__cell-jamo-part",$?"":"phoneme-select-block__cell-jamo-part--empty",ne?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${$==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:$==="\uC5C6\uC74C"?"x":$||c}),ne&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Y??P})]},P)}),[e,c]),O=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:40,type:H?"dot":void 0,icon:"info",label:H?void 0:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:te?"is-selected":void 0,"aria-expanded":!!te,"aria-haspopup":"dialog",onClick:M=>V(M.currentTarget)})}),te&&t.jsx(Vn,{title:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:R,anchorRect:te,onClose:I})]});return t.jsxs(sa,{type:x,title:m,icon:C,disc:g,action:v?O:void 0,className:De("phoneme-select-block",p),children:[B,!E&&t.jsx("div",{className:"phoneme-select-block__controls",children:t.jsx(An,{options:U,value:String(a),onChange:q,size:40,className:"phoneme-select-block__count-control"})}),t.jsx("div",{className:"phoneme-select-block__cells",children:A?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,P)=>{const $=n[P*2]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D($)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:L(P+1)})]},P)})}),t.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:z("wordPairs.phonemeSelect.vs","\uB300")}),t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,P)=>{const $=n[P*2+1]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D($)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(P+1)})]},P)})})]}):n.map((M,P)=>t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(M)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:L(P+1)})]},P))}),(l||u)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:A?t.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((M,P)=>{const $=n[P*2]??{};return t.jsx(Bn,{title:K(L(P+1),P===0),sections:u?u($,P*2):l,selected:$,onSelect:d?.(P*2),align:"newline"},P)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((M,P)=>{const $=n[P*2+1]??{};return t.jsx(Bn,{title:F(P+1),sections:u?u($,P*2+1):l,selected:$,onSelect:d?.(P*2+1),align:"newline"},P)})})]}):n.map((M,P)=>t.jsx(Bn,{title:K(L(P+1),P===0),sections:u?u(M,P):l,selected:M,onSelect:d?.(P),align:"newline"},P))})}),N&&t.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(f||y||b)&&(()=>{const M=n.every(P=>Object.entries(P).every(([$,Y])=>!Y||$==="\uC885\uC131"&&Y==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:M?w:void 0,children:[f&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:z("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:M,onClick:M?void 0:f}),y?t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:b?t.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:_??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:M||h||b,onDisabledClick:b?()=>{}:void 0,"aria-busy":b||void 0,onClick:y}):b?t.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[t.jsx("div",{className:"phoneme-select-block__spinner"}),t.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),k]})}function V3({title:e,sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,headerAction:c,className:p}){const{t:m}=be.useTranslation();return t.jsx(Bn,{className:p,title:e??m("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,headerAction:c,align:"inline"})}function W3({title:e,headerAction:n,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=be.useTranslation();return a.length===0?null:t.jsx(Bn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:s,align:"newline"})}function q3({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:d,className:c}){const{t:p}=be.useTranslation(),m={searchMode:p("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:p("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:p("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:p("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:p("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:p("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:p("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:p("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:p("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:p("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:p("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},C=y=>p("wordPairs.count",{n:y}),g=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:t.jsx(Ea,{title:p("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[p("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),p("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),p("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:m.phonemeOrder,items:[m.orderAny,m.orderMatch],display:"segmented",labelAction:t.jsx(Ea,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[C(1),C(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:t.jsx(Ea,{title:p("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[p("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),p("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],v={[m.searchMode]:n==="explicit"?m.explicit:n==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:C(i),[m.inputMode]:u==="phoneme"?m.pronInput:m.charInput},f=(y,w)=>{w===m.searchMode?a(y===m.explicit?"explicit":y===m.pick?"pick":"include"):w===m.phonemeOrder?s(y===m.orderMatch?"ordered":"unordered"):w===m.count?l(y===C(2)?2:1):w===m.inputMode&&d(y===m.pronInput?"phoneme":"word")};return t.jsx(Bn,{className:c,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:v,onSelect:f,align:"inline"})}function U3(e){const{title:n,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:u,defaultSortKey:d,defaultSortAsc:c=!0,selectedId:p,selectedIds:m,onSelect:C,onClose:g,pageSizeOptions:v=[10,25,50,100],initialPageSize:f,emptyText:y,countLabel:w,topContent:h,className:_=""}=e,{t:b}=be.useTranslation(),A=l??b("common.search","\uAC80\uC0C9"),x=y??b("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[N,B]=o.useState(""),[k,E]=o.useState(d??r[0]?.key??""),[S,z]=o.useState(c),[R,U]=o.useState(String(f??v[0]??10)),[j,L]=o.useState(1);o.useEffect(()=>{L(1)},[N,R]);const F=u!==null,K=o.useCallback(($,Y)=>{if(!Y)return!0;const ne=Y.toLowerCase();return r.some(J=>{const ae=$[J.key];return ae==null?!1:String(ae).toLowerCase().includes(ne)})},[r]),te=u??K,V=o.useMemo(()=>{const $=F?a.filter(Y=>te(Y,N)):a;return k?[...$].sort((Y,ne)=>{const J=Y[k],ae=ne[k];return J===ae?0:Jr(J,ae,S)}):$},[a,N,k,S,F,te]),I=Math.max(1,Math.ceil(V.length/Number(R)));j>I&&L(I);const q=Math.min(j,I),H=V.slice((q-1)*Number(R),q*Number(R)),D=o.useCallback($=>{k===$?z(Y=>!Y):(E($),z(!0)),L(1)},[k]),O=o.useMemo(()=>{if(typeof w=="function"){const $=V.length,Y=w($);if(typeof Y=="string"){const ne=Y.lastIndexOf(String($));if(ne>=0)return{prefix:Y.slice(0,ne),suffix:Y.slice(ne+String($).length)}}return{label:Y}}if(typeof w=="string"&&w.includes("{n}")){const[$,Y]=w.split("{n}");return{prefix:$,suffix:Y}}return{prefix:b("common.totalCountPrefix","\uCD1D "),suffix:b("common.totalCountSuffix","\uAC1C")}},[w,V.length,b]),M=o.useMemo(()=>r.map($=>({label:$.label,onClick:$.sortable!==!1?()=>D($.key):void 0,className:$.className,sortDir:$.sortable!==!1&&k===$.key?S?"asc":"desc":null})),[r,k,S,D]),P=o.useMemo(()=>v.map($=>({value:String($),label:b("common.pageSizeLabel",{n:$})})),[v,b]);return t.jsxs(Tn,{className:`popup-list ${_}`,title:n,onClose:g,children:[h,"label"in O&&t.jsx("p",{className:"toolbar__count body-1",children:O.label}),t.jsx(uo,{count:"label"in O?void 0:{value:V.length,prefix:O.prefix,suffix:O.suffix},search:F?{value:N,onChange:B,placeholder:A}:void 0,pageSize:{options:P,value:R,onChange:U},pagination:{page:q,total:I,onChange:L}}),t.jsx(yo,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:M,items:H,onRowClick:C,renderRow:$=>{const Y=m!=null?$.id!=null&&m.has($.id):p!=null&&$.id===p;return r.map(ne=>({content:ne.render?ne.render($):$[ne.key]??"",className:De(ne.className,Y&&"popup-list__row--selected")}))},empty:x})]})}function xc(e){const{title:n,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:u,hideCancel:d=!1,extraAction:c,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:C,closeOnConfirm:g=!0,onClose:v,inline:f,size:y="small",className:w,initialFocus:h="close"}=e,{t:_}=be.useTranslation(),b=o.useRef(null);o.useEffect(()=>{if(f||h==="close")return;const E=b.current?.closest(".popup-panel"),S=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),z=h==="confirm"?S[S.length-1]:d?void 0:S[c?1:0];z&&!z.disabled&&z.focus()},[]);const A=o.useRef(!1),[x,N]=o.useState(!1),B=E=>{let S=!1;return{close:()=>{S=!0,E()},\uB2EB\uC558\uB098:()=>S}},k=async E=>{if(A.current)return;A.current=!0;const S=typeof document<"u"?document.activeElement:null;N(!0);let z=!1;try{z=await E()}catch(R){typeof console<"u"&&console.error(R)}finally{z||(A.current=!1,N(!1),requestAnimationFrame(()=>{const R=document.activeElement;(!R||R===document.body)&&S?.isConnected&&S.focus()}))}};return t.jsxs(Tn,{title:n,onClose:v,closeDisabled:x,inline:f,size:y,className:De("confirm-popup",r!=null&&"confirm-popup--has-top",w),buttons:[...c?[{label:c.label,variant:c.variant??"default",disabled:c.disabled||x,onClick:async({closeWithAnimation:E})=>{await k(async()=>{const S=B(E);await c.onClick(S.close);const z=c.closeOnClick??!0;return z&&E(),z||S.\uB2EB\uC558\uB098()})}}]:[],...d?[]:[{label:u??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??_("common.confirm","\uD655\uC778"),variant:p,disabled:m||x,onClick:async({closeWithAnimation:E})=>{await k(async()=>{const S=B(E);return await C(S.close),g&&E(),g||S.\uB2EB\uC558\uB098()})}}],children:[r!=null&&t.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&t.jsx(cr,{children:s.map((E,S)=>t.jsx(Mn,{label:E.label,children:t.jsx("span",{className:"panel-row__text body-2",children:E.value})},S))}),t.jsx("p",{ref:b,className:"body-2 confirm-popup__message",children:a}),i]})}function G3(e,n,a={}){const{t:r}=be.useTranslation(),[s,i]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),d=o.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),c=s?t.jsx(xc,{title:a.title??r("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??r("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??r("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{i(!1),n()},onClose:()=>i(!1)}):null;return{beforeClose:d,discardPopup:c,allowClose:u}}function K3({onApply:e,onCancel:n}){const{t:a}=be.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,d]=o.useState(null),c=o.useRef(null);o.useEffect(()=>{c.current?.focus()},[]);const p=o.useCallback(async g=>{const v=r.trim();if(v){l(!0),d(null);try{await e(v),g()}catch(f){d(ai(f)),l(!1),requestAnimationFrame(()=>c.current?.focus())}}},[r,e]),m=o.useCallback((g,v)=>{g.key==="Enter"&&!g.nativeEvent.isComposing&&p(v)},[p]),C=g=>{s(g.target.value),d(null)};return t.jsx(Tn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:n,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{p(g)}}],children:({closeWithAnimation:g})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:c,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:C,onKeyDown:v=>m(v,g),disabled:i,autoComplete:"off",spellCheck:!1}),u&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const _c=["var(--color-main)","var(--color-sub)"],Y3=2e3;function Z3(e,n){if(!n.startsWith("var("))return n;try{const a=n.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Zo({active:e=!1,count:n=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const f=Math.floor(n/2),y=n-f,w=(h,_)=>Array.from({length:h}).map((b,A)=>{const x=6+Math.random()*12,N=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),B=_c[Math.floor(Math.random()*_c.length)],k=Math.random()*300,E=(360+Math.random()*260)*r*1.2,S=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,z=Math.cos(S)*E,R=Math.sin(S)*E*1.35,U=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),L=Math.random()>.7?"50%":"3px";return{id:`${_}-${A}`,side:_,size:N,color:B,delay:k,vx:z,vy:R,angularVel:U,life:j,borderRadius:L}});return[...w(f,"left"),...w(y,"right")]},[n,r]),u=o.useRef(null),d=o.useRef({}),c=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),C=o.useRef(null),g=()=>{if(typeof document>"u")return null;let f=document.querySelector("[data-ihab-effect-root]");return f||(f=document.createElement("div"),f.className="app-effect",f.dataset.ihabEffectRoot="",f.style.position="fixed",f.style.inset="0",f.style.pointerEvents="none",f.style.zIndex="99998",document.body.appendChild(f)),f};if(typeof document<"u"&&C.current==null&&(C.current=g()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const I=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(I)}const f=1200,y=performance.now(),w=C.current&&C.current!==document.body?C.current.getBoundingClientRect():null,h=Math.max(60,(window.innerHeight||800)*.05),_=I=>Math.max(40,(I||window.innerWidth)*.02),b=w?.width||window.innerWidth||375,A=w?.height||window.innerHeight||812,x=I=>{const q=[...I].sort((H,D)=>H-D);return q[Math.floor(q.length/2)]||1},N=x(l.map(I=>Math.abs(I.vy))),B=x(l.map(I=>Math.abs(I.vx))),k=Math.sqrt(2*f*(A*.72+h))/N,E=N*k/f,S=b*.5/(B*E),z=(I,q,H)=>Math.min(H,Math.max(q,I)),R=z(k,.8,2.4),U=z(S,.7,2.2),j=a>0?a/Y3:1,L=l.map(I=>({...I,life:I.life*j,vx:I.vx*U,vy:I.vy*R,startTime:y+I.delay,ended:!1})),F=w?{x:w.left-_(w.width),y:w.top+w.height+h}:{x:-_(window.innerWidth),y:window.innerHeight+h},K=w?{x:w.left+w.width+_(w.width),y:w.top+w.height+h}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+h},te=I=>{let q=!1;for(const H of L){const D=d.current[H.id];if(!D||!D)continue;if(I<H.startTime){D.style.display="none",q=!0;continue}if(!H._inited){const ie=H.side==="left"?F.x:K.x,xe=H.side==="left"?F.y:K.y;D.style.left=`${ie}px`,D.style.top=`${xe}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof H.color=="string"&&H.color.startsWith("var(")&&(D.style.background=Z3(D,H.color)??"#FF0060"),H._inited=!0}const O=(I-H.startTime)/1e3;if(O<0)continue;const M=H.life/1e3;if(O>=M){D.style.opacity="0",D.style.display="none",H.ended=!0;continue}q=!0;const P=H.side==="left"?F.x:K.x,$=H.side==="left"?F.y:K.y,Y=P+H.vx*O,ne=$+H.vy*O+.5*f*O*O,J=(H.angularVel||0)*O,ae=Y-P,ue=ne-$;D.style.transform=`translate3d(${ae}px, ${ue}px, 0) rotate(${J}deg)`,D.style.opacity=`${Math.max(0,1-O/M)}`}q?c.current=requestAnimationFrame(te):p.current?.()};c.current=requestAnimationFrame(te);const V=setTimeout(()=>{try{if((C.current?C.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const I=document.createElement("div");I.className="party-container",I.style.position="fixed",I.style.inset="0",I.style.pointerEvents="none",I.style.overflow="visible",I.style.zIndex="2147483647";for(const q of l){const H=document.createElement("span");H.className=`confetti confetti--${q.side}`,H.setAttribute("aria-hidden","true"),H.style.display="none",H.style.position="fixed",H.style.left="0px",H.style.top="0px",H.style.width=`${q.size}px`,H.style.height=`${Math.max(4,q.size*.6)}px`,H.style.background=q.color,H.style.borderRadius=q.borderRadius,H.style.transform="translate3d(0,0,0)",H.style.opacity="0",I.appendChild(H),d.current[q.id]=H}(document.body||C.current).appendChild(I),m.current=I}}catch{}},300);return()=>{if(c.current&&cancelAnimationFrame(c.current),clearTimeout(V),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const v=t.jsx("div",{className:"party-container",ref:u,children:l.map(f=>t.jsx("span",{"aria-hidden":!0,ref:y=>{d.current[f.id]=y},className:`confetti confetti--${f.side}`,style:{width:`${f.size}px`,height:`${Math.max(4,f.size*.6)}px`,background:f.color,borderRadius:f.borderRadius}},`${f.id}-${i}`))});return typeof document<"u"?Xt.createPortal(v,C.current||document.body):v}const Xo=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function X3({trigger:e=0,active:n=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const u=l.detail??{};r(d=>({n:(d?.n??0)+1,count:Xo(u.count),strength:Xo(u.strength),duration:Xo(u.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return t.jsxs(t.Fragment,{children:[t.jsx(Zo,{active:n,trigger:e}),a&&t.jsx(Zo,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function J3({title:e,sub:n,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:u,backLabel:d,wrap:c=!1}){const{t:p}=be.useTranslation();Yg(typeof e=="string"?e:l??null);const m=d??p("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:c?"page-title page-title--wrap":"page-title",children:[t.jsxs("div",{className:"page-title__main",children:[t.jsxs("div",{className:"page-title__title-row",children:[u&&t.jsx(de,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:u}),t.jsx("h1",{className:"page-title__title h1",children:e}),s&&t.jsx("div",{className:"page-title__badge",children:t.jsx(yt,{label:s,size:"small",variant:i,fill:"outline"})}),r?t.jsx("div",{className:"page-title__title-action",children:r}):null]}),n&&t.jsx("p",{className:"page-title__sub body-2",children:n})]}),a?t.jsx("div",{className:"page-title__action",children:a}):null]})}function Q3(e){return e??""}const wc=o.createContext({words:[],loading:!1});function e7(){return o.useContext(wc)}function t7({words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:d,children:c}){return t.jsx(wc.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:d},children:c})}function n7({items:e,actions:n,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return t.jsx("section",{className:De("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:t.jsxs("div",{className:"summary-strip__row",children:[t.jsx("div",{className:"summary-strip__items",children:e.map((u,d)=>t.jsxs("div",{className:"summary-strip__item",children:[t.jsx("p",{className:"summary-strip__label caption-1",children:u.label}),t.jsx("p",{className:"summary-strip__value body-3b",title:typeof u.value=="string"||typeof u.value=="number"?String(u.value):void 0,children:u.value})]},d))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const a7=(e,n)=>`${e} / ${n}`;function r7({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:s=a7,pageWidth:i,pageHeight:l,margin:u,className:d,style:c}){const{t:p}=be.useTranslation(),m=o.useRef(null),C=o.useRef(null),g=o.useRef(null),v=o.useRef(null),[f,y]=o.useState(null),[w,h]=o.useState(!1);o.useEffect(()=>{const j=m.current;if(!j)return;const L=()=>h(j.scrollWidth>j.clientWidth+1);if(L(),typeof ResizeObserver>"u")return;const F=new ResizeObserver(L);return F.observe(j),()=>F.disconnect()},[f]);const _=e.map(j=>`${j.id}\0${j.section??""}\0${j.group??""}`).join(""),b=f&&f.shape===_?f.pages:null,[A,x]=o.useState(0);o.useEffect(()=>{const j=v.current;if(!j||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>x(j.offsetHeight));return L.observe(j),()=>L.disconnect()},[]);const[N,B]=o.useState(0);o.useEffect(()=>{const j=C.current;if(!j||typeof ResizeObserver>"u")return;let L=null;const F=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),te=new ResizeObserver(()=>{L==null&&(L=F(()=>{L=null,B(V=>V+1)}))});return Array.from(j.children).forEach(V=>te.observe(V)),()=>{te.disconnect(),L!=null&&K(L)}},[_]),o.useLayoutEffect(()=>{const j=C.current,L=v.current;if(!j||!L)return;const F=M=>M.getBoundingClientRect().height||M.offsetHeight,K=new Map;g.current?.querySelectorAll("[data-chrome-section]").forEach(M=>{K.set(M.dataset.chromeSection??"",F(M))});const te=M=>F(L)-(K.get(M??"")??0),V=Array.from(j.children).map(M=>F(M)),I=[];e.forEach((M,P)=>{const $=I[I.length-1],Y=$?e[$[0]]:void 0;Y&&M.group!=null&&Y.group===M.group&&Y.section===M.section?$.push(P):I.push([P])});const q=[];let H=[],D=0;const O=()=>{H.length&&q.push(H),H=[],D=0};I.forEach(M=>{const P=M.reduce((Y,ne)=>Y+V[ne],0),$=te(e[M[0]].section);H.length&&e[H[0]].section!==e[M[0]].section&&O(),P>$?M.forEach(Y=>{H.length&&D+V[Y]>$+.01&&O(),H.push(Y),D+=V[Y]}):(H.length&&D+P>$+.01&&O(),M.forEach(Y=>H.push(Y)),D+=P)}),O(),y(M=>M&&M.shape===_&&JSON.stringify(M.pages)===JSON.stringify(q)?M:{shape:_,pages:q})},[_,A,i,l,u,N]);const k=oo,E=k,S=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),z=(j,L,F)=>({header:t.jsxs("div",{className:"report-doc__header",children:[t.jsx("h2",{className:"report-doc__title h3b",children:F!=null&&n?.[F]||null}),a]}),footer:t.jsxs("div",{className:"report-doc__footer caption-1",children:[t.jsx("span",{className:"report-doc__footer-left",children:S}),t.jsx("span",{className:"report-doc__page-no",children:s(j,L)})]})}),R=Array.from(new Set(e.map(j=>j.section??""))),U={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...c};return t.jsxs("div",{ref:m,className:De("report-doc",d),style:U,tabIndex:w?0:void 0,role:w?"group":void 0,"aria-label":w?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[t.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[t.jsx("div",{ref:v,className:"report-doc__ruler"}),t.jsx("div",{ref:g,children:R.map(j=>{const L=z(1,1,j||void 0);return t.jsxs("div",{"data-chrome-section":j,children:[L.header,L.footer]},j)})}),t.jsx("div",{ref:C,className:"report-doc__measure-blocks",children:e.map(j=>t.jsx("div",{children:j.content},j.id))})]}),b&&t.jsx("div",{className:"report-doc__pages",children:b.map((j,L)=>{const{header:F,footer:K}=z(L+1,b.length,e[j[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[F,j.map(te=>t.jsx("div",{children:e[te].content},e[te].id)),K]},L)})})]})}function o7({title:e,fields:n,columns:a=4,className:r,style:s}){return t.jsxs("div",{className:De("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&t.jsx("p",{className:"report-info__title h5b",children:e}),t.jsx("div",{className:"report-info__grid",children:n.map((i,l)=>t.jsxs("div",{className:"report-info__field body-2",children:[t.jsx("span",{className:"report-info__label body-3",children:i.label}),t.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const Kn=new Map;let mr=null;const s7=12;function i7(e){for(let n=e.parentElement;n&&n!==document.body;n=n.parentElement){const a=window.getComputedStyle(n);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return n}return document}function hr(){const e=new Map;for(const n of Kn.keys()){if(!n.isConnected)continue;const a=i7(n),r=e.get(a)??[];r.push(n),e.set(a,r)}for(const n of e.values()){n.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of n){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const s=r.getBoundingClientRect().height;s>0&&(a+=s+s7)}}}function l7(e){return typeof window>"u"?()=>{}:(Kn.set(e,(Kn.get(e)??0)+1),Kn.get(e)===1&&typeof ResizeObserver<"u"&&(mr??(mr=new ResizeObserver(()=>hr())),mr.observe(e)),hr(),()=>{const n=(Kn.get(e)??1)-1;if(n>0){Kn.set(e,n),hr();return}Kn.delete(e),mr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),hr()})}function u7({title:e,message:n,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=be.useTranslation(),d=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),c=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=c.current,C=m?.parentElement?.closest(".update-alert-stack")??m,g=C?l7(C):null;return()=>{g?.(),p.current&&m&&m.contains(document.activeElement)&&Ua(m)}},[]),t.jsxs("div",{ref:c,className:De("update-alert",l),role:"alert",children:[i&&t.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"}),t.jsxs("div",{className:"update-alert__top",children:[t.jsx("div",{className:"update-alert__icon",children:s??t.jsx(cs,{size:20,strokeWidth:2})}),t.jsxs("div",{className:"update-alert__body",children:[t.jsx("div",{className:"update-alert__title h4",children:e}),t.jsx("div",{className:"update-alert__message body-3",children:n})]})]}),r&&t.jsx(de,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}function c7({title:e,titleLevel:n=3,description:a,topActions:r,children:s,footerLeft:i,footerRight:l,onClick:u,draggable:d,onDragStart:c,onDragEnd:p,className:m}){const C=n?`h${n}`:"div",g=i!=null||l!=null,v=s!=null&&s!==!1,f=o.useCallback(y=>{u&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),u())},[u]);return t.jsxs("div",{className:De("training-card",u?"training-card--clickable":"",m),onClick:u,onKeyDown:u?f:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,draggable:d,onDragStart:c,onDragEnd:p,children:[t.jsxs("div",{className:"training-card__header",children:[t.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?t.jsx(C,{className:"training-card__title h4",children:e}):e,r!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:y=>y.stopPropagation(),children:r})]}),a!=null?typeof a=="string"?t.jsx("p",{className:"training-card__description body-3",children:a}):a:t.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),v&&t.jsx("div",{className:"training-card__body",children:s}),g&&t.jsxs("div",{className:"training-card__footer",children:[i!=null&&t.jsx("div",{className:"training-card__footer-left",children:i}),l!=null&&t.jsx("div",{className:"training-card__meta",children:l})]})]})}function d7({title:e,titleLevel:n=3,count:a,collapsed:r=!1,onToggle:s,sort:i,actions:l,empty:u=!1,emptyContent:d,dragOver:c=!1,onDragOver:p,onDragLeave:m,onDrop:C,children:g,className:v}){const{t:f}=be.useTranslation(),y=o.useId(),w=n?`h${n}`:"span",h=s!=null,_=De("training-card-group",c&&"training-card-group--dragover",r&&"training-card-group--collapsed",h&&"training-card-group--collapsible",v);return t.jsxs("div",{className:_,onDragOver:p,onDragLeave:m,onDrop:C,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?y:void 0,children:[t.jsxs("header",{className:"training-card-group__header",children:[h&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:r?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?t.jsx(w,{id:y,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&t.jsx("span",{className:"training-card-group__count body-3b",children:a}),(i||l!=null)&&t.jsxs("span",{className:"training-card-group__actions",onClick:b=>b.stopPropagation(),children:[i&&t.jsx(sn,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange}),l]})]}),!r&&(u?t.jsx("div",{className:"training-card-group__empty body-3",children:d}):t.jsx("div",{className:"training-card-group__grid",children:g}))]})}const p7="speechear:saved_word_tables";function m7(e){if(typeof e!="object"||e===null)return!1;const n=e;return typeof n.id=="string"&&typeof n.name=="string"&&Array.isArray(n.items)}function h7(){try{const e=localStorage.getItem(p7);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(m7):[]}catch{return[]}}function Ac(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function Jo(e){return e.map(n=>n.homonum!=null?`${n.word}#${n.homonum}`:n.word).join("|")}function C7(e){const n=new Set;return e.map(a=>{let r=a.id;for(let s=2;n.has(r);s++)r=`${a.id}~${s}`;return n.add(r),r===a.id?a:{...a,id:r}})}function f7({title:e,titleIcon:n,disc:a,filterTitle:r,filterCollapsible:s,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:d,brand:c,code:p,items:m,onSaveComplete:C,onLoad:g,onRemoveItem:v,onReset:f,resetLabel:y,saveButtonLabel:w,secondarySaveButtonLabel:h,onReorder:_,showCellCount:b,onAddItem:A,className:x,renderSavePopup:N,renderWordSearch:B,hideControls:k,saveOnly:E,tableName:S,nameValue:z,onNameChange:R,descriptionValue:U,onDescriptionChange:j,namePlaceholder:L,descriptionPlaceholder:F,existingNames:K,editingName:te,onCancel:V,initialItemsPerPage:I,renderCellAction:q,actionsLeftExtra:H}){const{t:D}=be.useTranslation(),O=y??D("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),M=m===void 0,P=!!R,[$,Y]=o.useState([]),ne=(z??"").trim(),J=ne||(L??"").trim(),ae=(U??"").trim()||(F??"").trim(),ue=(K??[]).map(Ne=>Ne.trim().toLowerCase()),ie=[te?.trim().toLowerCase(),...$].filter(Ne=>!!Ne),xe=[...ue];for(const Ne of ie){const Ve=xe.indexOf(Ne);Ve!==-1&&xe.splice(Ve,1)}const W=ne!==""&&xe.includes(ne.toLowerCase()),[Q,se]=o.useState(Array(4).fill(null)),[ke,me]=o.useState(4),[re,Ce]=o.useState(null),ge=Q.slice(0,ke),Ee=!!c?.show,[Re,Le]=o.useState(!0),[Je,Qe]=o.useState(!0),qe=c&&{...c,top:Re,bottom:Je},[Fe,st]=o.useState("landscape"),[et,Ye]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[Se,Ae]=o.useState("\uD45C\uC2DC"),[ee,fe]=o.useState(!0),[ze,Be]=o.useState(!0),je=o.useRef(null),pe=o.useRef([]),[$e,nt]=o.useState(I==="all"?Number.POSITIVE_INFINITY:I??8),[_t,kt]=o.useState("right"),[dt,Ze]=o.useState(!1),[We,Pe]=o.useState(!1),{toastMessage:Xe,toastType:Oe,showWarning:it,clearToast:Ge}=ll("warning"),ft=o.useCallback(()=>Ce(null),[Ce]);A&&!M&&!b&&pn("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[jt,Bt]=o.useState(()=>Math.max(m?.length??1,1)),mt=M?ke:b?Math.max(jt,m?.length??1,1):Math.max(m?.length??0,1),{width:lt,height:He}=ia[Fe],at=!M&&!b,ht=m?.length??0,Ot=Math.min($e,Math.max(ht,1)),tt=at?Ot:mt,Tt=at?hu(m??[],tt):null,Yt=!!Tt&&Tt.length>1,Mt=M?ge.some(Ne=>Ne!==null&&Ne.length>1):(m??[]).some(Ne=>(Ne.words??[]).length>1),ln=S?.trim()||`${ci(va())} ${Mt?D("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):D("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,un=o.useCallback(()=>Yt?pe.current.filter(Ne=>Ne!==null):je.current?[je.current]:[],[Yt]),{print:cn,openNewWindow:Rn,downloadHtml:dn}=Eo({getElements:un,paperW:lt,paperH:He,fileName:ln,onPopupBlocked:()=>{it(D("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Pn=Ne=>{me(Ne),se(Ve=>Ve.length>=Ne?Ve:[...Ve,...Array(Ne-Ve.length).fill(null)]),Ce(null)},Nn=Ne=>{se(Ve=>{const xt=[...Ve];return xt[Ne]=null,xt}),re===Ne&&Ce(null)},Nt=Ne=>{if(re===null)return;const Ve=re;se(zt=>{const Vt=[...zt];return Vt[Ve]=Ne.length>0?Ne:null,Vt});const xt=ge.findIndex((zt,Vt)=>Vt>Ve&&zt===null);Ce(xt!==-1?xt:null)},Cn=M?ge.some(Ne=>Ne?.some(Ve=>!!Ve.colloquialPronunciation)):(m??[]).some(Ne=>(Ne.words??[]).some(Ve=>!!Ve.colloquialLabel)),Ht=o.useMemo(()=>Xn()?M?Q.slice(0,ke).flatMap(Ne=>(Ne??[]).map(Ve=>[Ve.word,Ve.homonum])):(m??[]).flatMap(Ne=>(Ne.words??[]).map(Ve=>[Ve.label,Ve.homonum])):[],[M,Q,ke,m]),[Zt,fn]=o.useState(!1);o.useEffect(()=>{if(Ht.length===0)return;let Ne=!1;return Promise.all(Ht.map(([Ve,xt])=>Qs(Ve,xt))).then(Ve=>{Ne||fn(Ve.some(Boolean))},()=>{}),()=>{Ne=!0}},[Ht]);const en=Ht.length>0&&Zt,gn=o.useMemo(()=>[...M||b?[{label:D("wordTable.filter.columns","\uCE78 \uC218"),items:Xy.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:D("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...at&&(m?.length??0)>0?[ju(D,{hasPairs:Mt,itemCount:ht})]:[],...Yt?[Jy(D)]:[]],[D,M,b,at,m?.length,Mt,ht,Yt]),In={...M||b?{[D("wordTable.filter.columns","\uCE78 \uC218")]:`${mt}\uCE78`}:{},...at&&(m?.length??0)>0?{[D(Mt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Ot}\uAC1C`}:{},...Yt?{[D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Mu[_t]}:{}},bn=(Ne,Ve)=>{Ve===D("wordTable.filter.columns","\uCE78 \uC218")?M?Pn(parseInt(Ne)):Bt(parseInt(Ne)):Ve===D(Mt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?nt(Tu(parseInt(Ne),ht)):Ve===D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&kt(Lu(Ne))},oe=M?C7(ge.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Jo(Ne),words:Ne.map(Ac)}))):m??[],ye=()=>{M&&se(Ne=>Ne.length>ke?Ne.slice(0,ke):Ne)},G=(Ne=!1)=>{if(Pe(Ne),P&&C){const Ve=J.trim().toLowerCase();Ve&&Y(xt=>xt.includes(Ve)?xt:[...xt,Ve]),C(J,oe,ae||void 0,Ne),ye();return}if(E&&C){C("",oe,void 0,Ne),ye();return}if(C){Ze(!0);return}dn()},[le,ce]=o.useState(!1),[ve,_e]=o.useState(""),Te=ve.trim(),rt=Te!==""&&ue.includes(Te.toLowerCase()),gt=()=>{_e(J?D("wordTable.save.copyName",{name:J,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),ce(!0)},ut=()=>{!Te||rt||!C||(C(Te,oe,ae||void 0,!0),ye(),ce(!1))},vt=oe.length===0,Rt=vt||P&&(J===""||W),Lt=()=>{if(vt){it(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(P&&J===""){it(D("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}P&&W&&it(D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},nn=t.jsx(la,{items:oe,orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:mt});return t.jsxs(t.Fragment,{children:[t.jsxs(sa,{type:"page",icon:n,title:e,disc:a,className:De("word-table-block",x),children:[le&&t.jsx(Tn,{size:"small",title:h??D("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ce(!1),footer:({closeWithAnimation:Ne})=>t.jsxs(t.Fragment,{children:[t.jsx(de,{htmlType:"button",size:48,type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:Ne}),t.jsx(de,{htmlType:"button",size:48,type:"bar",variant:"main",label:D("common.save","\uC800\uC7A5"),disabled:!Te||rt,onClick:ut})]}),children:t.jsx(Un,{label:D("wordTable.save.nameLabel","\uC774\uB984"),value:ve,onChange:_e,placeholder:D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:ut,error:rt?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),dt&&C&&N?.({defaultName:typeof e=="string"?e:D("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:nn,previewW:lt,previewH:He,items:oe,existingNames:h7().map(Ne=>Ne.name),saveAsNew:We,onSave:(Ne,Ve)=>{C(Ne,oe,Ve,We),ye(),Ze(!1)},onCancel:()=>Ze(!1)}),(M||A)&&re!==null&&B?.({cellIndex:re,onConfirm:M?Nt:Ne=>{if(A){const Ve=Ne[0];if(Ve){const xt=new Set((m??[]).map(Vt=>Vt.id));let zt=Jo([Ve]);for(let Vt=2;xt.has(zt);Vt++)zt=`${Jo([Ve])}~${Vt}`;A({id:zt,words:[Ac(Ve)]})}}Ce(null)},onClose:ft}),!k&&t.jsx(Bo,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,hasImage:en,hasColloquial:Cn,contentTypes:et,orientation:Fe,showOutline:ee,cutLine:Se,showDivLine:ze,setters:{setContentTypes:Ye,setOrientation:st,setShowOutline:fe,setCutLine:Ae,setShowDivLine:Be,setShowTopInfo:Le,setShowBottomInfo:Qe},showCutLine:(at?tt:mt)>1,showDivLine2:Mt,middleSections:gn,extraSelected:In,onExtraSelect:bn,showPaperBands:Ee,showTopInfo:Re,showBottomInfo:Je}),Yt&&Tt?t.jsx("div",{className:"word-table-block__pages",children:Tt.map((Ne,Ve)=>t.jsx(la,{orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:tt,items:Ne,onRemoveItem:v,onReorder:_&&((xt,zt)=>_(xt+Ve*tt,zt+Ve*tt)),renderCellAction:q&&((xt,zt)=>q(xt+Ve*tt,zt)),brand:qe,code:p,contentRef:xt=>{pe.current[Ve]=xt},pageNumber:{current:Ve+1,total:Tt.length},pageNumberPosition:_t},Ve))}):t.jsx(la,{orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:mt,items:M?void 0:m??[],editCells:M?ge:void 0,activeCell:re,onActivateCell:M||A?Ce:void 0,onRemoveCell:M?Nn:void 0,onRemoveItem:M?void 0:v,onReorder:M?void 0:_,renderCellAction:M?void 0:q,brand:qe,code:p,showFillerAdd:!!A,contentRef:je}),P&&!k&&t.jsxs(cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(Mn,{variant:"custom",label:D("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(Un,{required:!0,value:z??"",onChange:R,placeholder:L?L+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:W?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(z??"").trim()&&(L??"").trim()&&(Ne.preventDefault(),R?.(L??""))}})}),t.jsx(Mn,{variant:"custom",label:D("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(Un,{value:U??"",onChange:j,placeholder:F?F+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(U??"").trim()&&(F??"").trim()&&(Ne.preventDefault(),j?.(F??""))}})})]})]}),!k&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&f&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:O,onClick:f}),!E&&H,!E&&g&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:D("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:g}),!E&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:D("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Rn})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[V&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:V}),!E&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:D("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:cn}),h&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>P?gt():G(!0),disabled:vt,onDisabledClick:()=>{it(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",label:w??D("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>G(!1),disabled:Rt,onDisabledClick:Lt})]})]}),t.jsx(ra,{message:Xe,type:Oe,onClose:Ge})]})}function kc({items:e,className:n}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return t.jsx("div",{className:De("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,u)=>{const d=e[u];return d?t.jsx("div",{className:"word-table-thumb__cell",children:(d.words?.length?d.words:[{label:d.id}]).map((c,p)=>t.jsxs(o.Fragment,{children:[p>0&&t.jsx("span",{className:"word-table-thumb__divider"}),t.jsx("span",{className:"word-table-thumb__word body-3",children:c.label})]},p))},u):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function g7({items:e,name:n,description:a,createdAt:r,code:s,published:i,publishedLabel:l,shared:u,sharedLabel:d,isNew:c,publisherName:p,publishedAt:m,likeCount:C,downloadCount:g,onPublisherClick:v,selected:f,onClick:y,onMore:w,titleNode:h,className:_}){const{t:b}=be.useTranslation(),A=h!=null,x=p!=null||m!=null||C!=null||g!=null,N=B=>{B.target===B.currentTarget&&!A&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),y?.())};return t.jsxs("div",{className:De("word-table-button",f?"word-table-button--selected":"",x?"":"word-table-button--no-footer",_),role:"button",tabIndex:0,"aria-label":s?`${n} (${s})`:n,onClick:A?void 0:y,onKeyDown:N,children:[c&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":b("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(kc,{items:e,className:"word-table-button__thumb"}),t.jsxs("div",{className:"word-table-button__info",children:[t.jsxs("div",{className:"word-table-button__info-text",children:[h??t.jsx("div",{className:"word-table-button__title h4",children:n}),a&&t.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),w&&!A&&t.jsx(de,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:b("common.moreFor",{name:n}),onClick:B=>{B.stopPropagation(),w(B)}})]}),(s||r||i||u)&&t.jsxs("div",{className:"word-table-button__meta-row",children:[t.jsx("span",{className:"word-table-button__meta-left",children:t.jsx("span",{className:"word-table-button__meta caption-1",children:r?ui(r,b):""})}),t.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&t.jsxs("span",{className:"word-table-button__badges",children:[i&&t.jsx(yt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??b("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&t.jsx(yt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:d??b("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),s&&t.jsx("span",{className:"word-table-button__code caption-1",children:s})]})]}),x&&t.jsxs("div",{className:"word-table-button__footer",children:[t.jsxs("span",{className:"word-table-button__store-by",children:[p&&t.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:B=>{B.stopPropagation(),v?.()},children:p}),m&&t.jsx("span",{className:"training-card__date body-4",children:ui(m,b)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[C!=null&&t.jsx(yt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(C),"aria-label":b("common.likeCount",{count:C,defaultValue:`\uC88B\uC544\uC694 ${C}`})}),g!=null&&t.jsx(yt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(g),"aria-label":b("common.downloadCount",{count:g,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${g}`})})]})]})]})}/**
|
|
1048
|
+
`).map((l,u,d)=>t.jsxs(o.Fragment,{children:[l,u<d.length-1&&t.jsx("br",{})]},u))})}),t.jsxs("div",{className:"site-footer__links",children:[t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),t.jsxs("div",{className:"site-footer__column",children:[t.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),t.jsx("li",{children:t.jsx("a",{className:"footer-link",href:"#",onClick:l=>{n&&(l.preventDefault(),n())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),t.jsx("hr",{className:"site-footer__rule"}),t.jsxs("div",{className:"site-footer__bottom",children:[t.jsx("div",{className:"site-footer__brand",children:t.jsx("img",{src:oo,alt:"IHAB",className:"site-footer__logo"})}),t.jsxs("div",{className:"site-footer__meta",children:[t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),t.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),t.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),t.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),t.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function M5({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:d}){const{t:c}=be.useTranslation(),p=d??{open:c("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:c("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,C]=o.useState(!1),g=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!m)return;const w=zn(()=>{const b=document.getElementById(g);b&&b.contains(document.activeElement)&&v.current?.focus(),C(!1)}),h=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,_=b=>{b.matches&&C(!1)};return h&&(h.matches&&C(!1),h.addEventListener?.("change",_)),()=>{w(),h?.removeEventListener?.("change",_)}},[m,g]);const f=l?`${l} landing-header__inner`:"landing-header__inner",y=(w,h)=>u?u(w,{onClick:h}):t.jsx("a",{href:w.href,onClick:h,"aria-current":w.current?"page":void 0,children:w.label});return t.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[t.jsxs("div",{className:f,children:[e!=null&&(()=>{const w=typeof e=="string"?t.jsx("img",{src:e,alt:n,className:"landing-header__logo"}):e;return a?t.jsx("a",{href:a,className:"landing-header__brand",children:w}):t.jsx("div",{className:"landing-header__brand",children:w})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map((w,h)=>t.jsx("span",{children:y(w)},`${h}:${w.href}`))}),t.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&t.jsx("button",{ref:v,type:"button",onClick:()=>C(w=>!w),"aria-expanded":m,"aria-controls":g,"aria-label":m?p.close:p.open,className:m?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:t.jsxs("span",{className:"landing-header__burger",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]})})]})]}),r.length>0&&t.jsx("nav",{id:g,hidden:!m,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map((w,h)=>t.jsx("span",{className:"landing-header__drawer-item",children:y(w,()=>C(!1))},`${h}:${w.href}`))})})]})}function L5({children:e,action:n,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return t.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:t.jsxs("div",{className:s,onClick:a,...iu(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const ca=9,$5=e=>Math.round(Math.min(ca,Math.max(0,e))/ca*100),R5=e=>e/100*ca,La=2,zu=.1,P5=e=>Math.min(La,Math.max(0,e)),I5=.1,F5=e=>Math.round(e*1e6)/1e6;function $a(e){const{noiseRatio:n}=e;if(typeof n=="number"&&Number.isFinite(n))return P5(n);const a=Math.min(ca,Math.max(0,Number(e.level)||0))/ca,r=Number(e.mainVolume);return r>0?a>0?F5(Math.min(La,Math.max(I5,a/r))):0:1}const Vu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Wu(e){return Vu(e)}function To(e){return Vu(e)*$a(e)}function Mo(e,n=Gs()){const a=Number.isFinite(n)&&n>0?n:1;return Math.min(1,To(e)/a)}function Ra(e,n){const a={...e,...n??{}};return n&&"level"in n&&typeof n.noiseRatio!="number"&&(a.noiseRatio=$a({level:a.level,mainVolume:a.mainVolume})),a}const Pa={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Lo=o.createContext(null);function ir(){return o.useContext(Lo)}const $o=e=>`${Q0()}/${e}`,qu=e=>Array.from({length:10},(n,a)=>$o(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),lr={get defaultNoise(){return $o("noise1.mp3")},get street(){return qu("noise2")},get restaurant(){return qu("noise3")},get buzz(){return $o("noise4.mp3")}};function O5(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return lr.defaultNoise;case"street":return lr.street[n];case"restaurant":return lr.restaurant[n];case"buzz":return lr.buzz;default:return null}}function H5({noisePlayer:e,audioRef:n,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),u=o.useRef(null),d=o.useRef(null),c=o.useRef(null),p=o.useRef(null),m=o.useRef(0),C=o.useRef(null),g=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null)},[]),v=o.useCallback((_,b=250)=>{const A=s.current;if(!A)return;const x=d.current;if(x){d.current=null;try{A.pause()}catch{}A.src=x,A.load()}if(!A.src)return;m.current+=1,g();try{Tr(),Oa(A).then(E=>{if(s.current===A)try{r.current?.("noise",E)}catch{}})}catch{}const N=A.paused?0:Ha(A);A.paused&&Sn(A,0),A.play().catch(()=>{});const B=performance.now(),k=()=>{const E=Math.min(1,(performance.now()-B)/b);try{Sn(A,N+(_-N)*E)}catch{}E<1?p.current=requestAnimationFrame(k):p.current=null};p.current=requestAnimationFrame(k)},[g]),f=o.useCallback((_=250,b)=>{const A=s.current;if(!A||A.paused){b?.();return}const x=++m.current;g();const N=performance.now(),B=Ha(A),k=()=>{const E=Math.min(1,(performance.now()-N)/_);try{Sn(A,B*(1-E))}catch{}if(E<1)p.current=requestAnimationFrame(k);else{p.current=null,C.current!==null&&(clearTimeout(C.current),C.current=null);try{A.pause()}catch{}b?.()}};p.current=requestAnimationFrame(k),C.current=setTimeout(()=>{if(C.current=null,m.current===x){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(Sn(A,0),A.pause(),b?.())}catch{}}},_+150)},[g]);o.useEffect(()=>{const _=document.createElement("audio");return _.loop=!0,_.crossOrigin="anonymous",s.current=_,()=>{g();try{_.pause(),_.src=""}catch{}s.current=null,u.current=null,d.current=null}},[g]);const y=e?Mo(e.settings):0,w=!!e?.settings.enabled&&y>0;o.useEffect(()=>{if(!w)return;let _=0;const b=setInterval(()=>{const A=s.current;if(!A||A.paused){_=0;return}const x=n.current;if(x&&!x.paused&&!x.ended||a.current==="playing"){_=0;return}_+=1,_>=2&&(_=0,f())},400);return()=>clearInterval(b)},[f,w,n,a]),o.useEffect(()=>{const _=()=>{const b=s.current;if(document.hidden){if(b&&!b.paused){g();try{b.pause()}catch{}}return}if(!b||!b.paused)return;const A=n.current,x=!!A&&!A.paused&&!A.ended||a.current==="playing",N=c.current;x&&N?.enabled&&N.volume>0&&v(N.volume)};return document.addEventListener("visibilitychange",_),()=>document.removeEventListener("visibilitychange",_)},[g,v,n,a]),o.useEffect(()=>{c.current=e?{enabled:e.settings.enabled,volume:y,type:e.settings.type}:null},[e,e?.settings.enabled,y,e?.settings.type]);const h=o.useRef(null);return o.useEffect(()=>()=>{h.current?.(),h.current=null},[]),o.useEffect(()=>{const _=e?.settings,b=s.current;if(!b)return;const A=_?Mo(_):0;if(!_||!_.enabled||A===0){f();return}if(u.current!==_.type){const x=O5(_.type);x&&(u.current=_.type,l(x),d.current=x,f(150,()=>{if(d.current!==x)return;d.current=null,b.src=x,b.load();const N=n.current;if(N&&!N.paused){h.current?.();const B=()=>{b.removeEventListener("canplay",B),h.current===k&&(h.current=null);const E=n.current,S=c.current;E&&!E.paused&&!E.ended&&S?.enabled&&S.volume>0&&v(S.volume)},k=()=>b.removeEventListener("canplay",B);h.current=k,b.addEventListener("canplay",B)}}))}else{const x=n.current,N=!!x&&!x.paused&&!x.ended||a.current==="playing";if(N&&d.current)v(A);else if(N&&b.paused&&b.src)v(A);else if(!b.paused)if(!N)f();else{g();const B=Ha(b),k=performance.now(),E=()=>{const S=Math.min(1,(performance.now()-k)/150);try{Sn(b,B+(A-B)*S)}catch{}S<1?p.current=requestAnimationFrame(E):p.current=null};p.current=requestAnimationFrame(E)}}},[e?.settings,e?.settings.enabled,y,e?.settings.type,g,v,f,n,a,c]),o.useEffect(()=>{const _=s.current;if(_)try{_.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:c,cancelNoiseFade:g,fadeInNoise:v,fadeOutNoise:f}}function z5({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:u,fadeInNoise:d,fadeOutNoise:c,noiseSettingsRef:p,onDoneRef:m,handleEndRef:C}){const g=o.useRef(null),v=o.useRef(0),f=o.useRef(null),y=o.useRef(0),w=o.useRef(!1);o.useEffect(()=>()=>{y.current++;try{if(f.current&&(cancelAnimationFrame(f.current),f.current=null),w.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}w.current=!1}}catch{}},[]);const h=(A,x=1)=>{try{const N=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(N*300/Math.max(.25,x)))}catch{return 1200}},_=o.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const x=window.speechSynthesis,N=++y.current;try{try{x.cancel()}catch{}const B=A??e,k=Array.isArray(B)?B.filter(j=>!!j):[B||""];k.length===0&&k.push("");const E=Math.max(.3,Math.min(3,n));v.current=k.reduce((j,M)=>j+h(M,E||1),0),g.current=performance.now(),i(0),l("playing"),u("playMode");const S=p.current;S?.enabled&&(S?.volume??0)>0&&d(S.volume);const z=()=>{try{const j=g.current||performance.now(),M=performance.now()-j,O=v.current||1200,Y=Math.min(1,M/O);try{r.current&&(r.current.style.left=`${Y*100}%`),s.current&&s.current.style.setProperty("--progress",String(Y))}catch{}Y<1&&(f.current=requestAnimationFrame(z))}catch{}},R=()=>{if(N===y.current)try{f.current&&(cancelAnimationFrame(f.current),f.current=null),i(1),l("stopped");try{C.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},q=j=>{const M=new SpeechSynthesisUtterance(k[j]);try{M.rate=E}catch{}try{M.volume=Math.max(0,Math.min(1,a))}catch{}M.onend=()=>{if(N===y.current){if(j<k.length-1){try{q(j+1)}catch{R()}return}R()}},M.onerror=()=>{R()},M.onstart=()=>{if(!(j>0))try{f.current&&(cancelAnimationFrame(f.current),f.current=null),f.current=requestAnimationFrame(z)}catch{}},w.current=!0,x.speak(M)};try{q(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,n,a,d,r,s,i,l,u,p,m,C]),b=o.useCallback(()=>{y.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}f.current&&(cancelAnimationFrame(f.current),f.current=null),c(),g.current=null}catch{}l("stopped"),u("active"),i(0)},[c,l,u,i]);return{startTTS:_,stopTTS:b}}async function V5(e,n,a){let r=null;try{const s=window.AudioContext||window.webkitAudioContext;r=new s;const i=await r.decodeAudioData(e.slice(0)),l=i.numberOfChannels>0?i.getChannelData(0):null;if(!l)return null;const u=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,d=Math.max(n,u),c=Math.floor(d/n)||1;return new Array(n).fill(0).map((p,m)=>{const C=m*c,g=Math.min(C+c,d);let v=0;for(let f=C;f<g;f++){const y=Math.abs(l[f]);y>v&&(v=y)}return v})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Uu(e,n,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await V5(s,n,a)}catch(r){try{const s=ai(r)}catch{}return null}}const Gu=45,W5=74,q5=2;function Ia(e){const n=Math.min(2,Math.max(0,Number(e)||0));return n<=1?n*45:45+(n-1)*29}function Ro(e){return Ia(e)/45}const Ku=4;function U5(e){const{src:n,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:d=0,mainVolume:c=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,C=o.useRef(null),g=o.useRef(null),[v,f]=o.useState(null),[y,w]=o.useState(!1),[h,_]=o.useState(null),[b,A]=o.useState(2),[x,N]=o.useState(0),[B,k]=o.useState(null),[E,S]=o.useState(!1),[z,R]=o.useState(!1),q=3,j=3,M=1,O=300,Y=o.useRef(0),te=o.useCallback(()=>{const xe=C.current,W=g&&g.current?g.current:xe?xe.closest(".audio-player__wave"):null,Q=W?W.getBoundingClientRect():xe?xe.getBoundingClientRect():null,se=Q?Q.width:0,ke=Q?Math.max(100,Q.width):320,me=Q?Q.height:0,re=Math.max(M,Math.min(O,Math.floor((ke+j)/(q+j)))),Ce=re*q,ge=Math.max(0,re-1),Ee=Math.max(0,ge>0?(ke-Ce)/ge:j);return{bars:re,gap:Ee,height:me,width:se}},[]),V=o.useRef(void 0),U=o.useRef(null),P=o.useCallback(async(xe,W,{quiet:Q=!1}={})=>{const se=++Y.current,ke=()=>Y.current===se;try{if(Q||w(!1),V.current=xe,!xe){ke()&&f(null);return}let me=W;if(!me)try{for(let ge=0;ge<4&&!(C.current||g.current);ge++)await new Promise(Ee=>requestAnimationFrame(Ee));await new Promise(ge=>requestAnimationFrame(ge));const Ce=te();Ce.height>0&&N(Ce.height),me=Ce.bars,A(Ce.gap)}catch{me=120}U.current=me;const re=await Uu(xe,me);if(!ke())return;if(!re){f(null),w(!1);return}f(re),_(me),w(!0)}catch{if(!ke())return;f(null),w(!1)}},[w,f,N,A,_,te]);o.useEffect(()=>{const xe=g.current;if(!xe||typeof ResizeObserver>"u")return;let W=null;const Q=new ResizeObserver(()=>{W!==null&&cancelAnimationFrame(W),W=requestAnimationFrame(()=>{W=null;try{const se=te();if(se.width<=0||(se.height>0&&N(se.height),U.current===null||se.bars===U.current))return;const ke=V.current;A(se.gap),ke?P(ke,se.bars,{quiet:!0}).catch(()=>{}):U.current=se.bars}catch{}})});return Q.observe(xe),()=>{Q.disconnect(),W!==null&&cancelAnimationFrame(W)}},[te,P]),o.useEffect(()=>{const xe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;P(typeof xe=="string"?xe:void 0).catch(()=>{}),R(!1)},[n,a,P]),o.useEffect(()=>{let xe=!1;if(S(!1),!i||!h){k(null);return}const W=d>0?d*(u||1):void 0;return Uu(i,h,W).then(Q=>{xe||(k(Q),Q||S(!0))}).catch(()=>{xe||(k(null),S(!0))}),()=>{xe=!0}},[i,h,d,u]);const F=Math.max(0,Math.min(1,c)),D=o.useMemo(()=>v&&v.length&&Math.max(...v)||1,[v]),H=h||40,L=o.useMemo(()=>Array.from({length:H}).map((xe,W)=>{const Q=v&&v[W]!=null?v[W]:null,se=Q==null?null:Math.min(1,Q/D*F),ke=se!=null&&x>0&&Ia(se)<=Ku,me=se==null?.15:ke?0:Ro(se),re=H>1?W/(H-1):0;return t.jsx("div",{className:ke?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":me,"--i":W,"--mix":re}},W)}),[H,v,D,F,x]),I={"--progress":String(Math.max(0,Math.min(1,r)))},$=i?Math.max(1,l):1,K={"--bar-gap":`${b}px`,"--wave-h":`${Ia($)}px`,"--wave-h1":`${Gu}px`},ne=F*Math.max(0,l)/Gs(),J=y&&(i?!!B||E:!0);o.useEffect(()=>{J&&R(!0)},[J]);const ae=z?y:J;o.useEffect(()=>{p?.(ae)},[ae,p]);const ue=h||40,ie=o.useMemo(()=>Array.from({length:ue}).map((xe,W)=>{const Q=B&&B[W]!=null?B[W]:null,se=Q==null?0:Q/D*ne,ke=x>0&&Ia(se)<=Ku,me=ke?0:Ro(se),re=ue>1?W/(ue-1):0;return t.jsx("div",{className:ke?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":me,"--i":W,"--mix":re}},W)}),[ue,B,D,ne,x]);return t.jsxs("div",{className:"audio-player__wave",ref:g,style:K,children:[i&&t.jsx("div",{className:`audio-player__wave-noise ${J?"is-ready":""}`,"aria-hidden":"true",children:ie}),m&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ae?"is-ready":""}`,ref:C,children:L}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ae?"is-ready":""}`,ref:s,style:I,children:L})]})]})}const G5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function Po(e,n){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},u=()=>{if(i)return;i=!0;const c=isFinite(s.duration)&&s.duration||0;l(),a(c)},d=c=>{i||(i=!0,l(),n.rejectOnError?r(new Error(c)):a(0))};s.addEventListener("loadedmetadata",u),s.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),n.timeoutMs),s.src=e})}const K5=2e3;function Yu(e,n=K5){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.addEventListener("canplay",s,{once:!0}),e.addEventListener("error",s,{once:!0}),setTimeout(s,n)})}function Y5({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(d=>{if(r.current=d,!d||!s.current.length)return;const c=s.current;s.current=[];for(const p of c)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!n||r.current?Promise.resolve(!0):new Promise(d=>{const c=m=>{clearTimeout(p),s.current=s.current.filter(C=>C!==c),d(m)},p=setTimeout(()=>c(!0),a);s.current.push(c)}),[e,n,a]);return o.useEffect(()=>()=>{const d=s.current;s.current=[];for(const c of d)c(!1)},[]),{onReadyChange:i,waitForReady:u,markNotReady:l}}function Z5(){const e=o.useRef([]),n=o.useCallback(s=>(e.current.push(s),s),[]),a=o.useCallback(s=>{const i=new Set([...s].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const s of e.current)try{URL.revokeObjectURL(s)}catch{}e.current=[]},[]),{track:n,keepOnly:a,revokeAll:r}}function X5({offsetY:e=8}={}){const n=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=n.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a,s]),{ref:n,rect:a,show:i,hide:s}}function J5({currentTime:e,sources:n,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(n)&&n.length>0?n[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const u=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,u/l))}function Q5(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function e3({ended:e,completedByEnd:n}){return!!e||!!n}function t3(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function n3(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function a3(e,n,a){const r=Array.isArray(e)?e:e?[e]:[],s=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const l=i;s.push({code:l.code??null,src:l.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){s.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const l=String(i),u=a(l,n);u&&s.push({code:l,resolvedPath:u})}}return s}function r3(e){if(!e)return 0;const n=e.duration;if(Number.isFinite(n)&&n>0)return n;if(n===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}function o3({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),u=o.useCallback(()=>{if(i.current!==null)return;const c=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,C=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:r3(p),g=n.current;if(C===null)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const v=J5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:C});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${v*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(v))}catch{}}}catch{}i.current=requestAnimationFrame(c)};i.current=requestAnimationFrame(c)},[e,n,a,r,s]),d=o.useCallback(c=>{l();try{n.current&&(n.current.style.visibility="",n.current.style.left=`${c*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(c))}catch{}},[l,n,a]);return o.useEffect(()=>l,[l]),{start:u,stop:l,settleTo:d}}function Io({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:d=!0}){const{t:c}=be.useTranslation(),p=e,m=ir(),C=o.useRef(m?.registerAnalyser);o.useEffect(()=>{C.current=m?.registerAnalyser});const g=o.useRef(null),v=o.useRef(null),f=o.useRef(null),y=Z5(),w=o.useRef(null),h=o.useRef(!1),_=o.useRef(0),b=o.useRef(null),{ref:A,rect:x,show:N,hide:B}=X5();o.useEffect(()=>()=>{C.current?.("main",null),C.current?.("noise",null)},[]);const[k,E]=o.useState(!1),[S,z]=o.useState("idle"),[R,q]=o.useState("stopped"),j=o.useRef("stopped");o.useEffect(()=>{j.current=R},[R]);const[M,O]=o.useState(0),[Y,te]=o.useState("active"),V=o.useRef(!1);o.useEffect(()=>{if(Y!=="playMode"||!V.current)return;V.current=!1;const G=typeof document<"u"?document.activeElement:null;if(G&&G!==document.body)return;const le=f.current?.querySelectorAll("button")[1];try{le?.focus()}catch{}},[Y]);const[U,P]=o.useState(null),[F,D]=o.useState(null),[H,L]=o.useState(0),[I,$]=o.useState(!1),[K,ne]=o.useState(0),J=m?.playbackRate??1,ae=m?.mainVolume??1,ue=m?To(m.settings):0,ie=m?Wu(m.settings):ae,[xe,W]=o.useState("idle"),[Q,se]=o.useState(""),[ke]=o.useState("top"),me=o.useRef(null),re=o.useRef(0),Ce=o.useRef(null),{start:ge,stop:Ee,settleTo:Re}=o3({audioRef:g,fillRef:v,waveProgressRef:Ce,sourcesRef:me,currentIndexRef:re}),{onReadyChange:Le,waitForReady:Je,markNotReady:Qe}=Y5({showSoundWaveForm:u,showNoiseWaveForm:d}),qe=o.useRef(null),Fe=o.useRef(s),st=o.useRef(r),et=o.useRef(null),Ye=o.useRef(!1),[Se,Ae]=o.useState(!1),ee=o.useCallback(G=>{Ye.current=G,Ae(G)},[]),fe=o.useRef(null),{activeNoiseUrl:ze,noiseSettingsRef:Be,fadeInNoise:je,fadeOutNoise:pe}=H5({noisePlayer:m,audioRef:g,playbackStateRef:j}),{startTTS:$e,stopTTS:nt}=z5({ttsText:i,playbackRate:J,mainVolume:ie,fillRef:v,waveProgressRef:Ce,setProgress:O,setPlaybackState:q,setStateLocal:te,fadeInNoise:je,fadeOutNoise:pe,noiseSettingsRef:Be,onDoneRef:st,handleEndRef:fe});o.useEffect(()=>{it.current=nt});const _t=G=>{if(typeof window>"u"||!window.speechSynthesis){try{se(c("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}$e(G);return}Bt("tts"),$e(G)},kt=Array.isArray(n)?n.filter(Boolean):n?[n]:[],dt=(!kt||kt.length===0)&&!!i,Ze=Array.isArray(U)&&U.length>0?U:Array.isArray(F)&&F.length>0?F:null,We=Math.max(Array.isArray(Ze)?Ze.length:0,kt.length),Pe=o.useRef(!0);o.useEffect(()=>(Pe.current=!0,()=>{Pe.current=!1}),[]);const Xe=o.useRef(0),Oe=()=>{Xe.current+=1,_.current+=1},it=o.useRef(null),Ge=o.useRef(null),ft=o.useRef(null),jt=o.useRef(null);jt.current||(jt.current=()=>{ft.current=null;const G=g.current;if(Ge.current==="audio"&&G&&!G.paused){Xe.current+=1,_.current+=1;try{G.pause()}catch{}Pe.current&&q("paused")}else if(Ge.current==="tts")try{it.current?.()}catch{}});const Bt=G=>{Ge.current=G,ft.current=Xa(jt.current)},mt=()=>{ft.current?.(),ft.current=null};o.useEffect(()=>()=>{jt.current&&Ja(jt.current)},[]);const lt=o.useCallback(async(G,le=3,ce=50)=>{const ve=Xe.current;for(let _e=0;_e<le;_e++){if(!Pe.current||ve!==Xe.current)return!1;try{return Bt("audio"),await G.play(),!0}catch(Te){if((Te instanceof Error||typeof Te=="object"&&Te&&"name"in Te?Te.name:void 0)==="AbortError"){if(ve!==Xe.current)return!1;await new Promise(rt=>setTimeout(rt,ce));continue}try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[c]),He=o.useCallback(()=>{const G=g.current;if(!G)return;const le=()=>{q("playing"),te("playMode"),$(!0),ge();try{Tr(),Oa(G).then(Te=>{if(Pe.current)try{C.current?.("main",Te)}catch{}})}catch{}const _e=Be.current;_e?.enabled&&(_e?.volume??0)>0&&je(_e.volume)},ce=()=>{e3({ended:!!G?.ended,completedByEnd:Ye.current})||(q("paused"),Ee(),pe())},ve=()=>{try{const _e=me.current,Te=Q5(_e,re.current);if(Te!==null){re.current=Te,L(Te),$(!0);const rt=_e?.[Te]&&_e[Te].src;if(rt&&G){G.src=rt,G.load(),lt(G).catch(()=>{});return}}}catch{}q("stopped"),O(1);try{if(G)try{G.currentTime=0}catch{}}catch{}Ee(),$(!1),pe();try{!Fe.current&&fe.current&&fe.current()}catch{}};return G.addEventListener("play",le),G.addEventListener("pause",ce),G.addEventListener("ended",ve),()=>{try{G.removeEventListener("play",le),G.removeEventListener("pause",ce),G.removeEventListener("ended",ve),Ee()}catch{}}},[je,pe,lt,Be,ge,Ee]);o.useEffect(()=>He(),[He]),o.useEffect(()=>{Fe.current=s},[s]),o.useEffect(()=>{st.current=r},[r]),o.useEffect(()=>{if(s||Y!=="active")return;const G=b.current;if(!G)return;let le=null;const ce=requestAnimationFrame(()=>{try{const ve=G.getTotalLength();if(!ve)return;const _e=ve*.2;G.style.strokeDasharray=`${ve-_e} ${_e}`;const Te="triFlow_"+Math.random().toString(36).slice(2);le=document.createElement("style"),le.textContent=`@keyframes ${Te}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ve}}}`,document.head.appendChild(le),G.style.animation=`${Te} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ce),le?.remove()}},[Y,s]),o.useEffect(()=>{me.current=U},[U]),o.useEffect(()=>{re.current=H},[H]),o.useEffect(()=>{const G=f.current,le=w.current;if(!G||!le)return;let ce=null;const ve=32,_e=60,Te=()=>{try{const gt=Array.from(G.querySelectorAll(":scope > .button"));let ut=0;gt.forEach(Ne=>{if(Ne===le)return;const Ve=Ne.getBoundingClientRect();ut+=Ve.width});const vt=G.getBoundingClientRect().width,Rt=Math.max(0,Math.floor(vt-ut-8)),Lt=We;if(!Lt||Rt<=0){Array.from(le.children).forEach(Ne=>{try{Ne.style.width=""}catch{}});return}let nn=Math.floor(Rt/Lt);nn>_e&&(nn=_e),nn<ve&&(nn=Math.max(ve,Math.floor(Rt/Lt))),Array.from(le.querySelectorAll(".button")).forEach(Ne=>{try{Ne.style.width=`${nn}px`}catch{}})}catch{}},rt=requestAnimationFrame(Te);try{ce=new ResizeObserver(()=>{requestAnimationFrame(Te)}),ce.observe(G),ce.observe(le),window.addEventListener("resize",Te)}catch{}return()=>{try{cancelAnimationFrame(rt)}catch{}try{ce&&(ce.disconnect(),ce=null)}catch{}try{window.removeEventListener("resize",Te)}catch{}}},[U,F,We]),o.useEffect(()=>()=>{try{qe.current&&(clearTimeout(qe.current),qe.current=null),et.current&&(clearTimeout(et.current),et.current=null)}catch{}},[]);const at=(G,le)=>{P(G),ne(le),Qe(),D(t3(G)),me.current=G},ht=async(G,le)=>{ee(!1),h.current=!1,G.src=le,G.load(),await Yu(G),await Je()!==!1&&(E(!1),await lt(G),te("playMode"),L(0),$(!0))},Ot=async(G,le=!1)=>{const ce=g.current;E(!0),z("measuring_duration");try{const ve=await Po(G,{timeoutMs:1e4,rejectOnError:!0});at([{src:G,objectUrl:null,duration:ve}],ve),z("ready"),le&&ce&&await ht(ce,G)}finally{h.current=!1,E(!1)}},tt=async(G,le=!1)=>{const ce=g.current;E(!0),z("measuring_duration");try{const ve=await Promise.all(G.map(Te=>Po(Te,{timeoutMs:1e4})));if(!Pe.current)return;const _e=G.map((Te,rt)=>({src:Te,objectUrl:null,duration:ve[rt]||0}));at(_e,n3(_e)),z("ready"),le&&ce&&_e.length>0&&await ht(ce,_e[0].src)}finally{h.current=!1,E(!1)}},Tt=async(G=!1,le=!0)=>{const ce=g.current,ve=n?Array.isArray(n)?n:[n]:[];if(!ve||ve.length===0||!ve.some(Boolean))return!1;if(h.current)return null;h.current=!0,le&&E(!0),z("resolving");try{const _e=a3(n,a,Ws),Te=[];let rt=0;for(const gt of _e){let ut=gt.src??null,vt=null;if(!ut&>.resolvedPath){try{z("getting_signed_url"),ut=await qs(gt.resolvedPath)}catch{ut=null}if(!Pe.current)return!1;if(!ut)try{z("downloading");const Lt=await Us(gt.resolvedPath);if(!Pe.current)return!1;if(Lt){const nn=Lt instanceof Blob?Lt:new Blob([Lt]);vt=y.track(URL.createObjectURL(nn)),ut=vt}}catch{z("error");try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),te("active")}catch{}}}if(!ut)continue;let Rt=0;try{z("measuring_duration"),Rt=await Po(ut,{timeoutMs:3e3})}catch{Rt=0}if(!Pe.current){if(vt)try{URL.revokeObjectURL(vt)}catch{}for(const Lt of Te)if(Lt.objectUrl)try{URL.revokeObjectURL(Lt.objectUrl)}catch{}return!1}rt+=Rt||0,Te.push({...gt,src:ut,objectUrl:vt,duration:Rt})}if(at(Te,rt),Te.length>0&&G&&ce){const gt=Te[0];ee(!1);try{y.keepOnly(Te.map(ut=>ut.objectUrl))}catch{}if(z("ready"),h.current=!1,gt.src&&ce)try{if(ce.src=gt.src,ce.load(),await Yu(ce),await Je()===!1)return!1;le&&E(!1),ce&&await lt(ce)}catch{le&&E(!1)}else le&&E(!1);te("playMode"),L(0),$(!0)}return Te.length>0}finally{h.current=!1,le&&E(!1),z(_e=>_e==="ready"?"ready":"idle")}},Yt=async()=>{const G=g.current;if(!(!G&&!dt)){if(dt){const le=window.speechSynthesis;if(Y==="active"){const ce=Er(),ve=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ce&&ve.length>0){te("load"),E(!0),z("resolving"),h.current=!0;try{const _e=await Promise.all(ve.map(Te=>Promise.resolve(ce(Te))));_e.length>1?await tt(_e,!0):await Ot(_e[0],!0)}catch{h.current=!1,E(!1),te("active"),_t(ve.length>0?ve:void 0)}return}_t(ve.length>0?ve:void 0);return}if(Y==="playMode"){const ce=!!le&&(le.speaking||le.paused)&&!(G&&(G.currentSrc||G.getAttribute("src")));if(G&&!ce){if(G.paused){if(Ye.current){await Mt();return}await lt(G),q("playing")}else Oe(),G.pause(),q("paused");return}try{if(le&&le.paused)try{Bt("tts"),le.resume(),q("playing")}catch{}else try{le.pause(),q("paused")}catch{}}catch{}}return}if(Y==="active"){if(s&&Array.isArray(me.current)&&me.current.length>0){const ce=me.current[0];try{if(ce.src&&G)try{G.src=ce.src,G.load(),G&&await lt(G)}catch{}te("playMode"),L(0),$(!0);return}catch{}}te("load");let le;try{le=await Tt(!0)}catch{le=!1}if(le===!1&&Pe.current){try{se(c("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}te("active")}return}if(Y!=="load"&&(Y==="playMode"||Y==="active"))try{if(G&&G.paused){if(Ye.current){await Mt();return}G&&await lt(G),q("playing")}else G&&(Oe(),G.pause(),q("paused"))}catch(le){(le instanceof Error||typeof le=="object"&&le&&"name"in le)&&le.name}}},Mt=async()=>{const G=g.current;if(G)try{const le=me.current;if(Array.isArray(le)&&le.length>1){await Nn(0);return}ee(!1);try{G.currentTime=0}catch{}G&&await lt(G),q("playing"),te("playMode")}catch{}},ln=()=>{if(Oe(),mt(),dt){nt();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}pe(),q("stopped"),te("active"),O(0),$(!1)},un=async(G,{sameSegment:le=!1}={})=>{const ce=++_.current,ve=g.current,_e=me.current?.[G]?.src;try{if(ee(!1),L(G),$(!0),re.current=G,!_e||!ve||(le||Qe(),ve.src=_e,ve.load(),!le&&await Je()===!1)||ce!==_.current||(await lt(ve),ce!==_.current))return;q("playing"),te("playMode")}catch{}},cn=async()=>{const G=me.current,le=re.current||0;if(!G||le<=0){await Mt();return}await un(le-1)},Rn=async()=>{const G=me.current,le=re.current||0;if(!G||le>=G.length-1){ln();return}await un(le+1)},dn=()=>{if(Ye.current)return;const G=200,le=340;ee(!0),Oe(),mt();try{O(1)}catch{}Re(1);try{W("hold")}catch{}try{const ce=g.current,ve=dt&&!!ce?.src;if(!dt||ve){if(ce){ce.pause();try{ce.currentTime=0}catch{}}}else nt();pe()}catch{}try{q("stopped")}catch{}if($(!1),!Fe.current)try{et.current&&(clearTimeout(et.current),et.current=null),et.current=setTimeout(()=>{try{W("out")}catch{}et.current=setTimeout(()=>{try{typeof st.current=="function"&&st.current(!0)}catch{}try{W("idle")}catch{}et.current=null},le)},G)}catch{}};o.useEffect(()=>{fe.current=dn});const Pn=o.useCallback(()=>se(""),[]),Nn=async G=>{(me.current||[])[G]&&await un(G,{sameSegment:G===re.current})},Nt=R==="playing",Cn=o.useMemo(()=>{if(!F||F.length<=1)return F;const G=F[H];return G?[G]:F},[F,H]),Ht=s===!0;o.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=J||1)}catch{}},[J]);const Zt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const G=g.current;if(!G)return;const le=Math.max(0,Math.min(1,ie)),ce=Zt.current,ve=()=>{ce.raf!==null&&(cancelAnimationFrame(ce.raf),ce.raf=null),ce.timer!==null&&(clearTimeout(ce.timer),ce.timer=null)};ve();const _e=Ha(G);if(G.paused||Math.abs(_e-le)<.001||typeof requestAnimationFrame!="function"){try{Sn(G,le)}catch{}return}const Te=performance.now(),rt=()=>{const gt=Math.min(1,(performance.now()-Te)/150);try{Sn(G,_e+(le-_e)*gt)}catch{}ce.raf=gt<1?requestAnimationFrame(rt):null};return ce.raf=requestAnimationFrame(rt),ce.timer=setTimeout(()=>{ve();try{Sn(G,le)}catch{}},200),ve},[ie]);const fn=xe==="hold",en=xe==="out",gn=Y==="playMode"&&!k&&!Se||fn||en,In=R!=="stopped"||fn||en,bn=R==="paused",oe=Math.max(0,Math.min(100,(M||0)*100)),ye=De("audio-player__fill",gn?"is-visible":"",In?"is-expanded":"",bn?"is-paused":"",en?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Nt?"is-playing":""} ${k?"is-loading":""} ${Y!=="default"?"is-revealed":""}`,children:[k?t.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[t.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),t.jsx("span",{className:"audio-player__loading-text",children:c(`training.audioStatus.${S}`,{defaultValue:G5[S]})})]}):null,Y==="active"?t.jsx("button",{className:"audio-player__button",type:"button",disabled:Ht,onClick:()=>{V.current=nr(),B(),Yt()},"aria-label":typeof p=="string"?p:c("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:B,onFocus:N,onBlur:B,children:t.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:t.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:t.jsx("path",{ref:b,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,x&&t.jsx(vn,{anchorRect:x,text:typeof p=="string"&&p?p:c("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${Y==="playMode"||Nt?"is-visible":""}`,inert:!(Y==="playMode"||Nt)||void 0,children:[t.jsxs("div",{ref:f,className:"audio-player__buttons",children:[t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:cn,ariaLabel:c("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Nt?"pause":"play",onClick:Yt,ariaLabel:c("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Nt,width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:ln,ariaLabel:c("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),We>1?t.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:We}).map((G,le)=>t.jsx(de,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(le+1),onClick:()=>{try{Nn(le)}catch{}},ariaLabel:c("training.sourcePlay",{n:le+1}),variant:"transparent-white",selected:I&&H===le,disabled:Y!=="playMode"||!(Array.isArray(U)&&U[le]),showTooltipInfo:!0},le))}):null,!Array.isArray(U)||U.length<=1?t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Mt,ariaLabel:c("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}):null,t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Rn,ariaLabel:c("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Y!=="playMode"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:dn,ariaLabel:c("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:ye,ref:v,style:{left:`${oe}%`},"aria-hidden":"true"}),(u||d)&&t.jsx(U5,{segments:Cn,progress:M,totalDuration:K,waveProgressRef:Ce,showSoundWaveForm:u,noiseSrc:d&&m?.settings.enabled&&ue>0?ze:null,noiseRatio:m?$a(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ae,onReadyChange:Le})]})]}),t.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!u&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Ke,{icon:"triangle-alert",size:14}),c("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(ra,{message:Q,position:ke,onClose:Pn})]})}function ur(e){const{t:n}=be.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[d,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:p,decrease:m,canIncrease:C,canDecrease:g,fontSize:v,lineHeight:f}=el({storageKey:"tooltip-fontScale"}),y=o.useCallback(()=>c(A=>A==="dark"?"light":"dark"),[]),w=o.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),h=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${v}px`,lineHeight:`${f}px`,"--tt-line-height":`${f}px`,"--tt-marker-size":"28px"},b=t.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[t.jsxs("div",{className:"tooltip-textbox__box",children:[r&&t.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),t.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:h.map((A,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[h.length>1?t.jsx("div",{className:"tooltip-textbox__marker",children:t.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,t.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:n("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:n("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!C}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:w,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return s?t.jsx(rn,{anchorRect:s,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:b}):t.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:b})}function Zu({state:e="disabled"}){const{t:n}=be.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Ke,{icon:"chevron-right",label:n("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),t.jsx("div",{className:"ts-bullet__line"})]})}function Xu(e,n,a){const r=o.useRef(n),s=o.useRef(a);o.useEffect(()=>{r.current=n,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const u=()=>{i=null;const d=r.current(),c=d?Array.from(d.querySelectorAll(mn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(c){try{c.focus()}catch{}if(document.activeElement===c)return}--l>0&&(i=requestAnimationFrame(u))};return i=requestAnimationFrame(u),()=>{i!==null&&cancelAnimationFrame(i);const d=document.activeElement;if(!d||d===document.body||!document.contains(d)||d.closest(".tooltip-content")){const c=s.current();if(c)try{c.focus()}catch{}}}},[e])}function Ju({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:u,usePlayAllBtn:d=!1,onPlayAll:c,playAllActive:p=!1}){const{t:m}=be.useTranslation(),C=tn("(max-width: 767px)"),g=`training-step__title h4 ${u&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),f=o.useRef(null),[y,w]=o.useState(!1),[h,_]=o.useState(null),[b,A]=o.useState(null);Xu(y&&!!h,()=>{if(typeof document>"u")return null;const E=Array.from(document.querySelectorAll(".tooltip-content"));for(let S=E.length-1;S>=0;S--)if(E[S].querySelector(".tooltip-textbox__root"))return E[S];return null},()=>f.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const N=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(E=>typeof E=="string"||typeof E=="number")?l.join(""):"",[l]),B=o.useCallback(()=>{w(!1),_(null),A(null)},[]);o.useEffect(()=>{if(!y)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){B();return}A(typeof E<"u"&&E!==null?E:null)},[N]);const k=o.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(A(typeof E<"u"&&E!==null?E:l),!f.current){w(S=>!S);return}if(y)w(!1),_(null),A(null);else{const S=f.current.getBoundingClientRect();_(S),w(!0)}}},[i,l,y]);return t.jsxs("div",{className:v,children:[t.jsx("p",{className:g,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),s||d?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[d&&t.jsx(de,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"play-circle",label:C?void 0:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:p,onClick:c,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||p,onDisabledClick:p&&r!=="disabled"?()=>{}:void 0}),s&&t.jsx("div",{ref:f,children:t.jsx(de,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"eye",label:C?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:k,className:y?"is-selected":void 0,"aria-expanded":y,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),y&&t.jsx(ur,{text:b??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:h,onClose:B,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Fo(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function Gn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:d=void 0}){const{t:c}=be.useTranslation(),[p,m]=o.useState(()=>Fo(e,n));o.useEffect(()=>{const A=Fo(e,n);if(A!==p){const x=setTimeout(()=>m(A),0);return()=>clearTimeout(x)}},[e,n,p]);const C=o.useCallback((...A)=>{Fo(e,n)==="done"||p==="done"||typeof u=="function"&&u(...A)},[e,n,p,u]),[g,v]=o.useState(!1),[f,y]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),w=o.useCallback(A=>{if(!A)return null;try{const x=A;if(typeof A=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const k=x.currentTarget??x.target;if(k&&typeof k.getBoundingClientRect=="function")return k.getBoundingClientRect()}if(A instanceof DOMRect)return A;const N=A;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect();const B=A?.current;return B&&typeof B.getBoundingClientRect=="function"?B.getBoundingClientRect():null}catch{return null}},[]),h=o.useCallback((A,{text:x="",label:N="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:B=!1,alignX:k="center",alignY:E="top"}={})=>{const S=w(A);y({text:x,label:N,anchorRect:S,backdrop:B,alignX:k,alignY:E}),v(!0)},[w]),_=o.useCallback(()=>{v(!1),y(A=>({...A,anchorRect:null}))},[]),b=o.Children.map(i,A=>{if(o.isValidElement(A)){const x=A;if(typeof x.type=="string")return x;const N=x.props??{},B=typeof N.onDone=="function"?N.onDone:C,k=typeof N.disabled=="boolean";let E=p==="disabled";return k&&(E=!!N.disabled),o.cloneElement(x,{onDone:B,disabled:E,showTooltip:h,hideTooltip:_})}return A});return t.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[t.jsx(Zu,{state:p}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(Ju,{state:p,title:r,...s,useFaded:d}),b]}),g?t.jsx(rn,{anchorRect:f.anchorRect,backdrop:f.backdrop,onClose:_,ariaLabel:c("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(ur,{text:f.text,onClose:_})}):null]})}function Qu({context:e,state:n="disabled",theme:a="light"}){const{t:r}=be.useTranslation(),[s,i]=o.useState("disabled"),[l,u]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const d=()=>u(R=>R==="dark"?"light":"dark"),{increase:c,decrease:p,canIncrease:m,canDecrease:C,fontSize:g,lineHeight:v}=el({storageKey:"textbox_fontScale"}),[f,y]=o.useState(""),w=o.useRef(null),h=o.useRef(!1),_=o.useCallback(()=>{h.current=nr()&&!!w.current&&w.current.contains(document.activeElement),i("active")},[]),b=o.useCallback(()=>y(""),[]),A=R=>{try{y(R)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(n!=="disabled"){const R=setTimeout(()=>i(n),0);return()=>clearTimeout(R)}},[n]);const N=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[B,k]=o.useState(N);B!==N&&(k(N),i("disabled"));const E=n==="disabled"?s:n,S=E==="disabled"?"training-text-box--disabled":E==="active"?"training-text-box--active":E==="done"?"training-text-box--done":"",z=o.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${v}px`}),[g,v]);return o.useEffect(()=>{if(E==="disabled"||!h.current)return;h.current=!1;const R=document.activeElement;R&&R!==document.body||w.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),t.jsxs("div",{ref:w,className:`training-text-box ${S} ${E!=="disabled"&&l==="dark"?"is-dark":""}`,children:[E==="disabled"&&t.jsx("div",{className:"training-text-box__preview",children:t.jsx(de,{htmlType:"button",size:48,type:"bar",onClick:_,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),t.jsx("div",{className:"training-text-box__area","aria-hidden":E==="disabled",children:t.jsx("span",{className:"training-text-box__inner h3",style:z,children:N})}),E!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>A(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!C,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:c,onDisabledClick:()=>A(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(de,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(ra,{message:f,position:"top",onClose:b})]})}function Oo({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:d,choices:c,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:C=!1,choiceIcons:g,shuffleChoices:v=!0}){const{t:f}=be.useTranslation(),y=r??f("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),w=typeof e=="number"?e:-1,h=typeof n!="number"?"disabled":w<n?"done":w===n?"active":"disabled",_=Array.isArray(c)&&c.length?c:typeof u<"u"?[u].concat(Array.isArray(d)?d:[]):void 0,b=d?d.join("||"):"",A=c?c.join("||"):"",[x,N]=o.useState(()=>Array.isArray(_)?v?ya(_):_.slice():void 0);o.useEffect(()=>{Array.isArray(_)&&_.length?N(v?ya(_):_.slice()):N(void 0)},[u,b,A,v]);const[B,k]=o.useState(null),[E,S]=o.useState(()=>new Set);o.useEffect(()=>{k(null),S(new Set)},[A,u,b]);const z=o.useRef(void 0);o.useEffect(()=>{const j=z.current;typeof j=="number"&&typeof n=="number"&&typeof e=="number"&&j>=e&&n<e&&(k(null),S(new Set)),z.current=n},[n,e]);const R=o.useCallback(j=>{if(h!=="active")return;const M=x?.[j];if(M==null)return;const O=M,Y=h==="active"||h==="done";if(p){const te=new Set(E),V=te.has(O);V?te.delete(O):te.add(O),S(te),typeof l=="function"&&l({selectedValues:[...te],__ts:Date.now()}),Y&&(typeof m=="number"&&m>0?te.size>=m:!V)&&typeof i=="function"&&h==="active"&&i({selectedValues:[...te],__ts:Date.now()})}else k(O),typeof l=="function"&&l({selectedIndex:j,selectedValue:O,__ts:Date.now()}),Y&&typeof i=="function"&&h==="active"&&i({selectedIndex:j,selectedValue:O,__ts:Date.now()})},[x,h,p,l,i,m,E]),q=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:y,useTitleFaded:s,children:t.jsx("div",{className:q,children:Array.isArray(x)&&x.length>0?x.map((j,M)=>t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:()=>R(M),ariaLabel:String(j),label:j,useLabel:!0,icon:g?g[String(j)]:void 0,variant:"default",disabled:h==="disabled",selected:p?E.has(j):B===j,useDisabledCovered:C,minWidth:0},String(j))):null})})}function Ho({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:d}=be.useTranslation(),c=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof n!="number"?"disabled":p<n?"done":p===n?"active":"disabled",C=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[v,f]=o.useState(u??null),y=`${String(C)}\0${JSON.stringify(g??null)}`,[w,h]=o.useState(y);w!==y&&(h(y),u==null&&f(null));const[_,b]=o.useState(u);Object.is(_,u)||(b(u),f(u??null));const A=o.useRef(void 0);o.useEffect(()=>{const k=A.current;typeof k=="number"&&typeof n=="number"&&typeof e=="number"&&k>=e&&n<e&&u==null&&f(null),A.current=n},[n,e,u]);const x=o.useCallback(k=>{const E=typeof k=="object"&&k!==null?Object.assign({},k,{__ts:Date.now()}):{value:k,__ts:Date.now()};typeof i=="function"&&i(E),m==="active"&&typeof s=="function"&&s(E)},[i,m,s]),N=o.useCallback(()=>{m==="active"&&(f(!1),x(!1))},[x,m]),B=o.useCallback(()=>{m==="active"&&(f(!0),x(!0))},[x,m]);return t.jsxs(Gn,{index:e,stepIndex:n,isLast:a,title:c,onDone:s,useTitleFaded:!1,children:[t.jsx(Qu,{context:l,state:m}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((k,E)=>t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(f(E),x&&x(E))},disabled:m==="disabled",ariaLabel:String(k),label:k,variant:m,selected:v===E},E)):t.jsxs(t.Fragment,{children:[t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:m==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),t.jsx(de,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function zo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:u,usePreviewTextBtn:d,previewText:c=null,onPreviewTextBtn:p,disabled:m,_pageIndex:C,showSoundWaveForm:g,showNoiseWaveForm:v}){const{t:f}=be.useTranslation(),y=r??f("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=m??(typeof n=="number"&&typeof e=="number"?e>n:!1);return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:y,onDone:s,titleProps:{usePreviewTextBtn:d,previewText:c,onPreviewTextBtn:p},children:t.jsx(Io,{soundSrc:l,ttsText:l?null:c??y,bucketPath:u,btnLabel:i||f("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:v},`audio-p${C??0}-s${e}`)})}const s3=[];function Vo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=s3}){const{t:u}=be.useTranslation(),d=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),c=F=>typeof F=="string"?F:F&&(F.context||F.sentence||F.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[C,g]=o.useState(()=>(p||[]).map((F,D)=>({id:D,text:c(F)}))),v=o.useMemo(()=>typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled",[n,e]),f=v!=="disabled",y=o.useRef(void 0);o.useEffect(()=>{if(y.current===l)return;y.current=l;const F=Array.isArray(l)?l:[];m(F);const D=(H=>{const L=(H||[]).map((ne,J)=>({id:J,text:c(ne)}));if(L.length<=1)return L;const I=(ne,J)=>{if(ne.length!==J.length)return!1;for(let ae=0;ae<ne.length;ae++)if(ne[ae].text!==J[ae].text)return!1;return!0};let $=ya(L),K=0;for(;I($,L)&&K<20;)$=ya(L),K+=1;return $})(F);g(D);try{if(typeof i=="function"){const H=D.filter((L,I)=>L.text===c(F[I])).length;i({shuffled:D,score:H,total:(F||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const H=D.filter((L,I)=>L.text===c(F[I])).length;s({shuffled:D,score:H,total:(F||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const w=(F,D)=>{const H=[...C],L=F+D;if(L<0||L>=H.length)return;const I=H[L];H[L]=H[F],H[F]=I,M(H);try{if(typeof s=="function"&&v==="active"){const $=H.filter((K,ne)=>K.text===c(p[ne])).length;s({shuffled:H,score:$,total:(p||[]).length,__ts:Date.now()})}}catch{}},[h,_]=o.useState(null),b=o.useRef(null),A=o.useRef(null),x=o.useRef(null),N=o.useRef(null),B=o.useRef(null),k=o.useRef({x:0,y:0}),E=o.useRef(null),S=o.useRef({dx:0,dy:0}),z=()=>{if(E.current!==null)return;const F=()=>{if(!b.current){E.current=null;return}E.current=requestAnimationFrame(F);const D=k.current,H=S.current||{dx:0,dy:0};b.current&&(b.current.style.transform=`translate3d(${D.x-H.dx}px, ${D.y-H.dy}px, 0)`)};E.current=requestAnimationFrame(F)},R=o.useRef(new Map),q=o.useRef(new Map),j=()=>{const F=new Map;return R.current.forEach((D,H)=>{D&&D.getBoundingClientRect&&F.set(H,D.getBoundingClientRect())}),F},M=F=>{const D=j();g(F);try{if(typeof i=="function"){const H=F.filter((L,I)=>L.text===c(p[I])).length;i({shuffled:F,score:H,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=j();F.forEach(L=>{const I=D.get(L.id),$=H.get(L.id),K=R.current.get(L.id);if(!K||!I||!$)return;const ne=I.top-$.top;ne&&(K.style.transition="none",K.style.transform=`translateY(${ne}px)`,requestAnimationFrame(()=>{K.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",K.style.transform="";const J=()=>{K.style.transition="",K.removeEventListener("transitionend",J)};K.addEventListener("transitionend",J)}))})})},O=(F,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(F))}catch{}try{D.dataTransfer&&(D.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),D.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}_(F);try{const H=C[F],L=document.createElement("div");L.className="order-list__dragging-object order-list__dragging-object--visible",L.textContent=H&&H.text?H.text:"",document.body.appendChild(L),b.current=L;const I=R.current.get(H.id);let $=D.clientX||0,K=D.clientY||0;try{if(I&&I.getBoundingClientRect){const xe=I.getBoundingClientRect();$=xe.left+xe.width/2,K=xe.top+xe.height/2}}catch{}const ne=L.getBoundingClientRect(),J=ne.width/2,ae=ne.height/2;S.current={dx:J,dy:ae},L.style.transition="none",k.current={x:$,y:K},L.style.transform=`translate3d(${$-J}px, ${K-ae}px, 0)`,requestAnimationFrame(()=>{try{L.style.transition=""}catch{}z()});const ue=xe=>{const W=xe;k.current={x:W.clientX,y:W.clientY},z()};x.current=ue,document.addEventListener("mousemove",ue);const ie=xe=>{const W=xe;k.current={x:W.clientX,y:W.clientY},z()};A.current=ie,document.addEventListener("dragover",ie);try{D.dataTransfer?.setData("text/plain",String(F));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:F}))}catch{}}catch{}}catch{}},Y=(F,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{B.current!==null&&(clearTimeout(B.current),B.current=null);const H=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(H&&N.current!==H){if(N.current)try{N.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}N.current=H}}catch{}},te=(F,D)=>{D.preventDefault();const H=D.dataTransfer?.getData("text/plain")||"",L=H?parseInt(H,10):h,I=F;if(typeof L!="number"||isNaN(L)||L===I){_(null),P(),V();return}const $=kC(C,L,I);M($),_(null),V();try{if(typeof s=="function"&&v==="active"){const K=$.filter((ne,J)=>ne.text===c(p[J])).length;s({shuffled:$,score:K,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const K=document.querySelectorAll(".order-list .order-list__item")[I];if(!K)return;const ne=K.querySelector(".order-list__slot")||K;try{ne.classList.add("pulse"),ne.offsetHeight,ne.classList.add("to-dark");const J=()=>{ne.classList.remove("pulse","to-dark"),ne.removeEventListener("transitionend",J)};ne.addEventListener("transitionend",J)}catch{}})}catch{}P()},V=()=>{if(b.current){try{document.body.removeChild(b.current)}catch{}b.current=null}A.current&&(document.removeEventListener("dragover",A.current),A.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),E.current!==null&&(cancelAnimationFrame(E.current),E.current=null)},U=()=>{_(null),P(),V()};o.useEffect(()=>()=>V(),[]);const P=()=>{try{if(B.current!==null&&(clearTimeout(B.current),B.current=null),N.current){try{N.current.classList.remove("drag-over")}catch{}N.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(F=>F.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const F=Math.max(1,(C||[]).length);C.forEach((D,H)=>{const L=q.current.get(D.id);if(!L)return;let I=50;F>1&&(I=Math.round(H/(F-1)*100));try{L.style.setProperty("--marker-pos",I+"%")}catch{}})}catch{}},[C]),o.useEffect(()=>()=>{V(),B.current!==null&&(clearTimeout(B.current),B.current=null)},[]),t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:d,children:t.jsx("div",{className:"order-list",children:C.map((F,D)=>{const H=Math.max(1,(C||[]).length),L=H>1?Math.round(D/(H-1)*100):50;return t.jsx("div",{className:"order-list__item",children:t.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?t.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":L+"%"},ref:I=>{const $=q.current;I?$.set(F.id,I):$.delete(F.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,t.jsxs("div",{ref:I=>{const $=R.current;I?$.set(F.id,I):$.delete(F.id)},className:`order-list__draggable ${h===D?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:f,onDragStart:f?I=>O(D,I):void 0,onDragEnter:f?I=>Y(D,I):void 0,onDragOver:f?I=>Y(D,I):void 0,onDragLeave:f?()=>{try{B.current!==null&&clearTimeout(B.current),B.current=setTimeout(()=>{try{const I=document.querySelectorAll(".order-list .order-list__item");I&&I[D]&&(I[D].classList.remove("drag-over"),N.current===I[D]&&(N.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f?I=>te(D,I):void 0,onDragEnd:f?U:void 0,children:[t.jsx("span",{className:"order-list__item-text body-2",children:F.text}),f?t.jsxs("span",{className:"order-list__item-buttons",children:[t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:()=>w(D,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===0,useBorder:!1,useDisabledInvisible:!0}),t.jsx(de,{htmlType:"button",size:32,type:"dot",onClick:()=>w(D,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===C.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},F.id)})})})}const i3=8e3;function l3(e,n){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,n)})}function ec({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:d=!1,hideAudio:c=!1,maxCards:p}){const{t:m}=be.useTranslation(),C=r??m("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),v=p??3,f=(g||[]).slice(0,v);(g||[]).length>v&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,w=typeof n!="number"?"disabled":y<n?"done":y===n?"active":"disabled",[h,_]=o.useState(null),b=o.useRef([]),[A,x]=o.useState(!1),N=o.useRef(null),B=o.useRef(!0);o.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const k=o.useMemo(()=>g.map(q=>q?.id??q?.word??"").join("|"),[g]);o.useEffect(()=>{_(null)},[k]);const E=o.useRef(void 0);o.useEffect(()=>{const q=E.current;typeof q=="number"&&typeof n=="number"&&typeof e=="number"&&q>=e&&n<e&&_(null),E.current=n},[n,e]);const S=o.useCallback((q,j)=>{if(u)return;const M={item:q,index:j,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(w==="active"&&typeof s=="function")try{s(M)}catch{}},[u,i,w,s]),z=o.useCallback(async()=>{if(A||w==="disabled")return;x(!0);let q=!1;const j=new Promise(M=>{N.current=()=>{q=!0,M()}});try{for(let M=0;M<f.length&&!(!B.current||q);M++){const O=b.current[M];O&&await Promise.race([l3(O.play(),i3),j])}}finally{N.current=null,x(!1)}},[A,w,f.length]),R=o.useCallback((q,j)=>{if(w!=="active")return;_(j);const M={selectedValue:q.word||q.title||"",selectedIndex:j,item:q,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(w==="active"&&typeof s=="function")try{s(M)}catch{}},[i,w,s]);return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:C,onDone:s,titleProps:{usePlayAllBtn:!c&&f.length>0,onPlayAll:z,playAllActive:A},children:t.jsx("div",{className:"training-step__cards",onClickCapture:q=>{const j=N.current;if(!j)return;const M=q.target;M&&typeof M.closest=="function"&&M.closest(".training-word-card__bottom")&&j()},children:f.length===0?t.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):f.map((q,j)=>t.jsx(wo,{ref:M=>{b.current[j]=M},item:q,disabled:w==="disabled",onPlayDone:()=>S(q,j),selectable:u,selected:u&&h===j,onSelect:u?()=>R(q,j):void 0,flipDelay:j*120,hideLabel:d,hideAudio:c},q&&q.id||j))})})}const u3=160,c3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function d3(e,n){const a=c3[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}const tc=()=>{};function Mn(e){const n=o.useId();if(!("variant"in e)){const{label:h,sub:_,onClick:b,children:A,align:x="horizontal",icon:N,useFullWidth:B=!1}=e,k=E=>{b&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),b())};return t.jsxs("div",{className:De("panel-row",x==="vertical"?"panel-row--vertical":"",B?"panel-row--label-fixed panel-row--fill":"",b?"panel-row--clickable":""),onClick:b,onKeyDown:b?k:void 0,role:b?"button":void 0,tabIndex:b?0:void 0,children:[N!=null&&t.jsx("div",{className:"panel-row__icon",children:N}),h!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:h}),_&&t.jsx("div",{className:"panel-row__sub caption-1",children:_})]}),t.jsx("div",{className:"panel-row__right",children:A})]})}if(e.variant==="description")return t.jsx("div",{className:"panel-row panel-row--block",children:t.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return t.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return t.jsx("div",{className:"panel-row panel-row--loading",children:t.jsx(Ta,{size:28})});if(e.variant==="custom"&&!e.label)return t.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:u,align:d="horizontal",useFullWidth:c=!1,icon:p}=e,m=a==="button"?void 0:i;let C=null;const g=a==="toggle"?`panel-toggle-${n}`:void 0,v=u?`panel-error-${n}`:void 0,f=`panel-helper-${n}`;if(a==="toggle"){const h=e;C=t.jsx(Hl,{checked:h.checked,onChange:h.onChange,id:g})}else if(a==="segmented"){const h=e;C=t.jsx(An,{options:h.options,value:h.value,onChange:h.onChange,size:h.size??40,ariaLabel:r})}else if(a==="dropdown"){const h=e,_=h.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${c?" panel-row__dropdown-group--full":""}`,children:h.dropdowns.map((b,A)=>t.jsx("div",{className:c?"panel-row__dropdown-item--full":void 0,children:t.jsx(sn,{options:b.options,value:b.value,onChange:b.onChange,placeholder:b.placeholder,block:c,error:!!u,ariaDescribedBy:v,ariaLabel:b.ariaLabel??([r,b.placeholder].filter(Boolean).join(" ")||void 0)})},A))}):t.jsx(sn,{options:h.options??[],value:h.value??"",onChange:h.onChange??tc,block:c,error:!!u,ariaLabel:r,ariaDescribedBy:v});C=u?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${c?" panel-row__dropdown-error-wrap--full":""}`,children:[_,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}):_}else if(a==="button"){const h=e;h.buttons?.length?C=t.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((_,b)=>t.jsx(de,{htmlType:"button",size:_.btnSize??40,variant:_.btnVariant??"default",disabled:_.disabled,onClick:_.onClick,children:_.label},b))}):C=t.jsx(de,{htmlType:"button",size:h.btnSize??40,variant:h.btnVariant??"default",disabled:h.disabled,onClick:h.onClick,children:h.buttonLabel})}else if(a==="text"){const h=e;C=t.jsx("span",{className:`panel-row__text body-2${c?" panel-row__text--full":""}`,style:h.valueColor?{color:h.valueColor}:void 0,children:h.value})}else if(a==="input"){const h=e;C=t.jsxs("div",{className:`panel-row__input-wrap${c?" panel-row__input-wrap--full":""}`,children:[t.jsx(Un,{value:h.value,onChange:h.onChange??tc,onKeyDown:h.onKeyDown,onEnter:h.onEnter,placeholder:h.placeholder,ghostText:h.ghostText,ghostHint:h.ghostHint,inputMode:h.inputMode,readOnly:h.readOnly,disabled:h.disabled,type:h.type,autoComplete:h.autoComplete,maxLength:h.maxLength,showCount:h.showCount,multiline:h.multiline,rows:h.rows,fullWidth:c,error:u,ariaLabel:r,required:l,ariaDescribedBy:h.helperText?f:void 0}),h.helperText&&t.jsx("div",{id:f,className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(C=e.children);u&&a!=="input"&&a!=="dropdown"&&(C=t.jsxs("div",{className:`panel-row__dropdown-error-wrap${c?" panel-row__dropdown-error-wrap--full":""}`,children:[C,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const y=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&c,w=h=>{m&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),m())};return t.jsxs("div",{className:De("panel-row",d==="vertical"?"panel-row--vertical":"",y?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",m?"panel-row--clickable":""),onClick:m,onKeyDown:m?w:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,children:[p!=null&&t.jsx("div",{className:"panel-row__icon",children:p}),t.jsxs("div",{className:"panel-row__left",children:[g?t.jsxs("label",{htmlFor:g,className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}):t.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&t.jsx("span",{className:"required-mark",children:"*"})]}),s&&t.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),t.jsx("div",{className:"panel-row__right",children:C})]})}function nc(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function p3({devices:e,onRelease:n,emptyLabel:a}){const{t:r}=be.useTranslation();return t.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return t.jsxs("div",{className:"panel-row__device-column",children:[t.jsxs("div",{className:"panel-row__device-head",children:[t.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&n&&t.jsx(de,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>n(s)})]}),i?t.jsxs("div",{className:"panel-row__device-info",children:[t.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&t.jsx(yt,{size:"small",variant:ou(i.device),fill:"soft",label:d3(i.device,r)}),nc(i)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:nc(i)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),vo(i.wornYear,i.wornMonth,i.wornDay)&&t.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:vo(i.wornYear,i.wornMonth,i.wornDay)})})]}):t.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function cr({title:e,titleLevel:n=2,icon:a,disc:r,actions:s,size:i="medium",minHeight:l,maxWidth:u,className:d,scrollable:c,scrollbarGutter:p="auto",compactRows:m=!1,useBorder:C=!0,useBg:g=!0,useRowBorder:v=!0,labelWidth:f,form:y=!1,loading:w,empty:h,children:_}){const b=De("panel",`panel--${i}`,y?"panel--form":"",l!==void 0?"panel--fill":"",C?"":"panel--no-border",g?"":"panel--no-bg",v?"":"panel--no-row-border",m?"panel--compact-rows":"",d),A={};l!==void 0&&(A.minHeight=l),u!==void 0&&(A.maxWidth=typeof u=="number"?`${u}px`:u),f!==void 0&&(A["--panel-label-width"]=typeof f=="number"?`${f}px`:f);const x=n?`h${n}`:"div";return t.jsxs("div",{className:b,style:Object.keys(A).length?A:void 0,children:[(!!e||r!=null)&&t.jsxs("div",{className:De("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&t.jsx(Ke,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),t.jsxs("div",{className:"panel__title-group",children:[!!e&&t.jsx(x,{className:`panel__title ${r!=null?"body-3b":"h5b"}`,children:e}),r!=null&&t.jsx("p",{className:"panel__disc caption-1",children:r})]}),s&&t.jsx("div",{className:"panel__actions",children:s})]}),w?t.jsx(Mn,{variant:"loading"}):h!=null&&o.Children.toArray(_).length===0?t.jsx(Mn,{variant:"empty",children:h}):c?t.jsx("div",{className:De("panel__body--scroll",p==="stable"&&"panel__body--gutter-stable"),children:_}):_]})}function m3({cols:e=2,children:n}){return t.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:n})}function h3(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function ac(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}h3(Et.t.bind(Et)),ac(Et.t.bind(Et));const Wo="none",C3=.5,f3=1.5,g3=.25;function qo({title:e,valueLabel:n,value:a,min:r,max:s,step:i,tickStep:l,size:u,onChange:d}){return t.jsxs(Mn,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(eu,{value:a,onChange:d,min:r,max:s,step:i,size:u,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),t.jsx("div",{className:"noise-settings__value button-1",children:n})]})}function rc({anchorRect:e,onClose:n}){const{t:a}=be.useTranslation(),r=tn("(max-width: 767px)")?40:24,s=ir(),i=$a(s?.settings??Pa),l=s?.settings.type??"defaultNoise",u=s?.settings.enabled??!0,d=s?.playbackRate??1,c=s?.mainVolume??1,p=Math.round(c*100),m=o.useCallback(f=>{try{s?.setMainVolume(Math.max(0,Math.min(1,f/100)))}catch{}},[s]),C=o.useCallback(f=>{try{s?.setPlaybackRate(f)}catch{}},[s]),g=o.useCallback(f=>{const y=Math.min(La,Math.max(0,Math.round(f*10)/10));try{s?.setSettings({noiseRatio:y})}catch{}},[s]),v=o.useCallback(f=>{try{f===Wo?s?.setSettings({enabled:!1}):s?.setSettings({type:f,enabled:!0})}catch{}},[s]);return t.jsx(rn,{anchorRect:e,offset:12,onClose:n,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:t.jsxs("div",{className:"noise-settings__header",children:[t.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),t.jsx(de,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:n})]}),children:t.jsxs(cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[t.jsx(qo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),t.jsx(qo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:C3,max:f3,step:g3,size:r,onChange:C}),t.jsx(Mn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:t.jsx(An,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Wo,label:a("training.noise.type.none","\uC5C6\uC74C")},...ac(a).map(f=>({key:f.value,label:f.label}))],value:u?l:Wo,onChange:v})}),t.jsx(qo,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:La,step:zu,size:r,onChange:g})]})})}function oc({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:u=1,resultOpen:d=!1}){const{t:c}=be.useTranslation(),[p,m]=o.useState(!1),[C,g]=o.useState(null),[v,f]=o.useState(!1),y=o.useRef(null),w=o.useRef(null),h=ir(),_=u>0,b=_&&l<u-1,A=!_||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(m(!1),g(null))},[e]);const N=o.useCallback(()=>{m(!1),g(null)},[]),B=o.useCallback(()=>{if(p){m(!1),g(null);return}const O=y?.current?.getBoundingClientRect();O&&g(O),n?.(),m(!0)},[p,n]),k=o.useCallback(()=>{if(p){m(!1),g(null);return}const O=w?.current?.getBoundingClientRect();O&&g(O),n?.(),m(!0)},[p,n]),E=tn("(max-width: 767px)"),S=o.useRef(null),[z,R]=o.useState(null),q=o.useCallback(()=>{f(O=>{const Y=!O;return R(Y?S.current?.getBoundingClientRect()??null:null),Y})},[]),j=o.useCallback(()=>{f(!1),R(null)},[]);o.useEffect(()=>{d&&(f(!1),R(null))},[d]);const M=t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:c("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(go,{analyser:h?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:c("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:c("training.meter.noise","\uC18C\uC74C")}),t.jsx(go,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:c("training.meter.noise","\uC18C\uC74C")})]})]});return Xu(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[y.current,w.current].map(O=>O?.querySelector("button")??null).find(O=>!!O&&O.getClientRects().length>0)??y.current?.querySelector("button")??null),t.jsxs("div",{className:"pp-bottom",children:[t.jsxs("div",{className:"pp-bottom__left",children:[e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pp-bottom__settings--desktop",children:t.jsx("div",{ref:y,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:B,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:c("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:c("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:w,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:k,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:c("training.settings","\uC124\uC815")})})})]}):null,e&&t.jsx("div",{ref:S,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:q,selected:v,"aria-expanded":E?v:void 0,ariaLabel:c("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&v&&!E&&t.jsx("div",{className:"pp-bottom__meters",children:M})]}),e&&v&&E&&z&&t.jsx(rn,{anchorRect:z,onClose:j,ariaLabel:c("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:t.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:M})}),t.jsxs("div",{className:"pp-bottom__right",children:[A&&t.jsx(de,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:c("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:c("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!x}),b&&t.jsx(de,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:c("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:c("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!x})]}),e&&p&&t.jsx(rc,{anchorRect:C,onClose:N})]})}function sc({title:e,subtitle:n,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:u,pageCount:d,progressMax:c,progressIndex:p,onBack:m,onClose:C}){const{t:g}=be.useTranslation(),v=tn("(max-width: 767px)"),f=Number.isInteger(p)?p:u||0,y=Number.isInteger(c)?c:d||0,w=m||C,h=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,b=typeof n=="string"?n.trim():n,A=!!(_||b),x=A?_||b:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),N=h||(_?n:void 0),B=v&&typeof N=="string"&&(N.includes(" \xB7 ")||N.includes(" / "))?N.split(/\s[·/]\s/).pop():N,k=o.useMemo(()=>{const E=i&&typeof i=="object"?{...i}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[i]);return t.jsxs("header",{className:"pp-title training-popup-title",children:[t.jsxs("div",{className:"pp-title__left",children:[w?t.jsx(de,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:w,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:s?t.jsx(Tl,{icon:s,label:e,tooltip:l,wrapperStyle:k}):null}),t.jsxs("div",{className:"pp-title__text",children:[B?t.jsx("span",{className:"pp-title__depth caption-1",children:B}):null,t.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(ru,{max:Math.max(0,y??0),index:Math.max(0,f??0)})]})}function b3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function y3(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(n=>typeof n=="string"?n.split("|").map(a=>a.trim()).filter(Boolean):n||n===0?[String(n)]:[]):typeof e=="string"?e.split("|").map(n=>n.trim()).filter(Boolean):[String(e)]}const ic=(e,n)=>{if(!n)return n;const a=typeof Et?.t=="function"?Et.t(e,{defaultValue:n}):void 0;return typeof a=="string"&&a?a:n};function lc(e,n,a){const r=e,s=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",i=pi().find(u=>u.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(u=>u.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:n,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?ic(`topic.${i.key}`,i.label):void 0,l?ic(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Uo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function v3(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function x3({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const d=lc(n,a,r),c=typeof u=="function"?u(d)||{}:u||{},p=n?.id||n?.title||s.length;return{id:`${e}:${p}`,meta:{...d,...c},pages:s,emptyMessage:i,buildResults:l}}function _3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function w3(e){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return n.selectedValues;if(n.selectedValue!==void 0)return n.selectedValue;if(n.selectedIndex!==void 0)return n.selectedIndex;if(n.value!==void 0)return n.value}return e}function A3(e,n=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(n))return String(n[e]??"");if(typeof e=="string")return e}function uc(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function k3(e,n,a,r){return uc(e,n*a+r)}function B3({payload:e,selected:n,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const s=e;if(Array.isArray(s.selectedValues))return r.every(i=>s.selectedValues.includes(i))&&s.selectedValues.every(i=>r.includes(i));if(typeof s.correct=="boolean")return s.correct}if(r.length){if(typeof n=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[n]));if(typeof n<"u")return r.some(s=>String(s)===String(n))}}function N3(e){return e?Array.isArray(e.items)?e.items.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(n=>{const a=n;return typeof n=="string"?{sentence:n}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const cc=o.createContext(null);function D3(){const e=o.useContext(cc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function E3({index:e,stepIndex:n,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=be.useTranslation(),d=typeof e=="number"?e:-1,c=typeof n!="number"?"disabled":d<n?"done":d===n?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),C=JSON.stringify(s),g=s.length;o.useEffect(()=>{m(Array.from({length:g},()=>null))},[C]);const v=o.useRef(void 0);o.useEffect(()=>{const h=v.current;typeof h=="number"&&typeof n=="number"&&typeof e=="number"&&h>=e&&n<e&&m(Array.from({length:g},()=>null)),v.current=n},[n,e,g]);const f=o.useMemo(()=>p.filter(h=>h!==null).length+1,[p]),y=o.useCallback(h=>{if(c!=="active")return;const _=p;let b;if(_[h]!=null){const x=_[h];b=_.map(N=>N!==null&&N>=x?null:N)}else b=[..._],b[h]=f;m(b);const A={selectedOrder:b,words:s,__ts:Date.now()};try{typeof l=="function"&&l(A)}catch{}if(_[h]==null&&b.length>0&&b.every(x=>x!==null))try{typeof i=="function"&&i(A)}catch{}},[c,p,f,l,i,s]),w=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return t.jsx(Gn,{index:e,stepIndex:n,isLast:a,title:w,onDone:i,children:t.jsx("div",{className:"training-step__cards",children:s.map((h,_)=>t.jsx(wo,{item:{word:h},disabled:c==="disabled",selectable:!0,selected:p[_]!==null,orderRank:p[_],onSelect:()=>y(_),flipDelay:_*120,hideLabel:!1,hideAudio:!0},`${h}-${_}`))})})}function dr(e){return null}dr.__isTrainingPage=!0;function da(e,n){const a=D3();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof n=="number"?e===n-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function dc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=da(e,n);return t.jsx(zo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function pc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Oo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function mc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Ho,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function hc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(Vo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Cc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(ec,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function S3({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=da(e,n);return t.jsx(E3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Go(...e){for(const n of e)if(typeof n=="string"){const a=n.trim();if(a.length)return a}else{if(typeof n=="number"||typeof n=="boolean")return String(n);if(Array.isArray(n)&&n.length)return n.join(", ");if(n&&typeof n=="object"){const a=n,r=[a.text,a.label,a.value];for(const s of r){if(typeof s=="string"&&s.trim().length)return s.trim();if(typeof s=="number"||typeof s=="boolean")return String(s)}}}return null}function j3(e){return Go(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function fc(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const n=Go(e?.status,e?.result,e?.judge,e?.note);if(n){const a=n.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function gc(e){const{score:n,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:d=!1}=e||{},{t:c}=be.useTranslation(),p=o.useId(),m=o.useCallback(()=>!d,[d]);o.useEffect(()=>{const h=a??0;if(n!=null&&h>0&&n/h>.5){const _=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(_)}},[n,a]);const C=o.useCallback(h=>{const _=fc(h),b=Go(h?.wording,h?.label);return _===!0?{variant:"main",label:b??c("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:_===!1?{variant:"danger",label:b??c("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:b??c("training.result.notJudged","\uBBF8\uD310\uC815")}},[c]),g=a??0,v=n??0,f=o.useMemo(()=>Array.isArray(r)?r:[],[r]),y=o.useMemo(()=>f.map(h=>{const _=h??{},b=j3(_)||c("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:A,label:x}=C(_),N=Array.isArray(_.corrects)?_.corrects:[],B=N.length?N.join(", "):_.answer!=null&&_.answer!==""?String(_.answer):null,k=typeof _.selectedText=="string"?_.selectedText:null,E=fc(_)===!0;return{problem:b,variant:A,label:x,answer:B,selectedText:k,isCorrect:E}}),[f,C,c]),w=o.useMemo(()=>y.some(h=>h.answer!==null||h.selectedText!==null),[y]);return t.jsx(Tn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:c("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:m,footerClassName:"trp-result__foot",footer:({animateThen:h,closeWithAnimation:_})=>t.jsxs(t.Fragment,{children:[d&&t.jsx("p",{id:p,className:"trp-actions__reason caption-1",role:"status",children:c("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsxs("div",{className:"trp-actions",children:[t.jsx(de,{htmlType:"button",size:56,type:"bar",label:c("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>h(i)}),t.jsx(de,{htmlType:"button",size:56,type:"bar",label:c("training.result.done","\uC644\uB8CC"),variant:"main",onClick:_,disabled:d,onDisabledClick:d?()=>{}:void 0,"aria-describedby":d?p:void 0})]})]}),children:()=>t.jsxs("div",{className:"trp-result is-on",children:[t.jsxs("header",{className:"trp-result__head",children:[t.jsx("p",{className:"trp-result__eyebrow caption-1",children:c("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:c("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&t.jsx("p",{className:"trp-result__subtitle body-3",children:s}),t.jsx("div",{className:"trp-score",children:t.jsxs("div",{className:"trp-score__figure","aria-label":c("training.result.scoreAria",{correct:v,total:g}),children:[t.jsx("span",{className:"trp-score__big",children:v}),t.jsx("span",{className:"trp-score__sep",children:"/"}),t.jsx("span",{className:"trp-score__total",children:g})]})})]}),y.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${w?" result-table--answer":""}`,role:"table","aria-label":c("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[t.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[t.jsx("span",{role:"columnheader",children:c("common.col.problem","\uBB38\uC81C")}),w&&t.jsx("span",{role:"columnheader",children:c("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:c("training.result.colJudge","\uD310\uC815")})]}),y.map((h,_)=>t.jsxs("div",{className:"result-table__row",role:"row",children:[t.jsxs("div",{className:"trp-row__problem",children:[t.jsx("span",{className:"trp-row__no caption-1",children:String(_+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:h.problem})]}),w&&t.jsxs("div",{className:"trp-row__answers",children:[h.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:c("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:h.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${h.isCorrect?"is-correct":"is-wrong"}`,children:c("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${h.isCorrect?"is-correct":"is-wrong"}`,children:h.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(yt,{variant:h.variant,label:h.label,fill:"soft",minWidth:80})})]},_))]})})]})})}function T3(e){o.useEffect(()=>{if(!e)return;const n=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,s=0,i=0;const l=()=>{const p=Date.now();a==null&&(a=p),r==null&&(r=p)},u=()=>{r!=null&&(s+=Date.now()-r,r=null)};n()&&l();const d=()=>{if(u(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,DC({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},c=()=>{n()?l():d()};return typeof document<"u"&&document.addEventListener("visibilitychange",c),typeof window<"u"&&window.addEventListener("pagehide",d),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",c),typeof window<"u"&&window.removeEventListener("pagehide",d),d()}},[e])}function Ko(e,n){return e&&e.id||`page-${n??0}`}function Yo(e,n){return e&&e.key||`step-${n??0}`}function pr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function M3(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const L3=300,$3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Ln=Object.freeze({}),bc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function yc(e){const n=e,a=n?.results||n?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,s=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:r!=null?s:null,total:r}}const R3=e=>t.jsx(gc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function P3(e){const{scenario:n,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:u,pageIndex:d,pageCount:c,stepIndex:p,stepCount:m,onBack:C,onComplete:g,onNext:v,onSettings:f,useNoiseSetting:y=!0,children:w,ariaLabel:h,label:_,buildResults:b,onResult:A,typeKey:x,entryPoint:N,dailyTotal:B,itemRef:k,renderResultPopup:E,noiseOverride:S}=e;T3(x&&!bc.has(x)?x:"");const z=o.useRef(0);o.useEffect(()=>{z.current=Date.now()},[]);const{t:R}=be.useTranslation(),q=A,j=!!n,M=n?.id||null,O=n?.meta||{},Y=Array.isArray(n?.pages)?n.pages:[],te=Array.isArray(w)||o.isValidElement(w)&&typeof w!="function"?o.Children.toArray(w).filter(o.isValidElement):[],V=te.length>0,U=oe=>oe===dr||oe?.__isTrainingPage===!0,P=V&&te.some(oe=>U(oe.type)),F=P?te.filter(oe=>U(oe.type)).map((oe,ye)=>{const G=oe.props||{};return{id:`children-page-${ye}`,steps:o.Children.toArray(G.children).filter(o.isValidElement),pageTop:G.pageTop||G.top||null,pageBottom:G.pageBottom||G.bottom||null}}):[{id:"children-page-0",steps:te}],D=V&&!j&&typeof w!="function",H=D?Math.max(1,F.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const oe=document.body;return oe.dataset.ihabTrainingPopupCount=String(Number(oe.dataset.ihabTrainingPopupCount||"0")+1),oe.classList.add("ihab-training-popup-open"),()=>{const ye=Number(oe.dataset.ihabTrainingPopupCount||"1")-1;ye>0?oe.dataset.ihabTrainingPopupCount=String(ye):(delete oe.dataset.ihabTrainingPopupCount,oe.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return E4()},[]);const[L,I]=o.useState({...Pa,enabled:!1}),$=o.useRef(L);o.useEffect(()=>{$.current=L},[L]);const K=o.useRef(S),ne=o.useRef(!1),J=o.useRef(null);o.useEffect(()=>{let oe=!1;const ye=G=>{if(oe)return;ne.current=!0;const le=G?Ra({...Pa,enabled:!1},G):{...Pa},ce=J.current;J.current=null;const ve=ce?Ra(le,ce):le;$.current=ve,I(ve),ce&&!K.current&&ii(ve),Wa(ve);const _e=K.current;if(_e){const Te=typeof _e=="function"?_e(ve):_e,rt=Ra(ve,Te);$.current=rt,I(rt),Wa(rt)}};return TC().then(ye),()=>{oe=!0}},[]);const[ae,ue]=o.useState(null),[ie,xe]=o.useState(null),W=o.useCallback((oe,ye)=>{oe==="main"?ue(ye):xe(ye)},[]),Q=o.useRef(null),se=o.useRef(null),ke=o.useCallback(()=>{se.current!==null&&(clearTimeout(se.current),se.current=null);const oe=Q.current;Q.current=null,oe&&ii(oe)},[]);o.useEffect(()=>{if(typeof window>"u")return;const oe=()=>{document.visibilityState==="hidden"&&ke()};return window.addEventListener("pagehide",ke),document.addEventListener("visibilitychange",oe),()=>{window.removeEventListener("pagehide",ke),document.removeEventListener("visibilitychange",oe),ke()}},[ke]);const me=o.useCallback(oe=>{const ye=Ra($.current,oe);if($.current=ye,I(ye),!ne.current){J.current={...J.current??{},...oe},Wa(ye);return}K.current||(Q.current=ye,se.current!==null&&clearTimeout(se.current),se.current=setTimeout(ke,L3)),Wa(ye)},[ke]),re=L.mainSpeed,Ce=L.mainVolume,ge=o.useCallback(oe=>me({mainSpeed:oe}),[me]),Ee=o.useCallback(oe=>me({mainVolume:oe}),[me]),Re=o.useMemo(()=>({settings:L,setSettings:me,registerAnalyser:W,mainAnalyser:ae,noiseAnalyser:ie,playbackRate:re,setPlaybackRate:ge,mainVolume:Ce,setMainVolume:Ee}),[L,me,W,ae,ie,re,ge,Ce,Ee]),Le=o.useRef(null),[Je,Qe]=o.useState(0),qe=o.useRef([]),[Fe,st]=o.useState("center"),[et,Ye]=o.useState(!1),Se=o.useRef(!1),Ae=o.useRef(null),ee=o.useCallback(oe=>{Se.current||(Se.current=!0,Ye(!0),Ae.current=setTimeout(()=>{try{oe()}catch{Se.current=!1,Ye(!1)}},$3()?0:u3))},[]);o.useEffect(()=>()=>{Ae.current&&clearTimeout(Ae.current)},[]);const fe=o.useRef(C);o.useEffect(()=>{fe.current=C}),o.useEffect(()=>{const oe=Le.current,ye=document.activeElement;if(Vr(oe,ye),oe){const G=Array.from(oe.querySelectorAll(mn)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(G)try{G.focus()}catch{}}return()=>{const G=document.activeElement;if(!G||G===document.body||oe&&oe.contains(G))try{Wr(ye)?.focus?.()}catch{}}},[]),o.useEffect(()=>zn(()=>ee(()=>{const oe=fe.current;typeof oe=="function"&&oe()})),[ee]),Hr(Le,!0);const[ze,Be]=o.useState(!1),je=o.useRef(!1),[pe,$e]=o.useState(null),nt=o.useRef(0),_t=()=>{nt.current+=1,$e(null)},[kt,dt]=o.useState(""),[Ze,We]=o.useState(()=>pr()),Pe=o.useRef(typeof d=="number"?d:null);o.useEffect(()=>{!j&&!D||(We(pr()),_t())},[j,M,D]),o.useEffect(()=>{D&&We(oe=>{const ye=Math.max(0,Math.min(oe.pageIndex,Math.max(0,H-1)));return ye!==oe.pageIndex?{...oe,pageIndex:ye,stepIndex:0}:oe})},[D,H]);const Xe=D?Math.max(0,Math.min(Ze.pageIndex,H-1)):0,Oe=D?F[Xe]:null,it=D&&Oe&&Array.isArray(Oe.steps)?Oe.steps:[],Ge=j?Ze.pageIndex:D?Xe:typeof d=="number"?d:0,ft=j?Y[Math.max(0,Math.min(Ze.pageIndex,Math.max(0,Y.length-1)))]:null,jt=j&&ft&&Array.isArray(ft.steps)?ft.steps:[],Bt=j?jt.length:D?it.length:typeof m=="number"?m:0,mt=j||D?Math.max(0,Math.min(Ze.stepIndex,Math.max(0,Bt))):typeof p=="number"?p:0,lt=j?Y.length:D?H:typeof c=="number"?c:0;o.useLayoutEffect(()=>{const oe=Pe.current;if(typeof Ge=="number"&&oe!==null&&Ge!==oe&&Ge>oe)try{dt(R("training.problemNotice",{n:Ge+1}))}catch{}Pe.current=typeof Ge=="number"?Ge:Pe.current},[Ge,d,R]),o.useLayoutEffect(()=>{const oe=Le.current;if(!oe)return;const ye=()=>oe.querySelector(".page-popup__scroll");let G=null,le=null,ce=null;const ve=ut=>{const vt=ye();if(!vt)return;const Rt=vt.scrollHeight<=vt.clientHeight;if(st(Rt?"center":"top"),ut&&!je.current){je.current=!0;try{Be(!0)}catch{}try{rt.disconnect()}catch{}}},_e=()=>{G!==null&&cancelAnimationFrame(G),G=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>ve(!0),60)})},Te=()=>{ce!==null&&cancelAnimationFrame(ce),ce=requestAnimationFrame(()=>ve(!1))};_e(),window.addEventListener("resize",Te);const rt=new MutationObserver(_e);rt.observe(oe,{childList:!0,subtree:!0,attributes:!0});const gt=setTimeout(()=>{je.current||ve(!0)},400);return()=>{window.removeEventListener("resize",Te),G!==null&&cancelAnimationFrame(G),le!==null&&clearTimeout(le),ce!==null&&cancelAnimationFrame(ce),clearTimeout(gt);try{rt.disconnect()}catch{}}},[Le]);const He=o.useCallback(oe=>{Le.current&&(Le.current._childOnNext=oe)},[]),at=o.useCallback(oe=>{Le.current&&(Le.current._childOnResult=oe)},[]),ht=o.useCallback((oe,ye,G)=>{We(le=>{const ce=le.answersByPage[oe]||{},ve=ce[ye],_e=Uo(G),Te=Uo(ve);return ve&&Te>_e?le:{...le,answersByPage:{...le.answersByPage,[oe]:{...ce,[ye]:G}}}})},[We]),Ot=o.useCallback((oe,ye,G)=>{const le=Ko(ft,Ge),ce=Yo(oe,ye);ht(le,ce,G)},[ft,Ge,ht]),tt=o.useCallback((oe,ye,G)=>{const le=Ko(ft,Ge),ce=Yo(oe,ye);ht(le,ce,G),!G?.allowChange&&oe?.autoAdvance!==!1&&We(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,ye+1)}))},[ft,Ge,ht,We]),Tt=o.useCallback((oe,ye)=>{const G=Oe?.id||`children-page-${Ge??0}`,le=typeof ye=="number"?ye:mt??0,ce=`step-${le}`;ht(G,ce,oe),oe?.allowChange||We(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,le+1)}))},[Oe,Ge,mt,ht,We]),Yt=o.useCallback((oe,ye)=>{const G=Oe?.id||`children-page-${Ge??0}`,le=`step-${typeof ye=="number"?ye:mt??0}`;ht(G,le,oe)},[Oe,Ge,mt,ht]),Mt=D?{currentPageIndex:Ge??0,currentStepIndex:mt??0,totalStepsInPage:it.length,handleStepDone:Tt,handleStepChange:Yt}:null,ln=async()=>{const oe=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:Y,flowState:Ze,answersByPage:Ze.answersByPage})):null;return typeof q=="function"&&await Promise.resolve(q(oe))||oe},un=async()=>{const oe=Oe?.id||`children-page-${Ze.pageIndex}`,ye=Ze.answersByPage[oe]||{},G=P?(()=>{const ve={};let _e=0;return F.forEach(Te=>{const rt=Ze.answersByPage[Te.id]||{},gt=Array.isArray(Te.steps)?Te.steps.length:0;for(let ut=0;ut<gt;ut+=1){const vt=rt[`step-${ut}`];typeof vt<"u"&&(ve[`step-${_e+ut}`]=vt)}_e+=gt}),ve})():ye;if(typeof b=="function"){const ve=await Promise.resolve(b(G,{pageAnswers:ye,answersByPage:Ze.answersByPage,pages:F,currentPageId:oe}));return typeof q=="function"&&await Promise.resolve(q(ve))||ve}const le=Object.entries(ye).map(([ve,_e],Te)=>({index:Te,key:ve,payload:_e})),ce={results:le,answers:le,score:0};return typeof q=="function"&&await Promise.resolve(q(ce))||ce},cn=()=>{const oe=++nt.current,ye=()=>oe!==nt.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(j){const ce=ln();$e(Ln);const ve=ce;Promise.resolve(ve).then(_e=>{ye()||$e(_e||{isEmpty:!0})}).catch(_e=>{!ye()&&$e({isEmpty:!0})});return}if(D){const ce=un();$e(Ln);const ve=ce;Promise.resolve(ve).then(_e=>{ye()||$e(_e||{isEmpty:!0})}).catch(_e=>{!ye()&&$e({isEmpty:!0})});return}const G=Le.current&&Le.current._childOnResult,le=ce=>{try{return ce?ce():void 0}catch{return}};if(typeof G=="function"){const ce=le(G);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?$e(ce):$e(ce&&typeof ce.then=="function"?Ln:{});const ve=()=>{ye()||$e(_e=>_e===Ln?{}:_e)};Promise.resolve(ce).then(_e=>{_e&&!ye()?$e(_e):ve()}).catch(_e=>{ve()});return}if(typeof q=="function"){const ce=le(q);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?$e(ce):$e(ce&&typeof ce.then=="function"?Ln:{});const ve=()=>{ye()||$e(_e=>_e===Ln?{}:_e)};Promise.resolve(ce).then(_e=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:yn&&yn.tagName.toUpperCase()==="SCRIPT"&&yn.src||new URL("components.cjs.js",document.baseURI).href}catch{}_e&&!ye()?$e(_e):ve()}).catch(_e=>{console.error("viewResults external handler failed",_e),ve()});return}},Rn=()=>{if(j){if(typeof Ge=="number"&&typeof lt=="number"&&Ge<lt-1){We(ye=>({...ye,pageIndex:ye.pageIndex+1,stepIndex:0}));return}return cn()}if(D){const ye=it.length;if(typeof mt=="number"&&mt<ye-1){We(G=>({...G,stepIndex:G.stepIndex+1}));return}if(typeof Ge=="number"&&typeof lt=="number"&&Ge<lt-1){We(G=>({...G,pageIndex:G.pageIndex+1,stepIndex:0}));return}return cn()}if(typeof v=="function"){try{v()}catch{}return}const oe=Le.current&&Le.current._childOnNext;if(typeof oe=="function"){try{oe()}catch{}return}},dn=j?O.title||O.label||h||R("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(s)?s[s.length-1]:void 0)||h||R("common.popup","\uD31D\uC5C5"),Pn=h||dn,Nn=j?O.title??O.label??dn:a??_??dn,Nt=(oe,ye)=>{const G=Ko(ft,Ge),le=Yo(oe,ye),ce=Ze.answersByPage[G]?.[le],ve=M3(oe,{page:ft,pageIndex:Ge,step:oe,stepIndex:ye,storedPayload:ce,answersByPage:Ze.answersByPage,flowState:Ze}),_e={key:le,index:ye,stepIndex:mt,isLast:ye===jt.length-1};switch(oe?.type){case"listen":return t.jsx(zo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te)});case"confirm":return t.jsx(Oo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});case"confirmWithText":return t.jsx(Ho,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});case"orderList":return t.jsx(Vo,{..._e,...ve,onDone:Te=>tt(oe,ye,Te),onChange:Te=>Ot(oe,ye,Te)});default:return null}},Cn=o.useRef(void 0);o.useEffect(()=>{const oe=Cn.current;if(Cn.current=Ge,oe===void 0||oe===Ge||!nr())return;const ye=Le.current;if(!ye)return;const G=document.activeElement;if(!(!G||G===document.body||!ye.contains(G)||G.disabled===!0))return;const le=ye.querySelector(`.training-steps ${mn.split(", ").join(", .training-steps ")}`)??Array.from(ye.querySelectorAll(mn)).find(ce=>!ce.closest('[aria-hidden="true"]'));try{le?.focus()}catch{}},[Ge]);const Ht=j?Y.length>0?t.jsx("div",{className:"training-steps",children:jt.map((oe,ye)=>Nt(oe,ye))},`replay-${Je}`):t.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:t.jsx("div",{className:"pp-empty",children:n?.emptyMessage||R("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Zt=D?t.jsxs(cc.Provider,{value:Mt,children:[Oe?.pageTop?t.jsx("div",{className:"training-page-top",children:Oe.pageTop}):null,t.jsx("div",{className:"training-steps",children:it.map((oe,ye)=>{const G=oe;return o.cloneElement(G,{...G.props,_stepIndex:ye,_totalSteps:it.length,_stepKey:`step-${ye}`,_pageIndex:Ge})})},`replay-${Je}`),Oe?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:Oe.pageBottom}):null]}):null,fn=o.useCallback(()=>{let oe;if(x){const ye=pe,{results:G,correct:le,total:ce}=yc(pe);EC({items:jC(G),category:bc.has(x)?"sentence":"word",trainingType:x,entryPoint:N??"sentence",itemRef:k??null,correct:le,total:ce,score:typeof ye?.score=="number"?ye.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-z.current)/1e3)),dailyTotal:B??null}),oe={correct:le,total:ce,attempt:qe.current.length+1,previousAttempts:[...qe.current]}}_t(),ee(()=>{typeof g=="function"&&g(oe),typeof C=="function"&&C()})},[g,C,x,N,B,k,pe,$e,ee]),en=o.useCallback(()=>dt(""),[dt]),gn=o.useCallback(()=>{ee(()=>{typeof C=="function"&&C()})},[C,ee]),In=t.jsxs("div",{className:`page-popup${et?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Pn,children:[t.jsxs("div",{ref:Le,className:`page-popup__panel ${ze?"":"page-popup__panel--measuring"} ${Fe==="center"?"page-popup__panel--center":Fe==="top"?"page-popup__panel--top":""}`,children:[t.jsx(sc,{title:Nn,subtitle:j?O.subtitle||O.label:Array.isArray(s)?s.join(" / "):void 0,desc:j?void 0:r,depth:j?O.depth:s,icon:j?O.icon:i,wrapperStyle:j?O.wrapperStyle:l,iconTooltip:j?O.iconTooltip:u,progressMax:lt,progressIndex:Ge,pageIndex:Ge,pageCount:lt,onBack:gn,onClose:gn}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${Fe==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:D?Zt:j?Ht:typeof w=="function"?w({registerOnNext:He,registerOnResult:at,panelRef:Le,setResultOverlay:$e}):w})}),t.jsx(oc,{onSettings:f,onNext:Rn,onResult:cn,useNoiseSettingBtn:!!(j?O.useNoiseSetting??!0:y),stepIndex:mt,stepCount:Bt,pageIndex:Ge,pageCount:lt,resultOpen:!!(pe&&!pe.isEmpty)})]}),pe&&!pe.isEmpty&&(E??R3)({score:pe.score,results:pe.results||pe.answers||[],contextsLength:pe.results?pe.results.length:pe.answers?pe.answers.length:0,onReplay:()=>{if(z.current=Date.now(),pe!==Ln){const{correct:oe,total:ye}=yc(pe);qe.current.push({correct:oe,total:ye})}if(_t(),Qe(oe=>oe+1),j){if(We(pr()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(D){We(pr());return}try{const oe=Le.current&&Le.current._childOnResult;typeof oe=="function"&&oe({replay:!0})}catch{}},onClose:fn,pending:pe===Ln}),pe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:t.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:t.jsx("div",{className:"page-popup__empty",children:R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(de,{htmlType:"button",variant:"main",size:48,onClick:fn,label:R("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(ra,{message:kt,position:"top",onClose:en})]}),bn=t.jsx(Lo.Provider,{value:Re,children:In});return typeof document<"u"&&document.body?Xt.createPortal(bn,document.body):bn}const $n=P3;$n.Page=dr,$n.ListenStep=dc,$n.ConfirmStep=pc,$n.ConfirmWithTextStep=mc,$n.OrderListStep=hc,$n.CardStep=Cc,$n.CardOrderStep=S3;function I3({label:e,homonum:n}){const a=Xn()?.(e,n)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=_o(a);return i?t.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&t.jsx("div",{className:"tooltip-word-image__spinner"}),t.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:u})]}):t.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:t.jsx("span",{children:e})})}function vc({words:e,anchorRect:n}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!n||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,u=window.innerWidth;let d=n.left+n.width/2-i/2,c=n.top-l-8;c<8&&(c=n.bottom+8),d=Math.max(8,Math.min(d,u-i-8)),s({left:d,top:c})},[n]),!n||e.length===0?null:Xt.createPortal(t.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:t.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>t.jsx(I3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const F3=new Intl.Collator("ko");function O3({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:u,maxSelect:d,onClearSelection:c,onPrint:p,onPrintEmpty:m,className:C,emptyHint:g,sectionType:v="page",disc:f}){const{t:y,i18n:w}=be.useTranslation(),h=w.language?.startsWith("ko")??!1,{anchorRect:_,openAt:b,close:A}=wa(),[x,N]=o.useState(null),B=o.useCallback(()=>{A(),N(null)},[A]);cb(B,!!x);const k=(r??"").trim(),E=/^[^,[\]\s]+$/.test(k)?k:"",S=E.length>0,z=r===void 0&&n===void 0,R=S?"match":z?"original":"ganada",[q,j]=o.useState(()=>R),[M,O]=o.useState("50"),[Y,te]=o.useState(1),[V,U]=o.useState(S);V!==S&&(U(S),j(R));const P=q==="match"&&!S||q==="original"&&!z?R:q,F=o.useMemo(()=>[...S?[{value:"match",label:y("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...z?[{value:"original",label:y("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:y("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:y("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:y("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:y("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:y("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:y("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[y,S,z]),D=o.useMemo(()=>["10","25","50","100"].map(re=>({value:re,label:y("wordSearch.pageSize",{count:Number(re),defaultValue:`${re}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),H=re=>re.words?.[0],L=o.useMemo(()=>{const re=[...E].length,Ce=hC(E),ge=new Map;return Ee=>{let Re=ge.get(Ee);return Re===void 0&&(Re=Ce((Ee.words?.[0]?.label??"").slice(0,re))?0:1,ge.set(Ee,Re)),Re}},[E]),I=o.useCallback((re,Ce)=>{const ge=Le=>H(Le)?.label??"",Ee=Le=>H(Le)?.syllables??[...ge(Le)].length,Re=Le=>(Le.words??[]).reduce((Je,Qe)=>{const qe=parseInt(Qe.grade??"",10);return Number.isFinite(qe)&&qe<Je?qe:Je},999);switch(P){case"match":return L(re)-L(Ce)||F3.compare(ge(re),ge(Ce));case"ganada":return ge(re).localeCompare(ge(Ce),"ko");case"ganada_desc":return ge(Ce).localeCompare(ge(re),"ko");case"syllable":return Ee(re)-Ee(Ce)||ge(re).localeCompare(ge(Ce),"ko");case"syllable_desc":return Ee(Ce)-Ee(re)||ge(re).localeCompare(ge(Ce),"ko");case"grade":return Re(re)-Re(Ce)||ge(re).localeCompare(ge(Ce),"ko");case"grade_desc":return Re(Ce)-Re(re)||ge(re).localeCompare(ge(Ce),"ko");default:return 0}},[P,L]),$=o.useMemo(()=>s.slice().sort(I),[s,I]),K=Number(M)||10,ne=o.useMemo(()=>(i??[]).flatMap(re=>re.items.slice().sort(I).map(Ce=>({item:Ce,label:re.label}))),[i,I]),J=i?ne.length:$.length,ae=Math.max(1,Math.ceil(J/K)),ue=Math.min(Y,ae),ie=o.useMemo(()=>$.slice((ue-1)*K,ue*K),[$,ue,K]),xe=o.useMemo(()=>{if(!i)return null;const re=ne.slice((ue-1)*K,ue*K),Ce=new Map;for(const{item:ge,label:Ee}of re)Ce.has(Ee)||Ce.set(Ee,[]),Ce.get(Ee).push(ge);return[...Ce.entries()].map(([ge,Ee])=>({label:ge,items:Ee}))},[i,ne,ue,K]);o.useEffect(()=>{te(1)},[q,M,J,r]);const W=J>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(sn,{size:40,options:F,value:P,onChange:j,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(sn,{size:40,options:D,value:M,onChange:O,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(Qa,{page:ue,totalPages:ae,onChange:te})]}):void 0,Q=re=>{u&&u(re)},se=n!==void 0&&a?t.jsxs(t.Fragment,{children:[y("wordSearch.resultTitlePrefix","\uCD1D "),t.jsx("span",{style:{color:"var(--color-main)"},children:n}),y("wordSearch.resultTitleSuffix",{unit:h?_C(a):a})]}):void 0,ke=n!==void 0&&n>0&&d!==void 0&&a?y("wordSearch.resultDisc",{unit:h?AC(a):a,max:d,selected:l.length}):void 0,me=f??ke;return t.jsxs(sa,{type:v,className:De("word-search-result-block",C),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(se||W||me)&&t.jsxs("div",{className:"word-search-result-block__head",children:[t.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&t.jsx(Ke,{icon:e,className:"word-search-result-block__head-icon"}),se&&t.jsx("span",{className:"word-search-result-block__title h3",children:se})]}),W&&t.jsx("div",{className:"word-search-result-block__head-actions",children:W}),me&&t.jsx("div",{className:"word-search-result-block__head-disc body-3",children:me})]}),(i?i.length===0:s.length===0)&&t.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[t.jsx("p",{className:"word-search-result-block__empty body-3",children:y("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(xe??[]).map(re=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:re.items.map(Ce=>{const ge=l.includes(Ce.id);return t.jsx("div",{onMouseEnter:Ee=>{b(Ee.currentTarget),N(Ce.words??[])},onMouseLeave:B,children:t.jsx(de,{htmlType:"button",size:"word",align:"grid",label:(Ce.words??[]).map(Ee=>Ee.label),subLabel:(Ce.words??[]).some(Ee=>Ee.subLabel)?(Ce.words??[]).map(Ee=>Ee.subLabel):void 0,selected:ge,onClick:()=>Q(Ce.id),minWidth:200})},Ce.id)})})},re.label)):t.jsx("div",{className:"word-search-result-block__items",children:ie.map(re=>{const Ce=l.includes(re.id);return t.jsx("div",{onMouseEnter:ge=>{b(ge.currentTarget),N(re.words??[])},onMouseLeave:B,children:t.jsx(de,{htmlType:"button",size:"word",align:"grid",label:(re.words??[]).map(ge=>ge.label),subLabel:(re.words??[]).some(ge=>ge.subLabel)?(re.words??[]).map(ge=>ge.subLabel):void 0,selected:Ce,onClick:()=>Q(re.id),minWidth:200})},re.id)})}),x&&_&&t.jsx(vc,{words:x,anchorRect:_})]}),ae>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(Qa,{page:ue,totalPages:ae,onChange:te})}),(c||p)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[c&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:y("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:c}),p&&t.jsx("div",{onClick:l.length===0?m:void 0,children:t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",label:y("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function H3(e,n){return n.map(a=>{const r=typeof a=="string"?a:a.label,s=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:s}})}function z3({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:d,placeholder:c="-",className:p,title:m,titleIcon:C,disc:g,showInfoButton:v=!0,onClearPhoneme:f,onSearch:y,onSearchEmpty:w,searchDisabled:h=!1,searchLabel:_,searchChecking:b=!1,pairMode:A=!1,sectionType:x="page",beforeSearchContent:N,beforeContent:B,afterContent:k,hideCountControl:E=!1,ordinal:S=!1}){const{t:z}=be.useTranslation(),R=o.useMemo(()=>z("wordPairs.infoNotes",{returnObjects:!0}),[z]),q=o.useMemo(()=>Array.from({length:s-i+1},(L,I)=>{const $=i+I;return{key:String($),label:z("wordPairs.count",{n:$})}}),[z,s,i]),j=o.useMemo(()=>z("wordPairs.ordinals",{returnObjects:!0}),[z]),M=o.useCallback(L=>S?z("wordPairs.phonemeOrdinalLabel",{ordinal:j[L-1]??L}):a===1?z("wordPairs.phonemeSingleLabel","\uC74C\uC808"):z("wordPairs.phonemeN",{n:L}),[S,j,a,z]),O=o.useCallback(L=>S?z("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[L-1]??L}):a===1?z("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):z("wordPairs.phonemeContrast",{n:L}),[S,j,a,z]),Y=o.useCallback((L,I)=>I?t.jsxs(t.Fragment,{children:[L,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):L,[]),{anchorRect:te,toggleAt:V,close:U}=wa(),P=o.useCallback(L=>r(Number(L)),[r]),F=tn("(max-width: 767px)"),D=o.useCallback(L=>H3(L,e).map(({label:I,value:$,displayLabel:K})=>{const ne=!!$&&$!=="\uC5C6\uC74C";return t.jsxs("span",{className:De("phoneme-select-block__cell-jamo-part",$?"":"phoneme-select-block__cell-jamo-part--empty",ne?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${$==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:$==="\uC5C6\uC74C"?"x":$||c}),ne&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:K??I})]},I)}),[e,c]),H=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(de,{htmlType:"button",size:40,type:F?"dot":void 0,icon:"info",label:F?void 0:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:te?"is-selected":void 0,"aria-expanded":!!te,"aria-haspopup":"dialog",onClick:L=>V(L.currentTarget)})}),te&&t.jsx(Vn,{title:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:R,anchorRect:te,onClose:U})]});return t.jsxs(sa,{type:x,title:m,icon:C,disc:g,action:v?H:void 0,className:De("phoneme-select-block",p),children:[B,!E&&t.jsx("div",{className:"phoneme-select-block__controls",children:t.jsx(An,{options:q,value:String(a),onChange:P,size:40,className:"phoneme-select-block__count-control"})}),t.jsx("div",{className:"phoneme-select-block__cells",children:A?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,I)=>{const $=n[I*2]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D($)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M(I+1)})]},I)})}),t.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:z("wordPairs.phonemeSelect.vs","\uB300")}),t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,I)=>{const $=n[I*2+1]??{};return t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D($)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:O(I+1)})]},I)})})]}):n.map((L,I)=>t.jsxs("div",{className:"phoneme-select-block__cell",children:[t.jsx("div",{className:"phoneme-select-block__cell-circle",children:t.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(L)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M(I+1)})]},I))}),(l||u)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:A?t.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,I)=>{const $=n[I*2]??{};return t.jsx(Bn,{title:Y(M(I+1),I===0),sections:u?u($,I*2):l,selected:$,onSelect:d?.(I*2),align:"newline"},I)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,I)=>{const $=n[I*2+1]??{};return t.jsx(Bn,{title:O(I+1),sections:u?u($,I*2+1):l,selected:$,onSelect:d?.(I*2+1),align:"newline"},I)})})]}):n.map((L,I)=>t.jsx(Bn,{title:Y(M(I+1),I===0),sections:u?u(L,I):l,selected:L,onSelect:d?.(I),align:"newline"},I))})}),N&&t.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(f||y||b)&&(()=>{const L=n.every(I=>Object.entries(I).every(([$,K])=>!K||$==="\uC885\uC131"&&K==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:L?w:void 0,children:[f&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:z("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:L,onClick:L?void 0:f}),y?t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:b?t.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:_??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:L||h||b,onDisabledClick:b?()=>{}:void 0,"aria-busy":b||void 0,onClick:y}):b?t.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[t.jsx("div",{className:"phoneme-select-block__spinner"}),t.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),k]})}function V3({title:e,sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,headerAction:c,className:p}){const{t:m}=be.useTranslation();return t.jsx(Bn,{className:p,title:e??m("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,headerAction:c,align:"inline"})}function W3({title:e,headerAction:n,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=be.useTranslation();return a.length===0?null:t.jsx(Bn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:s,align:"newline"})}function q3({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:d,className:c}){const{t:p}=be.useTranslation(),m={searchMode:p("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:p("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:p("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:p("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:p("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:p("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:p("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:p("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:p("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:p("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:p("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},C=y=>p("wordPairs.count",{n:y}),g=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:t.jsx(Ea,{title:p("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[p("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),p("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),p("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:m.phonemeOrder,items:[m.orderAny,m.orderMatch],display:"segmented",labelAction:t.jsx(Ea,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[C(1),C(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:t.jsx(Ea,{title:p("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[p("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),p("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],v={[m.searchMode]:n==="explicit"?m.explicit:n==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:C(i),[m.inputMode]:u==="phoneme"?m.pronInput:m.charInput},f=(y,w)=>{w===m.searchMode?a(y===m.explicit?"explicit":y===m.pick?"pick":"include"):w===m.phonemeOrder?s(y===m.orderMatch?"ordered":"unordered"):w===m.count?l(y===C(2)?2:1):w===m.inputMode&&d(y===m.pronInput?"phoneme":"word")};return t.jsx(Bn,{className:c,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:v,onSelect:f,align:"inline"})}function U3(e){const{title:n,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:u,defaultSortKey:d,defaultSortAsc:c=!0,selectedId:p,selectedIds:m,onSelect:C,onClose:g,pageSizeOptions:v=[10,25,50,100],initialPageSize:f,emptyText:y,countLabel:w,topContent:h,className:_=""}=e,{t:b}=be.useTranslation(),A=l??b("common.search","\uAC80\uC0C9"),x=y??b("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[N,B]=o.useState(""),[k,E]=o.useState(d??r[0]?.key??""),[S,z]=o.useState(c),[R,q]=o.useState(String(f??v[0]??10)),[j,M]=o.useState(1);o.useEffect(()=>{M(1)},[N,R]);const O=u!==null,Y=o.useCallback(($,K)=>{if(!K)return!0;const ne=K.toLowerCase();return r.some(J=>{const ae=$[J.key];return ae==null?!1:String(ae).toLowerCase().includes(ne)})},[r]),te=u??Y,V=o.useMemo(()=>{const $=O?a.filter(K=>te(K,N)):a;return k?[...$].sort((K,ne)=>{const J=K[k],ae=ne[k];return J===ae?0:Jr(J,ae,S)}):$},[a,N,k,S,O,te]),U=Math.max(1,Math.ceil(V.length/Number(R)));j>U&&M(U);const P=Math.min(j,U),F=V.slice((P-1)*Number(R),P*Number(R)),D=o.useCallback($=>{k===$?z(K=>!K):(E($),z(!0)),M(1)},[k]),H=o.useMemo(()=>{if(typeof w=="function"){const $=V.length,K=w($);if(typeof K=="string"){const ne=K.lastIndexOf(String($));if(ne>=0)return{prefix:K.slice(0,ne),suffix:K.slice(ne+String($).length)}}return{label:K}}if(typeof w=="string"&&w.includes("{n}")){const[$,K]=w.split("{n}");return{prefix:$,suffix:K}}return{prefix:b("common.totalCountPrefix","\uCD1D "),suffix:b("common.totalCountSuffix","\uAC1C")}},[w,V.length,b]),L=o.useMemo(()=>r.map($=>({label:$.label,onClick:$.sortable!==!1?()=>D($.key):void 0,className:$.className,sortDir:$.sortable!==!1&&k===$.key?S?"asc":"desc":null})),[r,k,S,D]),I=o.useMemo(()=>v.map($=>({value:String($),label:b("common.pageSizeLabel",{n:$})})),[v,b]);return t.jsxs(Tn,{className:`popup-list ${_}`,title:n,onClose:g,children:[h,"label"in H&&t.jsx("p",{className:"toolbar__count body-1",children:H.label}),t.jsx(uo,{count:"label"in H?void 0:{value:V.length,prefix:H.prefix,suffix:H.suffix},search:O?{value:N,onChange:B,placeholder:A}:void 0,pageSize:{options:I,value:R,onChange:q},pagination:{page:P,total:U,onChange:M}}),t.jsx(yo,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:L,items:F,onRowClick:C,renderRow:$=>{const K=m!=null?$.id!=null&&m.has($.id):p!=null&&$.id===p;return r.map(ne=>({content:ne.render?ne.render($):$[ne.key]??"",className:De(ne.className,K&&"popup-list__row--selected")}))},empty:x})]})}function xc(e){const{title:n,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:u,hideCancel:d=!1,extraAction:c,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:C,closeOnConfirm:g=!0,onClose:v,inline:f,size:y="small",className:w,initialFocus:h="close"}=e,{t:_}=be.useTranslation(),b=o.useRef(null);o.useEffect(()=>{if(f||h==="close")return;const E=b.current?.closest(".popup-panel"),S=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),z=h==="confirm"?S[S.length-1]:d?void 0:S[c?1:0];z&&!z.disabled&&z.focus()},[]);const A=o.useRef(!1),[x,N]=o.useState(!1),B=E=>{let S=!1;return{close:()=>{S=!0,E()},\uB2EB\uC558\uB098:()=>S}},k=async E=>{if(A.current)return;A.current=!0;const S=typeof document<"u"?document.activeElement:null;N(!0);let z=!1;try{z=await E()}catch(R){typeof console<"u"&&console.error(R)}finally{z||(A.current=!1,N(!1),requestAnimationFrame(()=>{const R=document.activeElement;(!R||R===document.body)&&S?.isConnected&&S.focus()}))}};return t.jsxs(Tn,{title:n,onClose:v,closeDisabled:x,inline:f,size:y,className:De("confirm-popup",r!=null&&"confirm-popup--has-top",w),buttons:[...c?[{label:c.label,variant:c.variant??"default",disabled:c.disabled||x,onClick:async({closeWithAnimation:E})=>{await k(async()=>{const S=B(E);await c.onClick(S.close);const z=c.closeOnClick??!0;return z&&E(),z||S.\uB2EB\uC558\uB098()})}}]:[],...d?[]:[{label:u??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??_("common.confirm","\uD655\uC778"),variant:p,disabled:m||x,onClick:async({closeWithAnimation:E})=>{await k(async()=>{const S=B(E);return await C(S.close),g&&E(),g||S.\uB2EB\uC558\uB098()})}}],children:[r!=null&&t.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&t.jsx(cr,{children:s.map((E,S)=>t.jsx(Mn,{label:E.label,children:t.jsx("span",{className:"panel-row__text body-2",children:E.value})},S))}),t.jsx("p",{ref:b,className:"body-2 confirm-popup__message",children:a}),i]})}function G3(e,n,a={}){const{t:r}=be.useTranslation(),[s,i]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),d=o.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),c=s?t.jsx(xc,{title:a.title??r("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??r("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??r("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{i(!1),n()},onClose:()=>i(!1)}):null;return{beforeClose:d,discardPopup:c,allowClose:u}}function K3({onApply:e,onCancel:n}){const{t:a}=be.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,d]=o.useState(null),c=o.useRef(null);o.useEffect(()=>{c.current?.focus()},[]);const p=o.useCallback(async g=>{const v=r.trim();if(v){l(!0),d(null);try{await e(v),g()}catch(f){d(ai(f)),l(!1),requestAnimationFrame(()=>c.current?.focus())}}},[r,e]),m=o.useCallback((g,v)=>{g.key==="Enter"&&!g.nativeEvent.isComposing&&p(v)},[p]),C=g=>{s(g.target.value),d(null)};return t.jsx(Tn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:n,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{p(g)}}],children:({closeWithAnimation:g})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:c,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:C,onKeyDown:v=>m(v,g),disabled:i,autoComplete:"off",spellCheck:!1}),u&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const _c=["var(--color-main)","var(--color-sub)"],Y3=2e3;function Z3(e,n){if(!n.startsWith("var("))return n;try{const a=n.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Zo({active:e=!1,count:n=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const f=Math.floor(n/2),y=n-f,w=(h,_)=>Array.from({length:h}).map((b,A)=>{const x=6+Math.random()*12,N=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),B=_c[Math.floor(Math.random()*_c.length)],k=Math.random()*300,E=(360+Math.random()*260)*r*1.2,S=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,z=Math.cos(S)*E,R=Math.sin(S)*E*1.35,q=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),M=Math.random()>.7?"50%":"3px";return{id:`${_}-${A}`,side:_,size:N,color:B,delay:k,vx:z,vy:R,angularVel:q,life:j,borderRadius:M}});return[...w(f,"left"),...w(y,"right")]},[n,r]),u=o.useRef(null),d=o.useRef({}),c=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),C=o.useRef(null),g=()=>{if(typeof document>"u")return null;let f=document.querySelector("[data-ihab-effect-root]");return f||(f=document.createElement("div"),f.className="app-effect",f.dataset.ihabEffectRoot="",f.style.position="fixed",f.style.inset="0",f.style.pointerEvents="none",f.style.zIndex="99998",document.body.appendChild(f)),f};if(typeof document<"u"&&C.current==null&&(C.current=g()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const U=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(U)}const f=1200,y=performance.now(),w=C.current&&C.current!==document.body?C.current.getBoundingClientRect():null,h=Math.max(60,(window.innerHeight||800)*.05),_=U=>Math.max(40,(U||window.innerWidth)*.02),b=w?.width||window.innerWidth||375,A=w?.height||window.innerHeight||812,x=U=>{const P=[...U].sort((F,D)=>F-D);return P[Math.floor(P.length/2)]||1},N=x(l.map(U=>Math.abs(U.vy))),B=x(l.map(U=>Math.abs(U.vx))),k=Math.sqrt(2*f*(A*.72+h))/N,E=N*k/f,S=b*.5/(B*E),z=(U,P,F)=>Math.min(F,Math.max(P,U)),R=z(k,.8,2.4),q=z(S,.7,2.2),j=a>0?a/Y3:1,M=l.map(U=>({...U,life:U.life*j,vx:U.vx*q,vy:U.vy*R,startTime:y+U.delay,ended:!1})),O=w?{x:w.left-_(w.width),y:w.top+w.height+h}:{x:-_(window.innerWidth),y:window.innerHeight+h},Y=w?{x:w.left+w.width+_(w.width),y:w.top+w.height+h}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+h},te=U=>{let P=!1;for(const F of M){const D=d.current[F.id];if(!D||!D)continue;if(U<F.startTime){D.style.display="none",P=!0;continue}if(!F._inited){const ie=F.side==="left"?O.x:Y.x,xe=F.side==="left"?O.y:Y.y;D.style.left=`${ie}px`,D.style.top=`${xe}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof F.color=="string"&&F.color.startsWith("var(")&&(D.style.background=Z3(D,F.color)??"#FF0060"),F._inited=!0}const H=(U-F.startTime)/1e3;if(H<0)continue;const L=F.life/1e3;if(H>=L){D.style.opacity="0",D.style.display="none",F.ended=!0;continue}P=!0;const I=F.side==="left"?O.x:Y.x,$=F.side==="left"?O.y:Y.y,K=I+F.vx*H,ne=$+F.vy*H+.5*f*H*H,J=(F.angularVel||0)*H,ae=K-I,ue=ne-$;D.style.transform=`translate3d(${ae}px, ${ue}px, 0) rotate(${J}deg)`,D.style.opacity=`${Math.max(0,1-H/L)}`}P?c.current=requestAnimationFrame(te):p.current?.()};c.current=requestAnimationFrame(te);const V=setTimeout(()=>{try{if((C.current?C.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const U=document.createElement("div");U.className="party-container",U.style.position="fixed",U.style.inset="0",U.style.pointerEvents="none",U.style.overflow="visible",U.style.zIndex="2147483647";for(const P of l){const F=document.createElement("span");F.className=`confetti confetti--${P.side}`,F.setAttribute("aria-hidden","true"),F.style.display="none",F.style.position="fixed",F.style.left="0px",F.style.top="0px",F.style.width=`${P.size}px`,F.style.height=`${Math.max(4,P.size*.6)}px`,F.style.background=P.color,F.style.borderRadius=P.borderRadius,F.style.transform="translate3d(0,0,0)",F.style.opacity="0",U.appendChild(F),d.current[P.id]=F}(document.body||C.current).appendChild(U),m.current=U}}catch{}},300);return()=>{if(c.current&&cancelAnimationFrame(c.current),clearTimeout(V),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const v=t.jsx("div",{className:"party-container",ref:u,children:l.map(f=>t.jsx("span",{"aria-hidden":!0,ref:y=>{d.current[f.id]=y},className:`confetti confetti--${f.side}`,style:{width:`${f.size}px`,height:`${Math.max(4,f.size*.6)}px`,background:f.color,borderRadius:f.borderRadius}},`${f.id}-${i}`))});return typeof document<"u"?Xt.createPortal(v,C.current||document.body):v}const Xo=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function X3({trigger:e=0,active:n=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const u=l.detail??{};r(d=>({n:(d?.n??0)+1,count:Xo(u.count),strength:Xo(u.strength),duration:Xo(u.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return t.jsxs(t.Fragment,{children:[t.jsx(Zo,{active:n,trigger:e}),a&&t.jsx(Zo,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function J3({title:e,sub:n,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:u,backLabel:d,wrap:c=!1}){const{t:p}=be.useTranslation();Yg(typeof e=="string"?e:l??null);const m=d??p("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:c?"page-title page-title--wrap":"page-title",children:[t.jsxs("div",{className:"page-title__main",children:[t.jsxs("div",{className:"page-title__title-row",children:[u&&t.jsx(de,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:u}),t.jsx("h1",{className:"page-title__title h1",children:e}),s&&t.jsx("div",{className:"page-title__badge",children:t.jsx(yt,{label:s,size:"small",variant:i,fill:"outline"})}),r?t.jsx("div",{className:"page-title__title-action",children:r}):null]}),n&&t.jsx("p",{className:"page-title__sub body-2",children:n})]}),a?t.jsx("div",{className:"page-title__action",children:a}):null]})}function Q3(e){return e??""}const wc=o.createContext({words:[],loading:!1});function e7(){return o.useContext(wc)}function t7({words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:d,children:c}){return t.jsx(wc.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:d},children:c})}function n7({items:e,actions:n,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return t.jsx("section",{className:De("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:t.jsxs("div",{className:"summary-strip__row",children:[t.jsx("div",{className:"summary-strip__items",children:e.map((u,d)=>t.jsxs("div",{className:"summary-strip__item",children:[t.jsx("p",{className:"summary-strip__label caption-1",children:u.label}),t.jsx("p",{className:"summary-strip__value body-3b",title:typeof u.value=="string"||typeof u.value=="number"?String(u.value):void 0,children:u.value})]},d))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const a7=(e,n)=>`${e} / ${n}`;function r7({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:s=a7,pageWidth:i,pageHeight:l,margin:u,className:d,style:c}){const{t:p}=be.useTranslation(),m=o.useRef(null),C=o.useRef(null),g=o.useRef(null),v=o.useRef(null),[f,y]=o.useState(null),[w,h]=o.useState(!1);o.useEffect(()=>{const j=m.current;if(!j)return;const M=()=>h(j.scrollWidth>j.clientWidth+1);if(M(),typeof ResizeObserver>"u")return;const O=new ResizeObserver(M);return O.observe(j),()=>O.disconnect()},[f]);const _=e.map(j=>`${j.id}\0${j.section??""}\0${j.group??""}`).join(""),b=f&&f.shape===_?f.pages:null,[A,x]=o.useState(0);o.useEffect(()=>{const j=v.current;if(!j||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>x(j.offsetHeight));return M.observe(j),()=>M.disconnect()},[]);const[N,B]=o.useState(0);o.useEffect(()=>{const j=C.current;if(!j||typeof ResizeObserver>"u")return;let M=null;const O=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),Y=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),te=new ResizeObserver(()=>{M==null&&(M=O(()=>{M=null,B(V=>V+1)}))});return Array.from(j.children).forEach(V=>te.observe(V)),()=>{te.disconnect(),M!=null&&Y(M)}},[_]),o.useLayoutEffect(()=>{const j=C.current,M=v.current;if(!j||!M)return;const O=L=>L.getBoundingClientRect().height||L.offsetHeight,Y=new Map;g.current?.querySelectorAll("[data-chrome-section]").forEach(L=>{Y.set(L.dataset.chromeSection??"",O(L))});const te=L=>O(M)-(Y.get(L??"")??0),V=Array.from(j.children).map(L=>O(L)),U=[];e.forEach((L,I)=>{const $=U[U.length-1],K=$?e[$[0]]:void 0;K&&L.group!=null&&K.group===L.group&&K.section===L.section?$.push(I):U.push([I])});const P=[];let F=[],D=0;const H=()=>{F.length&&P.push(F),F=[],D=0};U.forEach(L=>{const I=L.reduce((K,ne)=>K+V[ne],0),$=te(e[L[0]].section);F.length&&e[F[0]].section!==e[L[0]].section&&H(),I>$?L.forEach(K=>{F.length&&D+V[K]>$+.01&&H(),F.push(K),D+=V[K]}):(F.length&&D+I>$+.01&&H(),L.forEach(K=>F.push(K)),D+=I)}),H(),y(L=>L&&L.shape===_&&JSON.stringify(L.pages)===JSON.stringify(P)?L:{shape:_,pages:P})},[_,A,i,l,u,N]);const k=oo,E=k,S=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),z=(j,M,O)=>({header:t.jsxs("div",{className:"report-doc__header",children:[t.jsx("h2",{className:"report-doc__title h3b",children:O!=null&&n?.[O]||null}),a]}),footer:t.jsxs("div",{className:"report-doc__footer caption-1",children:[t.jsx("span",{className:"report-doc__footer-left",children:S}),t.jsx("span",{className:"report-doc__page-no",children:s(j,M)})]})}),R=Array.from(new Set(e.map(j=>j.section??""))),q={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...c};return t.jsxs("div",{ref:m,className:De("report-doc",d),style:q,tabIndex:w?0:void 0,role:w?"group":void 0,"aria-label":w?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[t.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[t.jsx("div",{ref:v,className:"report-doc__ruler"}),t.jsx("div",{ref:g,children:R.map(j=>{const M=z(1,1,j||void 0);return t.jsxs("div",{"data-chrome-section":j,children:[M.header,M.footer]},j)})}),t.jsx("div",{ref:C,className:"report-doc__measure-blocks",children:e.map(j=>t.jsx("div",{children:j.content},j.id))})]}),b&&t.jsx("div",{className:"report-doc__pages",children:b.map((j,M)=>{const{header:O,footer:Y}=z(M+1,b.length,e[j[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[O,j.map(te=>t.jsx("div",{children:e[te].content},e[te].id)),Y]},M)})})]})}function o7({title:e,fields:n,columns:a=4,className:r,style:s}){return t.jsxs("div",{className:De("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&t.jsx("p",{className:"report-info__title h5b",children:e}),t.jsx("div",{className:"report-info__grid",children:n.map((i,l)=>t.jsxs("div",{className:"report-info__field body-2",children:[t.jsx("span",{className:"report-info__label body-3",children:i.label}),t.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const Kn=new Map;let mr=null;const s7=12;function i7(e){for(let n=e.parentElement;n&&n!==document.body;n=n.parentElement){const a=window.getComputedStyle(n);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return n}return document}function hr(){const e=new Map;for(const n of Kn.keys()){if(!n.isConnected)continue;const a=i7(n),r=e.get(a)??[];r.push(n),e.set(a,r)}for(const n of e.values()){n.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of n){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const s=r.getBoundingClientRect().height;s>0&&(a+=s+s7)}}}function l7(e){return typeof window>"u"?()=>{}:(Kn.set(e,(Kn.get(e)??0)+1),Kn.get(e)===1&&typeof ResizeObserver<"u"&&(mr??(mr=new ResizeObserver(()=>hr())),mr.observe(e)),hr(),()=>{const n=(Kn.get(e)??1)-1;if(n>0){Kn.set(e,n),hr();return}Kn.delete(e),mr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),hr()})}function u7({title:e,message:n,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=be.useTranslation(),d=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),c=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=c.current,C=m?.parentElement?.closest(".update-alert-stack")??m,g=C?l7(C):null;return()=>{g?.(),p.current&&m&&m.contains(document.activeElement)&&Ua(m)}},[]),t.jsxs("div",{ref:c,className:De("update-alert",l),role:"alert",children:[i&&t.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"}),t.jsxs("div",{className:"update-alert__top",children:[t.jsx("div",{className:"update-alert__icon",children:s??t.jsx(cs,{size:20,strokeWidth:2})}),t.jsxs("div",{className:"update-alert__body",children:[t.jsx("div",{className:"update-alert__title h4",children:e}),t.jsx("div",{className:"update-alert__message body-3",children:n})]})]}),r&&t.jsx(de,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}function c7({title:e,titleLevel:n=3,description:a,topActions:r,children:s,footerLeft:i,footerRight:l,onClick:u,draggable:d,onDragStart:c,onDragEnd:p,className:m}){const C=n?`h${n}`:"div",g=i!=null||l!=null,v=s!=null&&s!==!1,f=o.useCallback(y=>{u&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),u())},[u]);return t.jsxs("div",{className:De("training-card",u?"training-card--clickable":"",m),onClick:u,onKeyDown:u?f:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,draggable:d,onDragStart:c,onDragEnd:p,children:[t.jsxs("div",{className:"training-card__header",children:[t.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?t.jsx(C,{className:"training-card__title h4",children:e}):e,r!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:y=>y.stopPropagation(),children:r})]}),a!=null?typeof a=="string"?t.jsx("p",{className:"training-card__description body-3",children:a}):a:t.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),v&&t.jsx("div",{className:"training-card__body",children:s}),g&&t.jsxs("div",{className:"training-card__footer",children:[i!=null&&t.jsx("div",{className:"training-card__footer-left",children:i}),l!=null&&t.jsx("div",{className:"training-card__meta",children:l})]})]})}function d7({title:e,titleLevel:n=3,count:a,collapsed:r=!1,onToggle:s,sort:i,actions:l,empty:u=!1,emptyContent:d,dragOver:c=!1,onDragOver:p,onDragLeave:m,onDrop:C,children:g,className:v}){const{t:f}=be.useTranslation(),y=o.useId(),w=n?`h${n}`:"span",h=s!=null,_=De("training-card-group",c&&"training-card-group--dragover",r&&"training-card-group--collapsed",h&&"training-card-group--collapsible",v);return t.jsxs("div",{className:_,onDragOver:p,onDragLeave:m,onDrop:C,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?y:void 0,children:[t.jsxs("header",{className:"training-card-group__header",children:[h&&t.jsx(de,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:r?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?t.jsx(w,{id:y,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&t.jsx("span",{className:"training-card-group__count body-3b",children:a}),(i||l!=null)&&t.jsxs("span",{className:"training-card-group__actions",onClick:b=>b.stopPropagation(),children:[i&&t.jsx(sn,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange}),l]})]}),!r&&(u?t.jsx("div",{className:"training-card-group__empty body-3",children:d}):t.jsx("div",{className:"training-card-group__grid",children:g}))]})}const p7="speechear:saved_word_tables";function m7(e){if(typeof e!="object"||e===null)return!1;const n=e;return typeof n.id=="string"&&typeof n.name=="string"&&Array.isArray(n.items)}function h7(){try{const e=localStorage.getItem(p7);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(m7):[]}catch{return[]}}function Ac(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function Jo(e){return e.map(n=>n.homonum!=null?`${n.word}#${n.homonum}`:n.word).join("|")}function C7(e){const n=new Set;return e.map(a=>{let r=a.id;for(let s=2;n.has(r);s++)r=`${a.id}~${s}`;return n.add(r),r===a.id?a:{...a,id:r}})}function f7({title:e,titleIcon:n,disc:a,filterTitle:r,filterCollapsible:s,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:d,brand:c,code:p,items:m,onSaveComplete:C,onLoad:g,onRemoveItem:v,onReset:f,resetLabel:y,saveButtonLabel:w,secondarySaveButtonLabel:h,onReorder:_,showCellCount:b,onAddItem:A,className:x,renderSavePopup:N,renderWordSearch:B,hideControls:k,saveOnly:E,tableName:S,nameValue:z,onNameChange:R,descriptionValue:q,onDescriptionChange:j,namePlaceholder:M,descriptionPlaceholder:O,existingNames:Y,editingName:te,onCancel:V,initialItemsPerPage:U,renderCellAction:P,actionsLeftExtra:F}){const{t:D}=be.useTranslation(),H=y??D("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),L=m===void 0,I=!!R,[$,K]=o.useState([]),ne=(z??"").trim(),J=ne||(M??"").trim(),ae=(q??"").trim()||(O??"").trim(),ue=(Y??[]).map(Ne=>Ne.trim().toLowerCase()),ie=[te?.trim().toLowerCase(),...$].filter(Ne=>!!Ne),xe=[...ue];for(const Ne of ie){const Ve=xe.indexOf(Ne);Ve!==-1&&xe.splice(Ve,1)}const W=ne!==""&&xe.includes(ne.toLowerCase()),[Q,se]=o.useState(Array(4).fill(null)),[ke,me]=o.useState(4),[re,Ce]=o.useState(null),ge=Q.slice(0,ke),Ee=!!c?.show,[Re,Le]=o.useState(!0),[Je,Qe]=o.useState(!0),qe=c&&{...c,top:Re,bottom:Je},[Fe,st]=o.useState("landscape"),[et,Ye]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[Se,Ae]=o.useState("\uD45C\uC2DC"),[ee,fe]=o.useState(!0),[ze,Be]=o.useState(!0),je=o.useRef(null),pe=o.useRef([]),[$e,nt]=o.useState(U==="all"?Number.POSITIVE_INFINITY:U??8),[_t,kt]=o.useState("right"),[dt,Ze]=o.useState(!1),[We,Pe]=o.useState(!1),{toastMessage:Xe,toastType:Oe,showWarning:it,clearToast:Ge}=ll("warning"),ft=o.useCallback(()=>Ce(null),[Ce]);A&&!L&&!b&&pn("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[jt,Bt]=o.useState(()=>Math.max(m?.length??1,1)),mt=L?ke:b?Math.max(jt,m?.length??1,1):Math.max(m?.length??0,1),{width:lt,height:He}=ia[Fe],at=!L&&!b,ht=m?.length??0,Ot=Math.min($e,Math.max(ht,1)),tt=at?Ot:mt,Tt=at?hu(m??[],tt):null,Yt=!!Tt&&Tt.length>1,Mt=L?ge.some(Ne=>Ne!==null&&Ne.length>1):(m??[]).some(Ne=>(Ne.words??[]).length>1),ln=S?.trim()||`${ci(va())} ${Mt?D("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):D("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,un=o.useCallback(()=>Yt?pe.current.filter(Ne=>Ne!==null):je.current?[je.current]:[],[Yt]),{print:cn,openNewWindow:Rn,downloadHtml:dn}=Eo({getElements:un,paperW:lt,paperH:He,fileName:ln,onPopupBlocked:()=>{it(D("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Pn=Ne=>{me(Ne),se(Ve=>Ve.length>=Ne?Ve:[...Ve,...Array(Ne-Ve.length).fill(null)]),Ce(null)},Nn=Ne=>{se(Ve=>{const xt=[...Ve];return xt[Ne]=null,xt}),re===Ne&&Ce(null)},Nt=Ne=>{if(re===null)return;const Ve=re;se(zt=>{const Vt=[...zt];return Vt[Ve]=Ne.length>0?Ne:null,Vt});const xt=ge.findIndex((zt,Vt)=>Vt>Ve&&zt===null);Ce(xt!==-1?xt:null)},Cn=L?ge.some(Ne=>Ne?.some(Ve=>!!Ve.colloquialPronunciation)):(m??[]).some(Ne=>(Ne.words??[]).some(Ve=>!!Ve.colloquialLabel)),Ht=o.useMemo(()=>Xn()?L?Q.slice(0,ke).flatMap(Ne=>(Ne??[]).map(Ve=>[Ve.word,Ve.homonum])):(m??[]).flatMap(Ne=>(Ne.words??[]).map(Ve=>[Ve.label,Ve.homonum])):[],[L,Q,ke,m]),[Zt,fn]=o.useState(!1);o.useEffect(()=>{if(Ht.length===0)return;let Ne=!1;return Promise.all(Ht.map(([Ve,xt])=>Qs(Ve,xt))).then(Ve=>{Ne||fn(Ve.some(Boolean))},()=>{}),()=>{Ne=!0}},[Ht]);const en=Ht.length>0&&Zt,gn=o.useMemo(()=>[...L||b?[{label:D("wordTable.filter.columns","\uCE78 \uC218"),items:Xy.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:D("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...at&&(m?.length??0)>0?[ju(D,{hasPairs:Mt,itemCount:ht})]:[],...Yt?[Jy(D)]:[]],[D,L,b,at,m?.length,Mt,ht,Yt]),In={...L||b?{[D("wordTable.filter.columns","\uCE78 \uC218")]:`${mt}\uCE78`}:{},...at&&(m?.length??0)>0?{[D(Mt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Ot}\uAC1C`}:{},...Yt?{[D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Mu[_t]}:{}},bn=(Ne,Ve)=>{Ve===D("wordTable.filter.columns","\uCE78 \uC218")?L?Pn(parseInt(Ne)):Bt(parseInt(Ne)):Ve===D(Mt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?nt(Tu(parseInt(Ne),ht)):Ve===D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&kt(Lu(Ne))},oe=L?C7(ge.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Jo(Ne),words:Ne.map(Ac)}))):m??[],ye=()=>{L&&se(Ne=>Ne.length>ke?Ne.slice(0,ke):Ne)},G=(Ne=!1)=>{if(Pe(Ne),I&&C){const Ve=J.trim().toLowerCase();Ve&&K(xt=>xt.includes(Ve)?xt:[...xt,Ve]),C(J,oe,ae||void 0,Ne),ye();return}if(E&&C){C("",oe,void 0,Ne),ye();return}if(C){Ze(!0);return}dn()},[le,ce]=o.useState(!1),[ve,_e]=o.useState(""),Te=ve.trim(),rt=Te!==""&&ue.includes(Te.toLowerCase()),gt=()=>{_e(J?D("wordTable.save.copyName",{name:J,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),ce(!0)},ut=()=>{!Te||rt||!C||(C(Te,oe,ae||void 0,!0),ye(),ce(!1))},vt=oe.length===0,Rt=vt||I&&(J===""||W),Lt=()=>{if(vt){it(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(I&&J===""){it(D("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}I&&W&&it(D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},nn=t.jsx(la,{items:oe,orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:mt});return t.jsxs(t.Fragment,{children:[t.jsxs(sa,{type:"page",icon:n,title:e,disc:a,className:De("word-table-block",x),children:[le&&t.jsx(Tn,{size:"small",title:h??D("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ce(!1),footer:({closeWithAnimation:Ne})=>t.jsxs(t.Fragment,{children:[t.jsx(de,{htmlType:"button",size:48,type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:Ne}),t.jsx(de,{htmlType:"button",size:48,type:"bar",variant:"main",label:D("common.save","\uC800\uC7A5"),disabled:!Te||rt,onClick:ut})]}),children:t.jsx(Un,{label:D("wordTable.save.nameLabel","\uC774\uB984"),value:ve,onChange:_e,placeholder:D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:ut,error:rt?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),dt&&C&&N?.({defaultName:typeof e=="string"?e:D("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:nn,previewW:lt,previewH:He,items:oe,existingNames:h7().map(Ne=>Ne.name),saveAsNew:We,onSave:(Ne,Ve)=>{C(Ne,oe,Ve,We),ye(),Ze(!1)},onCancel:()=>Ze(!1)}),(L||A)&&re!==null&&B?.({cellIndex:re,onConfirm:L?Nt:Ne=>{if(A){const Ve=Ne[0];if(Ve){const xt=new Set((m??[]).map(Vt=>Vt.id));let zt=Jo([Ve]);for(let Vt=2;xt.has(zt);Vt++)zt=`${Jo([Ve])}~${Vt}`;A({id:zt,words:[Ac(Ve)]})}}Ce(null)},onClose:ft}),!k&&t.jsx(Bo,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:d,hasImage:en,hasColloquial:Cn,contentTypes:et,orientation:Fe,showOutline:ee,cutLine:Se,showDivLine:ze,setters:{setContentTypes:Ye,setOrientation:st,setShowOutline:fe,setCutLine:Ae,setShowDivLine:Be,setShowTopInfo:Le,setShowBottomInfo:Qe},showCutLine:(at?tt:mt)>1,showDivLine2:Mt,middleSections:gn,extraSelected:In,onExtraSelect:bn,showPaperBands:Ee,showTopInfo:Re,showBottomInfo:Je}),Yt&&Tt?t.jsx("div",{className:"word-table-block__pages",children:Tt.map((Ne,Ve)=>t.jsx(la,{orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:tt,items:Ne,onRemoveItem:v,onReorder:_&&((xt,zt)=>_(xt+Ve*tt,zt+Ve*tt)),renderCellAction:P&&((xt,zt)=>P(xt+Ve*tt,zt)),brand:qe,code:p,contentRef:xt=>{pe.current[Ve]=xt},pageNumber:{current:Ve+1,total:Tt.length},pageNumberPosition:_t},Ve))}):t.jsx(la,{orientation:Fe,contentTypes:et,cutLine:Se,showOutline:ee,showDivLine:ze,count:mt,items:L?void 0:m??[],editCells:L?ge:void 0,activeCell:re,onActivateCell:L||A?Ce:void 0,onRemoveCell:L?Nn:void 0,onRemoveItem:L?void 0:v,onReorder:L?void 0:_,renderCellAction:L?void 0:P,brand:qe,code:p,showFillerAdd:!!A,contentRef:je}),I&&!k&&t.jsxs(cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(Mn,{variant:"custom",label:D("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(Un,{required:!0,value:z??"",onChange:R,placeholder:M?M+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:W?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(z??"").trim()&&(M??"").trim()&&(Ne.preventDefault(),R?.(M??""))}})}),t.jsx(Mn,{variant:"custom",label:D("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(Un,{value:q??"",onChange:j,placeholder:O?O+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(q??"").trim()&&(O??"").trim()&&(Ne.preventDefault(),j?.(O??""))}})})]})]}),!k&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&f&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:H,onClick:f}),!E&&F,!E&&g&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:D("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:g}),!E&&t.jsx(de,{htmlType:"button",size:40,type:"bar",label:D("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Rn})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[V&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:V}),!E&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:D("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:cn}),h&&t.jsx(de,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>I?gt():G(!0),disabled:vt,onDisabledClick:()=>{it(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(de,{htmlType:"button",size:"56",type:"bar",variant:"main",label:w??D("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>G(!1),disabled:Rt,onDisabledClick:Lt})]})]}),t.jsx(ra,{message:Xe,type:Oe,onClose:Ge})]})}function kc({items:e,className:n}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return t.jsx("div",{className:De("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,u)=>{const d=e[u];return d?t.jsx("div",{className:"word-table-thumb__cell",children:(d.words?.length?d.words:[{label:d.id}]).map((c,p)=>t.jsxs(o.Fragment,{children:[p>0&&t.jsx("span",{className:"word-table-thumb__divider"}),t.jsx("span",{className:"word-table-thumb__word body-3",children:c.label})]},p))},u):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function g7({items:e,name:n,description:a,createdAt:r,code:s,published:i,publishedLabel:l,shared:u,sharedLabel:d,isNew:c,publisherName:p,publishedAt:m,likeCount:C,downloadCount:g,onPublisherClick:v,selected:f,onClick:y,onMore:w,titleNode:h,className:_}){const{t:b}=be.useTranslation(),A=h!=null,x=p!=null||m!=null||C!=null||g!=null,N=B=>{B.target===B.currentTarget&&!A&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),y?.())};return t.jsxs("div",{className:De("word-table-button",f?"word-table-button--selected":"",x?"":"word-table-button--no-footer",_),role:"button",tabIndex:0,"aria-label":s?`${n} (${s})`:n,onClick:A?void 0:y,onKeyDown:N,children:[c&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":b("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(kc,{items:e,className:"word-table-button__thumb"}),t.jsxs("div",{className:"word-table-button__info",children:[t.jsxs("div",{className:"word-table-button__info-text",children:[h??t.jsx("div",{className:"word-table-button__title h4",children:n}),a&&t.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),w&&!A&&t.jsx(de,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:b("common.moreFor",{name:n}),onClick:B=>{B.stopPropagation(),w(B)}})]}),(s||r||i||u)&&t.jsxs("div",{className:"word-table-button__meta-row",children:[t.jsx("span",{className:"word-table-button__meta-left",children:t.jsx("span",{className:"word-table-button__meta caption-1",children:r?ui(r,b):""})}),t.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&t.jsxs("span",{className:"word-table-button__badges",children:[i&&t.jsx(yt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??b("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&t.jsx(yt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:d??b("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),s&&t.jsx("span",{className:"word-table-button__code caption-1",children:s})]})]}),x&&t.jsxs("div",{className:"word-table-button__footer",children:[t.jsxs("span",{className:"word-table-button__store-by",children:[p&&t.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:B=>{B.stopPropagation(),v?.()},children:p}),m&&t.jsx("span",{className:"training-card__date body-4",children:ui(m,b)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[C!=null&&t.jsx(yt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(C),"aria-label":b("common.likeCount",{count:C,defaultValue:`\uC88B\uC544\uC694 ${C}`})}),g!=null&&t.jsx(yt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(g),"aria-label":b("common.downloadCount",{count:g,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${g}`})})]})]})]})}/**
|
|
1049
1049
|
* @license lucide-react v1.38.0 - ISC
|
|
1050
1050
|
*
|
|
1051
1051
|
* This source code is licensed under the ISC license.
|