@ihabdevteam/core 0.267.0 → 0.269.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.
@@ -28,7 +28,7 @@
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
31
- */const Mc=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},Lc=o.createContext({}),$c=()=>o.useContext(Lc),Rc=o.forwardRef(({color:e,size:n,strokeWidth:a,absoluteStrokeWidth:r,className:s="",children:i,iconNode:l,...u},c)=>{const{size:d=24,strokeWidth:p=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:b=""}=$c()??{},v=r??m?Number(a??p)*24/Number(n??d):a??p;return o.createElement("svg",{ref:c,...wr,width:n??d??wr.width,height:n??d??wr.height,stroke:e??h,strokeWidth:v,className:ss("lucide",b,s),...!i&&!Mc(u)&&{"aria-hidden":"true"},...u},[...l.map(([g,y])=>o.createElement(g,y)),...Array.isArray(i)?i:[i]])});/**
31
+ */const Mc=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},Lc=o.createContext({}),$c=()=>o.useContext(Lc),Rc=o.forwardRef(({color:e,size:n,strokeWidth:a,absoluteStrokeWidth:r,className:s="",children:i,iconNode:l,...u},c)=>{const{size:d=24,strokeWidth:m=2,absoluteStrokeWidth:p=!1,color:h="currentColor",className:b=""}=$c()??{},v=r??p?Number(a??m)*24/Number(n??d):a??m;return o.createElement("svg",{ref:c,...wr,width:n??d??wr.width,height:n??d??wr.height,stroke:e??h,strokeWidth:v,className:ss("lucide",b,s),...!i&&!Mc(u)&&{"aria-hidden":"true"},...u},[...l.map(([f,y])=>o.createElement(f,y)),...Array.isArray(i)?i:[i]])});/**
32
32
  * @license lucide-react v1.38.0 - ISC
33
33
  *
34
34
  * This source code is licensed under the ISC license.
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * This source code is licensed under the ISC license.
45
45
  * See the LICENSE file in the root directory of this source tree.
46
- */const Fc=[["rect",{width:"9",height:"6",x:"6",y:"14",rx:"2",key:"lpm2y7"}],["rect",{width:"16",height:"6",x:"6",y:"4",rx:"2",key:"rdj6ps"}],["path",{d:"M2 2v20",key:"1ivd8o"}]],Ic=J("align-start-vertical",Fc);/**
46
+ */const Ic=[["rect",{width:"9",height:"6",x:"6",y:"14",rx:"2",key:"lpm2y7"}],["rect",{width:"16",height:"6",x:"6",y:"4",rx:"2",key:"rdj6ps"}],["path",{d:"M2 2v20",key:"1ivd8o"}]],Fc=J("align-start-vertical",Ic);/**
47
47
  * @license lucide-react v1.38.0 - ISC
48
48
  *
49
49
  * This source code is licensed under the ISC license.
@@ -188,7 +188,7 @@
188
188
  *
189
189
  * This source code is licensed under the ISC license.
190
190
  * See the LICENSE file in the root directory of this source tree.
191
- */const Fd=[["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M5 21h14",key:"11awu3"}]],Id=J("diff",Fd);/**
191
+ */const Id=[["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M5 21h14",key:"11awu3"}]],Fd=J("diff",Id);/**
192
192
  * @license lucide-react v1.38.0 - ISC
193
193
  *
194
194
  * This source code is licensed under the ISC license.
@@ -328,12 +328,12 @@
328
328
  *
329
329
  * This source code is licensed under the ISC license.
330
330
  * See the LICENSE file in the root directory of this source tree.
331
- */const Pp=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Fp=J("lightbulb",Pp);/**
331
+ */const Pp=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Ip=J("lightbulb",Pp);/**
332
332
  * @license lucide-react v1.38.0 - ISC
333
333
  *
334
334
  * This source code is licensed under the ISC license.
335
335
  * See the LICENSE file in the root directory of this source tree.
336
- */const Ip=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Op=J("link",Ip);/**
336
+ */const Fp=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Op=J("link",Fp);/**
337
337
  * @license lucide-react v1.38.0 - ISC
338
338
  *
339
339
  * This source code is licensed under the ISC license.
@@ -463,12 +463,12 @@
463
463
  *
464
464
  * This source code is licensed under the ISC license.
465
465
  * See the LICENSE file in the root directory of this source tree.
466
- */const P1=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],F1=J("refresh-cw",P1);/**
466
+ */const P1=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],I1=J("refresh-cw",P1);/**
467
467
  * @license lucide-react v1.38.0 - ISC
468
468
  *
469
469
  * This source code is licensed under the ISC license.
470
470
  * See the LICENSE file in the root directory of this source tree.
471
- */const I1=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],O1=J("repeat",I1);/**
471
+ */const F1=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],O1=J("repeat",F1);/**
472
472
  * @license lucide-react v1.38.0 - ISC
473
473
  *
474
474
  * This source code is licensed under the ISC license.
@@ -603,12 +603,12 @@
603
603
  *
604
604
  * This source code is licensed under the ISC license.
605
605
  * See the LICENSE file in the root directory of this source tree.
606
- */const Pm=[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]],Fm=J("text-cursor-input",Pm);/**
606
+ */const Pm=[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]],Im=J("text-cursor-input",Pm);/**
607
607
  * @license lucide-react v1.38.0 - ISC
608
608
  *
609
609
  * This source code is licensed under the ISC license.
610
610
  * See the LICENSE file in the root directory of this source tree.
611
- */const Im=[["path",{d:"M15 5h6",key:"1pr8yx"}],["path",{d:"M15 12h6",key:"upa0zy"}],["path",{d:"M3 19h18",key:"awlh7x"}],["path",{d:"m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12",key:"6lvno8"}],["path",{d:"M3.92 10h6.16",key:"1tl8ex"}]],Om=J("text-initial",Im);/**
611
+ */const Fm=[["path",{d:"M15 5h6",key:"1pr8yx"}],["path",{d:"M15 12h6",key:"upa0zy"}],["path",{d:"M3 19h18",key:"awlh7x"}],["path",{d:"m3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12",key:"6lvno8"}],["path",{d:"M3.92 10h6.16",key:"1tl8ex"}]],Om=J("text-initial",Fm);/**
612
612
  * @license lucide-react v1.38.0 - ISC
613
613
  *
614
614
  * This source code is licensed under the ISC license.
@@ -748,12 +748,12 @@
748
748
  *
749
749
  * This source code is licensed under the ISC license.
750
750
  * See the LICENSE file in the root directory of this source tree.
751
- */const Ph=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],Fh=J("percent",Ph);/**
751
+ */const Ph=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],Ih=J("percent",Ph);/**
752
752
  * @license lucide-react v1.38.0 - ISC
753
753
  *
754
754
  * This source code is licensed under the ISC license.
755
755
  * See the LICENSE file in the root directory of this source tree.
756
- */const Ih=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],Oh=J("inbox",Ih);/**
756
+ */const Fh=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],Oh=J("inbox",Fh);/**
757
757
  * @license lucide-react v1.38.0 - ISC
758
758
  *
759
759
  * This source code is licensed under the ISC license.
@@ -823,9 +823,9 @@
823
823
  *
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
- */const d0=[["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"}]],p0=J("thumbs-up",d0),ws={"alert-triangle":ls,"align-start-vertical":Ic,anchor:yh,armchair:xh,"arrow-down":Hc,"arrow-left":Vc,"arrow-right":qc,"arrow-right-left":Gc,"arrow-up-a-z":wh,"audio-lines":Yc,baby:Xc,ban:Qc,"bar-chart-2":Ah,bell:td,"book-marked":ad,"book-open":od,"bow-arrow":id,braces:ud,bug:dd,calendar:vs,"calendar-check":md,"calendar-days":Cd,camera:gd,car:Dh,"chart-column":yd,"chart-line":xd,"chart-pie":wd,check:us,"chevron-down":xs,"chevron-left":cs,"chevron-right":ds,"chevron-up":_s,circle:r0,"clipboard-list":Dd,coffee:Sh,combine:Sd,copy:Td,"chevrons-left-right-ellipsis":Ld,"credit-card":Rd,database:ps,diff:Id,download:ms,ear:zd,edit:Wd,"edit-2":Ud,"edit-3":Kd,ellipsis:hs,eraser:Xd,"external-link":Qd,eye:tp,"file-text":ap,"flip-horizontal":op,"folder-open":ip,"folder-plus":up,gamepad:dp,"gamepad-2":Th,clock:Lh,target:Rh,percent:Fh,gavel:mp,"git-merge":Cs,globe:fp,"grip-vertical":bp,headphones:vp,heart:_p,home:Bp,inbox:Oh,info:kp,"key-round":Dp,landmark:Sp,layers:Tp,"layout-dashboard":Lp,leaf:Rp,lightbulb:Fp,link:Op,"link-2":zp,"link-2-off":Wp,list:Up,"list-checks":Kp,"list-ordered":Zp,"list-tree":zh,loader:Jp,lock:e1,"log-out":n1,mail:r1,"map-pin":s1,menu:l0,"message-circle":l1,"message-circle-question-mark":c1,"message-square":p1,"message-square-more":Wh,"message-square-text":h1,minus:Uh,"minus-circle":f1,moon:c0,"more-horizontal":hs,package:b1,palette:v1,"party-popper":_1,pause:B1,pencil:k1,phone:D1,play:S1,"play-circle":T1,plus:L1,printer:R1,"refresh-cw":F1,repeat:O1,replace:z1,rocket:W1,"rotate-ccw":U1,"rotate-cw":K1,salad:Z1,"scan-search":J1,search:nm,"circle-alert":fs,"alert-circle":fs,"check-circle":gs,scissors:rm,"search-x":sm,send:lm,settings:cm,"share-2":Kh,"shield-check":pm,"shopping-cart":hm,shuffle:fm,"skip-back":bm,"skip-forward":vm,sparkles:Zh,square:_m,star:Bm,store:km,"sun-medium":Dm,table:Sm,"table-2":Tm,tag:Lm,terminal:Rm,"text-cursor-input":Fm,"text-initial":Om,"thumbs-up":p0,ticket:zm,trash:Um,triangle:s0,"trash-2":Wm,"trending-up":Km,"triangle-alert":ls,trophy:Zm,type:Jh,unlink:Jm,upload:eh,user:Br,"user-plus":ah,"user-round":oh,"user-round-check":ih,users:uh,"users-round":dh,volume:e0,"volume-2":bs,wrench:hh,x:ys,zap:gh};function m0(e){return ws[e]??null}const Bs=new Set;function h0(e){return Oa&&!(e in ws)&&!Bs.has(e)&&(Bs.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 C0=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 f0(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?C0(a):null}const As=new Map;function g0(e){const n=typeof e=="string"?f0(e):null,a=n?m0(n)??As.get(n)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!n||a)return;let i=!1;return h0(n).then(l=>{As.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 ks(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 b0(e){if(Array.isArray(e))return e}function y0(e,n){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,u=[],c=!0,d=!1;try{if(i=(a=a.call(e)).next,n!==0)for(;!(c=(r=i.call(a)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(p){d=!0,s=p}finally{try{if(!c&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw s}}return u}}function v0(){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 x0(e,n){return b0(e)||y0(e,n)||_0(e,n)||v0()}function _0(e,n){if(e){if(typeof e=="string")return ks(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)?ks(e,n):void 0}}const Ns=Object.entries,Ds=Object.setPrototypeOf,w0=Object.isFrozen,B0=Object.getPrototypeOf,A0=Object.getOwnPropertyDescriptor;let jt=Object.freeze,Tt=Object.seal,Zn=Object.create,Es=typeof Reflect<"u"&&Reflect,Ar=Es.apply,kr=Es.construct;jt||(jt=function(n){return n}),Tt||(Tt=function(n){return n}),Ar||(Ar=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)}),kr||(kr=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 On=Dt(Array.prototype.forEach),k0=Dt(Array.prototype.lastIndexOf),Ss=Dt(Array.prototype.pop),ma=Dt(Array.prototype.push),N0=Dt(Array.prototype.splice),Xn=Array.isArray,ha=Dt(String.prototype.toLowerCase),Nr=Dt(String.prototype.toString),js=Dt(String.prototype.match),Ca=Dt(String.prototype.replace),Ts=Dt(String.prototype.indexOf),D0=Dt(String.prototype.trim),E0=Dt(Number.prototype.toString),S0=Dt(Boolean.prototype.toString),Ms=typeof BigInt>"u"?null:Dt(BigInt.prototype.toString),Ls=typeof Symbol>"u"?null:Dt(Symbol.prototype.toString),Yt=Dt(Object.prototype.hasOwnProperty),fa=Dt(Object.prototype.toString),It=Dt(RegExp.prototype.test),Hn=j0(TypeError);function Dt(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 Ar(e,n,r)}}function j0(e){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return kr(e,a)}}function ut(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ha;if(Ds&&Ds(e,null),!Xn(n))return e;let r=n.length;for(;r--;){let s=n[r];if(typeof s=="string"){const i=a(s);i!==s&&(w0(n)||(n[r]=i),s=i)}e[s]=!0}return e}function T0(e){for(let n=0;n<e.length;n++)Yt(e,n)||(e[n]=null);return e}function en(e){const n=Zn(null);for(const r of Ns(e)){var a=x0(r,2);const s=a[0],i=a[1];Yt(e,s)&&(Xn(i)?n[s]=T0(i):i&&typeof i=="object"&&i.constructor===Object?n[s]=en(i):n[s]=i)}return n}function M0(e){switch(typeof e){case"string":return e;case"number":return E0(e);case"boolean":return S0(e);case"bigint":return Ms?Ms(e):"0";case"symbol":return Ls?Ls(e):"Symbol()";case"undefined":return fa(e);case"function":case"object":{if(e===null)return fa(e);const n=e,a=sn(n,"toString");if(typeof a=="function"){const r=a(n);return typeof r=="string"?r:fa(r)}return fa(e)}default:return fa(e)}}function sn(e,n){for(;e!==null;){const r=A0(e,n);if(r){if(r.get)return Dt(r.get);if(typeof r.value=="function")return Dt(r.value)}e=B0(e)}function a(){return null}return a}function L0(e){try{return It(e,""),!0}catch{return!1}}const $s=jt(["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"]),Dr=jt(["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"]),Er=jt(["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"]),$0=jt(["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"]),Sr=jt(["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"]),R0=jt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Rs=jt(["#text"]),Ps=jt(["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"]),jr=jt(["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"]),Fs=jt(["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"]),Ha=jt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),P0=Tt(/{{[\w\W]*|^[\w\W]*}}/g),F0=Tt(/<%[\w\W]*|^[\w\W]*%>/g),I0=Tt(/\${[\w\W]*/g),O0=Tt(/^data-[\-\w.\u00B7-\uFFFF]+$/),H0=Tt(/^aria-[\-\w]+$/),Is=Tt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z0=Tt(/^(?:\w+script|data):/i),V0=Tt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),W0=Tt(/^html$/i),q0=Tt(/^[a-z][.\w]*(-[.\w]+)+$/i),Os=Tt(/<[/\w!]/g),Hs=Tt(/<[/\w]/g),U0=Tt(/<\/no(script|embed|frames)/i),G0=Tt(/\/>/i),tn={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},zs=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],K0=jt(ut({},zs)),Y0=(function(){const e={};return On(zs,n=>{e[n]=Tt(new RegExp("</"+n+"(?=[\\t\\n\\f\\r />])","i"))}),jt(e)})(),Z0=function(){return typeof window>"u"?null:window},X0=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}},Vs=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},En=function(n,a,r,s){return Yt(n,a)&&Xn(n[a])?ut(s.base?en(s.base):{},n[a],s.transform):r},Tr=function(n,a,r){const s=Yt(n,a)?n[a]:void 0;return s&&typeof s=="object"?en(s):r()};function Ws(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Z0();const n=be=>Ws(be);if(n.version="3.4.14",n.removed=[],!e||!e.document||e.document.nodeType!==tn.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,c=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,h=u.prototype,b=sn(h,"cloneNode"),v=sn(h,"remove"),g=sn(h,"nextSibling"),y=sn(h,"childNodes"),_=sn(h,"parentNode"),C=sn(h,"shadowRoot"),w=sn(h,"attributes"),f=l&&l.prototype?sn(l.prototype,"nodeType"):null,B=l&&l.prototype?sn(l.prototype,"nodeName"):null,x=l&&l.prototype?sn(l.prototype,"ownerDocument"):null,D=function(T){return f?f(T):T.nodeType},k=function(T){return B?B(T):T.nodeName};if(typeof i=="function"){const be=a.createElement("template");be.content&&be.content.ownerDocument&&(a=be.content.ownerDocument)}let A,E="",j,z=!1,P=0;const W=function(){if(P>0)throw Hn('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.')},S=function(T){W(),P++;try{return A.createHTML(T)}finally{P--}},M=function(T){W(),P++;try{return A.createScriptURL(T)}finally{P--}},O=function(){return z||(j=X0(m,s),z=!0),j},Q=a,te=Q.implementation,V=Q.createNodeIterator,U=Q.createDocumentFragment,R=Q.getElementsByTagName,F=r.importNode;let N=Vs();n.isSupported=typeof Ns=="function"&&typeof _=="function"&&te&&te.createHTMLDocument!==void 0;const I=P0,L=F0,$=I0,H=O0,X=H0,K=z0,Y=V0,ae=q0;let le=Is,se=null;const ke=ut({},[...$s,...Dr,...Er,...Sr,...Rs]);let q=null;const ne=ut({},[...Ps,...jr,...Fs,...Ha]);let fe=Object.seal(Zn(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}})),xe=null,he=null;const ie=Object.seal(Zn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ce=!0,ue=!0,ge=!1,Ee=!0,Ne=!1,Ke=!0,ze=!1,qe=!1,He=null,ct=null,ot=!1,st=!1,ht=!1,Ae=!1,Fe=!0,we=!1;const at="user-content-";let Z=!0,re=!1,pe={},Se=null;const it=ut({},["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 Ye=null;const xt=ut({},["audio","video","img","source","image","track"]);let bt=null;const dt=ut({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),rt="http://www.w3.org/1998/Math/MathML",et="http://www.w3.org/2000/svg",tt="http://www.w3.org/1999/xhtml";let $e=tt,Ge=!1,Pe=null;const Ct=ut({},[rt,et,tt],Nr),Mt=jt(["mi","mo","mn","ms","mtext"]);let Et=ut({},Mt);const lt=jt(["annotation-xml"]);let gt=ut({},lt);const Ie=ut({},["title","style","font","a","script"]);let pt=null;const St=["application/xhtml+xml","text/html"],Pt="text/html";let Xe=null,Nt=null;const Ft=a.createElement("form"),kt=function(T){return T instanceof RegExp||T instanceof Function},dn=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Nt&&Nt===T)return;(!T||typeof T!="object")&&(T={}),T=en(T),pt=St.indexOf(T.PARSER_MEDIA_TYPE)===-1?Pt:T.PARSER_MEDIA_TYPE,Xe=pt==="application/xhtml+xml"?Nr:ha,se=En(T,"ALLOWED_TAGS",ke,{transform:Xe}),q=En(T,"ALLOWED_ATTR",ne,{transform:Xe}),Pe=En(T,"ALLOWED_NAMESPACES",Ct,{transform:Nr}),bt=En(T,"ADD_URI_SAFE_ATTR",dt,{transform:Xe,base:dt}),Ye=En(T,"ADD_DATA_URI_TAGS",xt,{transform:Xe,base:xt}),Se=En(T,"FORBID_CONTENTS",it,{transform:Xe}),xe=En(T,"FORBID_TAGS",en({}),{transform:Xe}),he=En(T,"FORBID_ATTR",en({}),{transform:Xe}),pe=Yt(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?en(T.USE_PROFILES):T.USE_PROFILES:!1,ce=T.ALLOW_ARIA_ATTR!==!1,ue=T.ALLOW_DATA_ATTR!==!1,ge=T.ALLOW_UNKNOWN_PROTOCOLS||!1,Ee=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=T.SAFE_FOR_TEMPLATES||!1,Ke=T.SAFE_FOR_XML!==!1,ze=T.WHOLE_DOCUMENT||!1,st=T.RETURN_DOM||!1,ht=T.RETURN_DOM_FRAGMENT||!1,Ae=T.RETURN_TRUSTED_TYPE||!1,ot=T.FORCE_BODY||!1,Fe=T.SANITIZE_DOM!==!1,we=T.SANITIZE_NAMED_PROPS||!1,Z=T.KEEP_CONTENT!==!1,re=T.IN_PLACE||!1,le=L0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Is,$e=typeof T.NAMESPACE=="string"?T.NAMESPACE:tt,Et=Tr(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>ut({},Mt)),gt=Tr(T,"HTML_INTEGRATION_POINTS",()=>ut({},lt));const G=Tr(T,"CUSTOM_ELEMENT_HANDLING",()=>Zn(null));if(fe=Zn(null),Yt(G,"tagNameCheck")&&kt(G.tagNameCheck)&&(fe.tagNameCheck=G.tagNameCheck),Yt(G,"attributeNameCheck")&&kt(G.attributeNameCheck)&&(fe.attributeNameCheck=G.attributeNameCheck),Yt(G,"allowCustomizedBuiltInElements")&&typeof G.allowCustomizedBuiltInElements=="boolean"&&(fe.allowCustomizedBuiltInElements=G.allowCustomizedBuiltInElements),Tt(fe),Ne&&(ue=!1),ht&&(st=!0),pe&&(se=ut({},Rs),q=Zn(null),pe.html===!0&&(ut(se,$s),ut(q,Ps)),pe.svg===!0&&(ut(se,Dr),ut(q,jr),ut(q,Ha)),pe.svgFilters===!0&&(ut(se,Er),ut(q,jr),ut(q,Ha)),pe.mathMl===!0&&(ut(se,Sr),ut(q,Fs),ut(q,Ha))),ie.tagCheck=null,ie.attributeCheck=null,Yt(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?ie.tagCheck=T.ADD_TAGS:Xn(T.ADD_TAGS)&&(se===ke&&(se=en(se)),ut(se,T.ADD_TAGS,Xe))),Yt(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?ie.attributeCheck=T.ADD_ATTR:Xn(T.ADD_ATTR)&&(q===ne&&(q=en(q)),ut(q,T.ADD_ATTR,Xe))),Yt(T,"ADD_FORBID_CONTENTS")&&Xn(T.ADD_FORBID_CONTENTS)&&(Se===it&&(Se=en(Se)),ut(Se,T.ADD_FORBID_CONTENTS,Xe)),Z&&(se["#text"]=!0),ze&&ut(se,["html","head","body"]),se.table&&(ut(se,["tbody"]),delete xe.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw Hn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Hn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const Ce=A;A=T.TRUSTED_TYPES_POLICY;try{E=S("")}catch(je){throw A=Ce,je}}else T.TRUSTED_TYPES_POLICY===null?(A=void 0,E=""):(A===void 0&&(A=O()),A&&typeof E=="string"&&(E=S("")));jt&&jt(T),Nt=T},pn=ut({},[...Dr,...Er,...$0]),fn=ut({},[...Sr,...R0]),Pn=function(T,G,Ce){return G.namespaceURI===tt?T==="svg":G.namespaceURI===rt?T==="svg"&&(Ce==="annotation-xml"||Et[Ce]):!!pn[T]},gn=function(T,G,Ce){return G.namespaceURI===tt?T==="math":G.namespaceURI===et?T==="math"&&gt[Ce]:!!fn[T]},Fn=function(T,G,Ce){return G.namespaceURI===et&&!gt[Ce]||G.namespaceURI===rt&&!Et[Ce]?!1:!fn[T]&&(Ie[T]||!pn[T])},mn=function(T){let G=_(T);(!G||!G.tagName)&&(G={namespaceURI:$e,tagName:"template"});const Ce=ha(T.tagName),je=ha(G.tagName);return Pe[T.namespaceURI]?T.namespaceURI===et?Pn(Ce,G,je):T.namespaceURI===rt?gn(Ce,G,je):T.namespaceURI===tt?Fn(Ce,G,je):!!(pt==="application/xhtml+xml"&&Pe[T.namespaceURI]):!1},Lt=function(T){ma(n.removed,{element:T});try{_(T).removeChild(T)}catch{if(v(T),!_(T))throw Hn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},bn=function(T,G,Ce){try{T.removeAttributeNode(G)}catch{try{T.removeAttribute(Ce)}catch{}}},Ot=function(T){on(T);const G=y(T);if(G){const je=[];On(G,Re=>{ma(je,Re)}),On(je,Re=>{try{v(Re)}catch{}})}const Ce=w(T);if(Ce)for(let je=Ce.length-1;je>=0;--je){const Re=Ce[je],Ze=Re&&Re.name;typeof Ze=="string"&&bn(T,Re,Ze)}},qt=function(T,G,Ce){if(!Ce)try{Ce=G.getAttributeNode(T)}catch{Ce=null}ma(n.removed,{attribute:Ce||null,from:G});try{Ce?G.removeAttributeNode(Ce):G.removeAttribute(T)}catch{try{G.removeAttribute(T)}catch{}}if(T==="is")if(st||ht)try{Lt(G)}catch{}else try{G.setAttribute(T,"")}catch{}},In=function(T){const G=w(T);if(G)for(let Ce=G.length-1;Ce>=0;--Ce){const je=G[Ce],Re=je&&je.name;typeof Re!="string"||q[Xe(Re)]||bn(T,je,Re)}},on=function(T){const G=[T];for(;G.length>0;){const Ce=G.pop();D(Ce)===tn.element&&In(Ce);const Re=y(Ce);if(Re)for(let Ze=Re.length-1;Ze>=0;--Ze)G.push(Re[Ze])}},yn=function(T,G){return Ke?T==="patchsrc"?!0:T==="for"&&G!=="label"&&G!=="output":!1},Dn=function(T){if(!Ke)return;const G=[T];for(;G.length>0;){const Ce=G.pop(),je=D(Ce);if(je===tn.processingInstruction||je===tn.comment&&It(Hs,Ce.data)){try{v(Ce)}catch{}continue}if(je===tn.element){const Ze=Ce,yt=Xe(k(Ce));try{Ze.hasAttribute&&Ze.hasAttribute("patchsrc")&&Ze.removeAttribute("patchsrc"),Ze.hasAttribute&&Ze.hasAttribute("for")&&yn("for",yt)&&Ze.removeAttribute("for")}catch{}}const Re=y(Ce);if(Re)for(let Ze=Re.length-1;Ze>=0;--Ze)G.push(Re[Ze])}},Jt=function(T){let G=null,Ce=null;if(ot)T="<remove></remove>"+T;else{const Ze=js(T,/^[\r\n\t ]+/);Ce=Ze&&Ze[0]}pt==="application/xhtml+xml"&&$e===tt&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const je=A?S(T):T;if($e===tt)try{G=new p().parseFromString(je,pt)}catch{}if(!G||!G.documentElement){G=te.createDocument($e,"template",null);try{G.documentElement.innerHTML=Ge?E:je}catch{}}const Re=G.body||G.documentElement;return T&&Ce&&Re.insertBefore(a.createTextNode(Ce),Re.childNodes[0]||null),$e===tt?R.call(G,ze?"html":"body")[0]:ze?G.documentElement:Re},Ut=function(T){const G=x?x(T):T.ownerDocument;return V.call(G||T,T,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ht=function(T){return T=Ca(T,I," "),T=Ca(T,L," "),T=Ca(T,$," "),T},oe=function(T){var G;T.normalize();const Ce=x?x(T):T.ownerDocument,je=V.call(Ce||T,T,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Re=je.nextNode();for(;Re;)Re.data=Ht(Re.data),Re=je.nextNode();const Ze=(G=T.querySelectorAll)===null||G===void 0?void 0:G.call(T,"template");Ze&&On(Ze,yt=>{De(yt.content)&&oe(yt.content)})},ye=function(T){const G=B?B(T):null;return typeof G!="string"||Xe(G)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==w(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==f(T)||T.childNodes!==y(T)},De=function(T){if(!f||typeof T!="object"||T===null)return!1;try{return f(T)===tn.documentFragment}catch{return!1}},Ue=function(T){if(!f||typeof T!="object"||T===null)return!1;try{return typeof f(T)=="number"}catch{return!1}};function Te(be,T,G){be.length!==0&&On(be,Ce=>{Ce.call(n,T,G,Nt)})}const Ve=function(T,G){return!!(Ke&&T.hasChildNodes()&&!Ue(T.firstElementChild)&&It(Os,T.textContent)&&It(Os,T.innerHTML)||Ke&&T.namespaceURI===tt&&K0[G]&&(Ue(T.firstElementChild)||typeof T.textContent=="string"&&It(Y0[G],T.textContent))||T.nodeType===tn.processingInstruction||Ke&&T.nodeType===tn.comment&&It(Hs,T.data))},We=function(T,G){if(T instanceof RegExp)return It(T,G);if(T instanceof Function){for(var Ce=arguments.length,je=new Array(Ce>2?Ce-2:0),Re=2;Re<Ce;Re++)je[Re-2]=arguments[Re];return!!T(G,...je)}return!1},mt=function(T,G,Ce){if(!xe[G]&&de(G)&&We(fe.tagNameCheck,G))return!1;if(Z&&!Se[G]){const je=_(T),Re=y(T);if(Re&&je){const Ze=Re.length;for(let yt=Ze-1;yt>=0;--yt){const _t=T===Ce?b(Re[yt],!0):Re[yt];je.insertBefore(_t,g(T))}}}return Lt(T),!0},ee=function(T,G,Ce,je){return T.length===0?G:G===Ce||G===je?en(G):G},_e=function(T,G){return T===G||_(T)!==null?!1:(re&&on(T),!0)},Le=function(T,G){if(Te(N.beforeSanitizeElements,T,null),_e(T,G))return!0;if(ye(T))return Lt(T),!0;const Ce=Xe(k(T));if(se=ee(N.uponSanitizeElement,se,ke,He),Te(N.uponSanitizeElement,T,{tagName:Ce,allowedTags:se}),_e(T,G))return!0;if(Ve(T,Ce))return Lt(T),!0;if(xe[Ce]||!(ie.tagCheck instanceof Function&&ie.tagCheck(Ce))&&!se[Ce]){const Re=mt(T,Ce,G);return Re===!1&&Te(N.afterSanitizeElements,T,null),Re}if(D(T)===tn.element&&!mn(T)||(Ce==="noscript"||Ce==="noembed"||Ce==="noframes")&&It(U0,T.innerHTML))return Lt(T),!0;if(Ne&&T.nodeType===tn.text){const Re=Ht(T.textContent);T.textContent!==Re&&(ma(n.removed,{element:T.cloneNode()}),T.textContent=Re)}return Te(N.afterSanitizeElements,T,null),!1},Oe=function(T,G,Ce){if(he[G]||yn(G,T)||Fe&&(G==="id"||G==="name")&&(Ce in a||Ce in Ft))return!1;const je=q[G]||ie.attributeCheck instanceof Function&&ie.attributeCheck(G,T);return ue&&It(H,G)||ce&&It(X,G)?!0:je?bt[G]||It(le,Ca(Ce,Y,""))||(G==="src"||G==="xlink:href"||G==="href")&&T!=="script"&&Ts(Ce,"data:")===0&&Ye[T]||ge&&!It(K,Ca(Ce,Y,""))?!0:!Ce:de(T)&&We(fe.tagNameCheck,T)&&We(fe.attributeNameCheck,G,T)||G==="is"&&fe.allowCustomizedBuiltInElements&&We(fe.tagNameCheck,Ce)},Je=ut({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),de=function(T){return!Je[ha(T)]&&It(ae,T)},Me=function(T,G,Ce,je){if(A&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Ce)switch(m.getAttributeType(T,G)){case"TrustedHTML":return S(je);case"TrustedScriptURL":return M(je)}return je},nt=function(T,G,Ce,je){try{Ce?T.setAttributeNS(Ce,G,je):T.setAttribute(G,je),ye(T)?Lt(T):Ss(n.removed)}catch{qt(G,T)}},ft=function(T){Te(N.beforeSanitizeAttributes,T,null);const G=T.attributes;if(!G||ye(T))return;q=ee(N.uponSanitizeAttribute,q,ne,ct);const Ce={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:q,forceKeepAttr:void 0};let je=G.length;const Re=Xe(T.nodeName);for(;je--;){const Ze=G[je],yt=Ze.name,_t=Ze.namespaceURI,Gt=Ze.value,Kt=Xe(yt),_r=Gt;let zt=yt==="value"?_r:D0(_r);if(Ce.attrName=Kt,Ce.attrValue=zt,Ce.keepAttr=!0,Ce.forceKeepAttr=void 0,Te(N.uponSanitizeAttribute,T,Ce),zt=Ce.attrValue,we&&(Kt==="id"||Kt==="name")&&Ts(zt,at)!==0&&(qt(yt,T,Ze),zt=at+zt),Ke&&It(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,zt)){qt(yt,T,Ze);continue}if(Kt==="attributename"&&js(zt,"href")){qt(yt,T,Ze);continue}if(!Ce.forceKeepAttr){if(!Ce.keepAttr){qt(yt,T,Ze);continue}if(!Ee&&It(G0,zt)){qt(yt,T,Ze);continue}if(Ne&&(zt=Ht(zt)),!Oe(Re,Kt,zt)){qt(yt,T,Ze);continue}zt=Me(Re,Kt,_t,zt),zt!==_r&&nt(T,yt,_t,zt)}}Te(N.afterSanitizeAttributes,T,null)},wt=function(T){let G=null;const Ce=Ut(T);for(Te(N.beforeSanitizeShadowDOM,T,null);G=Ce.nextNode();)if(Te(N.uponSanitizeShadowNode,G,null),Le(G,T),ft(G),De(G.content)&&wt(G.content),D(G)===tn.element){const je=C(G);De(je)&&(nn(je),wt(je))}Te(N.afterSanitizeShadowDOM,T,null)},nn=function(T){const G=[{node:T,shadow:null}];for(;G.length>0;){const Ce=G.pop();if(Ce.shadow){wt(Ce.shadow);continue}const je=Ce.node,Ze=D(je)===tn.element,yt=y(je);if(yt)for(let _t=yt.length-1;_t>=0;--_t)G.push({node:yt[_t],shadow:null});if(Ze){const _t=B?B(je):null;if(typeof _t=="string"&&Xe(_t)==="template"){const Gt=je.content;De(Gt)&&G.push({node:Gt,shadow:null})}}if(Ze){const _t=C(je);De(_t)&&G.push({node:null,shadow:_t},{node:_t,shadow:null})}}};return n.sanitize=function(be){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=null,Ce=null,je=null,Re=null;if(Ge=!be,Ge&&(be="<!-->"),typeof be!="string"&&!Ue(be)&&(be=M0(be),typeof be!="string"))throw Hn("dirty is not a string, aborting");if(!n.isSupported)return be;qe?(se=He,q=ct):dn(T),(N.uponSanitizeElement.length>0||N.uponSanitizeAttribute.length>0)&&(se=en(se)),N.uponSanitizeAttribute.length>0&&(q=en(q)),n.removed=[];const Ze=re&&typeof be!="string"&&Ue(be);if(Ze){Dn(be);const Gt=k(be);if(typeof Gt=="string"){const Kt=Xe(Gt);if(!se[Kt]||xe[Kt])throw Ot(be),Hn("root node is forbidden and cannot be sanitized in-place")}if(ye(be))throw Ot(be),Hn("root node is clobbered and cannot be sanitized in-place");try{nn(be)}catch(Kt){throw Ot(be),Kt}}else if(Ue(be))G=Jt("<!---->"),Ce=G.ownerDocument.importNode(be,!0),Ce.nodeType===tn.element&&Ce.nodeName==="BODY"||Ce.nodeName==="HTML"?G=Ce:G.appendChild(Ce),nn(Ce);else{if(!st&&!Ne&&!ze&&be.indexOf("<")===-1)return A&&Ae?S(be):be;if(G=Jt(be),!G)return st?null:Ae?E:""}G&&ot&&Lt(G.firstChild);const yt=Ze?be:G;try{const Gt=Ut(yt);for(;je=Gt.nextNode();)Le(je,yt),ft(je),De(je.content)&&wt(je.content)}catch(Gt){throw Ze&&(Ot(be),On(n.removed,Kt=>{Kt.element&&on(Kt.element)})),Gt}if(Ze)return On(n.removed,Gt=>{Gt.element&&on(Gt.element)}),Ne&&oe(be),be;if(st){if(Ne&&oe(G),ht)for(Re=U.call(G.ownerDocument);G.firstChild;)Re.appendChild(G.firstChild);else Re=G;return(q.shadowroot||q.shadowrootmode)&&(Re=F.call(r,Re,!0)),Re}let _t=ze?G.outerHTML:G.innerHTML;return ze&&se["!doctype"]&&G.ownerDocument&&G.ownerDocument.doctype&&G.ownerDocument.doctype.name&&It(W0,G.ownerDocument.doctype.name)&&(_t="<!DOCTYPE "+G.ownerDocument.doctype.name+`>
828
- `+_t),Ne&&(_t=Ht(_t)),A&&Ae?S(_t):_t},n.setConfig=function(){let be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};dn(be),qe=!0,He=se,ct=q},n.clearConfig=function(){Nt=null,qe=!1,He=null,ct=null,A=j,E=""},n.isValidAttribute=function(be,T,G){Nt||dn({});const Ce=Xe(be),je=Xe(T);return Oe(Ce,je,G)},n.addHook=function(be,T){typeof T=="function"&&Yt(N,be)&&ma(N[be],T)},n.removeHook=function(be,T){if(Yt(N,be)){if(T!==void 0){const G=k0(N[be],T);return G===-1?void 0:N0(N[be],G,1)[0]}return Ss(N[be])}},n.removeHooks=function(be){Yt(N,be)&&(N[be]=[])},n.removeAllHooks=function(){N=Vs()},n}var Mr=Ws();const J0=/^(?:[a-z]+:)?\/\//i,Q0="__ihab_core_asset_base_url__";function eC(){return globalThis[Q0]??""}function Lr(e){const n=String(e||"").trim();if(!n)return"";if(J0.test(n)||n.startsWith("data:")||n.startsWith("blob:"))return n;const a=n.startsWith("/")?n:`/${n}`,r=eC();return r?`${r}${a}`:a}const qs="__ihab_core_storage_resolvers__";function ga(){return globalThis[qs]??null}function tC(e){globalThis[qs]=e}let Us=class extends Error{constructor(n){super(`
826
+ */const d0=[["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"}]],p0=J("thumbs-up",d0),ws={"alert-triangle":ls,"align-start-vertical":Fc,anchor:yh,armchair:xh,"arrow-down":Hc,"arrow-left":Vc,"arrow-right":qc,"arrow-right-left":Gc,"arrow-up-a-z":wh,"audio-lines":Yc,baby:Xc,ban:Qc,"bar-chart-2":Ah,bell:td,"book-marked":ad,"book-open":od,"bow-arrow":id,braces:ud,bug:dd,calendar:vs,"calendar-check":md,"calendar-days":Cd,camera:gd,car:Dh,"chart-column":yd,"chart-line":xd,"chart-pie":wd,check:us,"chevron-down":xs,"chevron-left":cs,"chevron-right":ds,"chevron-up":_s,circle:r0,"clipboard-list":Dd,coffee:Sh,combine:Sd,copy:Td,"chevrons-left-right-ellipsis":Ld,"credit-card":Rd,database:ps,diff:Fd,download:ms,ear:zd,edit:Wd,"edit-2":Ud,"edit-3":Kd,ellipsis:hs,eraser:Xd,"external-link":Qd,eye:tp,"file-text":ap,"flip-horizontal":op,"folder-open":ip,"folder-plus":up,gamepad:dp,"gamepad-2":Th,clock:Lh,target:Rh,percent:Ih,gavel:mp,"git-merge":Cs,globe:fp,"grip-vertical":bp,headphones:vp,heart:_p,home:Bp,inbox:Oh,info:kp,"key-round":Dp,landmark:Sp,layers:Tp,"layout-dashboard":Lp,leaf:Rp,lightbulb:Ip,link:Op,"link-2":zp,"link-2-off":Wp,list:Up,"list-checks":Kp,"list-ordered":Zp,"list-tree":zh,loader:Jp,lock:e1,"log-out":n1,mail:r1,"map-pin":s1,menu:l0,"message-circle":l1,"message-circle-question-mark":c1,"message-square":p1,"message-square-more":Wh,"message-square-text":h1,minus:Uh,"minus-circle":f1,moon:c0,"more-horizontal":hs,package:b1,palette:v1,"party-popper":_1,pause:B1,pencil:k1,phone:D1,play:S1,"play-circle":T1,plus:L1,printer:R1,"refresh-cw":I1,repeat:O1,replace:z1,rocket:W1,"rotate-ccw":U1,"rotate-cw":K1,salad:Z1,"scan-search":J1,search:nm,"circle-alert":fs,"alert-circle":fs,"check-circle":gs,scissors:rm,"search-x":sm,send:lm,settings:cm,"share-2":Kh,"shield-check":pm,"shopping-cart":hm,shuffle:fm,"skip-back":bm,"skip-forward":vm,sparkles:Zh,square:_m,star:Bm,store:km,"sun-medium":Dm,table:Sm,"table-2":Tm,tag:Lm,terminal:Rm,"text-cursor-input":Im,"text-initial":Om,"thumbs-up":p0,ticket:zm,trash:Um,triangle:s0,"trash-2":Wm,"trending-up":Km,"triangle-alert":ls,trophy:Zm,type:Jh,unlink:Jm,upload:eh,user:Br,"user-plus":ah,"user-round":oh,"user-round-check":ih,users:uh,"users-round":dh,volume:e0,"volume-2":bs,wrench:hh,x:ys,zap:gh};function m0(e){return ws[e]??null}const Bs=new Set;function h0(e){return Oa&&!(e in ws)&&!Bs.has(e)&&(Bs.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 C0=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 f0(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?C0(a):null}const As=new Map;function g0(e){const n=typeof e=="string"?f0(e):null,a=n?m0(n)??As.get(n)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!n||a)return;let i=!1;return h0(n).then(l=>{As.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 ks(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 b0(e){if(Array.isArray(e))return e}function y0(e,n){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,u=[],c=!0,d=!1;try{if(i=(a=a.call(e)).next,n!==0)for(;!(c=(r=i.call(a)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(m){d=!0,s=m}finally{try{if(!c&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw s}}return u}}function v0(){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 x0(e,n){return b0(e)||y0(e,n)||_0(e,n)||v0()}function _0(e,n){if(e){if(typeof e=="string")return ks(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)?ks(e,n):void 0}}const Ns=Object.entries,Ds=Object.setPrototypeOf,w0=Object.isFrozen,B0=Object.getPrototypeOf,A0=Object.getOwnPropertyDescriptor;let jt=Object.freeze,Tt=Object.seal,Zn=Object.create,Es=typeof Reflect<"u"&&Reflect,Ar=Es.apply,kr=Es.construct;jt||(jt=function(n){return n}),Tt||(Tt=function(n){return n}),Ar||(Ar=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)}),kr||(kr=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 On=Dt(Array.prototype.forEach),k0=Dt(Array.prototype.lastIndexOf),Ss=Dt(Array.prototype.pop),ma=Dt(Array.prototype.push),N0=Dt(Array.prototype.splice),Xn=Array.isArray,ha=Dt(String.prototype.toLowerCase),Nr=Dt(String.prototype.toString),js=Dt(String.prototype.match),Ca=Dt(String.prototype.replace),Ts=Dt(String.prototype.indexOf),D0=Dt(String.prototype.trim),E0=Dt(Number.prototype.toString),S0=Dt(Boolean.prototype.toString),Ms=typeof BigInt>"u"?null:Dt(BigInt.prototype.toString),Ls=typeof Symbol>"u"?null:Dt(Symbol.prototype.toString),Yt=Dt(Object.prototype.hasOwnProperty),fa=Dt(Object.prototype.toString),Ft=Dt(RegExp.prototype.test),Hn=j0(TypeError);function Dt(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 Ar(e,n,r)}}function j0(e){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return kr(e,a)}}function ct(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ha;if(Ds&&Ds(e,null),!Xn(n))return e;let r=n.length;for(;r--;){let s=n[r];if(typeof s=="string"){const i=a(s);i!==s&&(w0(n)||(n[r]=i),s=i)}e[s]=!0}return e}function T0(e){for(let n=0;n<e.length;n++)Yt(e,n)||(e[n]=null);return e}function en(e){const n=Zn(null);for(const r of Ns(e)){var a=x0(r,2);const s=a[0],i=a[1];Yt(e,s)&&(Xn(i)?n[s]=T0(i):i&&typeof i=="object"&&i.constructor===Object?n[s]=en(i):n[s]=i)}return n}function M0(e){switch(typeof e){case"string":return e;case"number":return E0(e);case"boolean":return S0(e);case"bigint":return Ms?Ms(e):"0";case"symbol":return Ls?Ls(e):"Symbol()";case"undefined":return fa(e);case"function":case"object":{if(e===null)return fa(e);const n=e,a=sn(n,"toString");if(typeof a=="function"){const r=a(n);return typeof r=="string"?r:fa(r)}return fa(e)}default:return fa(e)}}function sn(e,n){for(;e!==null;){const r=A0(e,n);if(r){if(r.get)return Dt(r.get);if(typeof r.value=="function")return Dt(r.value)}e=B0(e)}function a(){return null}return a}function L0(e){try{return Ft(e,""),!0}catch{return!1}}const $s=jt(["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"]),Dr=jt(["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"]),Er=jt(["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"]),$0=jt(["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"]),Sr=jt(["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"]),R0=jt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Rs=jt(["#text"]),Ps=jt(["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"]),jr=jt(["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"]),Is=jt(["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"]),Ha=jt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),P0=Tt(/{{[\w\W]*|^[\w\W]*}}/g),I0=Tt(/<%[\w\W]*|^[\w\W]*%>/g),F0=Tt(/\${[\w\W]*/g),O0=Tt(/^data-[\-\w.\u00B7-\uFFFF]+$/),H0=Tt(/^aria-[\-\w]+$/),Fs=Tt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z0=Tt(/^(?:\w+script|data):/i),V0=Tt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),W0=Tt(/^html$/i),q0=Tt(/^[a-z][.\w]*(-[.\w]+)+$/i),Os=Tt(/<[/\w!]/g),Hs=Tt(/<[/\w]/g),U0=Tt(/<\/no(script|embed|frames)/i),G0=Tt(/\/>/i),tn={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},zs=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],K0=jt(ct({},zs)),Y0=(function(){const e={};return On(zs,n=>{e[n]=Tt(new RegExp("</"+n+"(?=[\\t\\n\\f\\r />])","i"))}),jt(e)})(),Z0=function(){return typeof window>"u"?null:window},X0=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}},Vs=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},En=function(n,a,r,s){return Yt(n,a)&&Xn(n[a])?ct(s.base?en(s.base):{},n[a],s.transform):r},Tr=function(n,a,r){const s=Yt(n,a)?n[a]:void 0;return s&&typeof s=="object"?en(s):r()};function Ws(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Z0();const n=be=>Ws(be);if(n.version="3.4.14",n.removed=[],!e||!e.document||e.document.nodeType!==tn.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,c=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const m=e.DOMParser,p=e.trustedTypes,h=u.prototype,b=sn(h,"cloneNode"),v=sn(h,"remove"),f=sn(h,"nextSibling"),y=sn(h,"childNodes"),_=sn(h,"parentNode"),C=sn(h,"shadowRoot"),B=sn(h,"attributes"),g=l&&l.prototype?sn(l.prototype,"nodeType"):null,w=l&&l.prototype?sn(l.prototype,"nodeName"):null,x=l&&l.prototype?sn(l.prototype,"ownerDocument"):null,A=function(T){return g?g(T):T.nodeType},k=function(T){return w?w(T):T.nodeName};if(typeof i=="function"){const be=a.createElement("template");be.content&&be.content.ownerDocument&&(a=be.content.ownerDocument)}let N,E="",S,I=!1,$=0;const W=function(){if($>0)throw Hn('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){W(),$++;try{return N.createHTML(T)}finally{$--}},M=function(T){W(),$++;try{return N.createScriptURL(T)}finally{$--}},H=function(){return I||(S=X0(p,s),I=!0),S},Q=a,te=Q.implementation,V=Q.createNodeIterator,U=Q.createDocumentFragment,P=Q.getElementsByTagName,F=r.importNode;let D=Vs();n.isSupported=typeof Ns=="function"&&typeof _=="function"&&te&&te.createHTMLDocument!==void 0;const O=P0,L=I0,R=F0,z=O0,X=H0,K=z0,Y=V0,ae=q0;let le=Fs,se=null;const ke=ct({},[...$s,...Dr,...Er,...Sr,...Rs]);let q=null;const ne=ct({},[...Ps,...jr,...Is,...Ha]);let fe=Object.seal(Zn(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}})),xe=null,he=null;const ie=Object.seal(Zn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ce=!0,ue=!0,ge=!1,Ne=!0,De=!1,Ke=!0,ze=!1,qe=!1,He=null,dt=null,ot=!1,st=!1,ht=!1,Ae=!1,Ie=!0,we=!1;const rt="user-content-";let Z=!0,re=!1,pe={},Se=null;const it=ct({},["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 Ye=null;const xt=ct({},["audio","video","img","source","image","track"]);let bt=null;const ut=ct({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tt="http://www.w3.org/1998/Math/MathML",et="http://www.w3.org/2000/svg",nt="http://www.w3.org/1999/xhtml";let $e=nt,Ge=!1,Pe=null;const Ct=ct({},[tt,et,nt],Nr),Mt=jt(["mi","mo","mn","ms","mtext"]);let Et=ct({},Mt);const lt=jt(["annotation-xml"]);let gt=ct({},lt);const Fe=ct({},["title","style","font","a","script"]);let pt=null;const St=["application/xhtml+xml","text/html"],Pt="text/html";let Je=null,Nt=null;const It=a.createElement("form"),kt=function(T){return T instanceof RegExp||T instanceof Function},dn=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Nt&&Nt===T)return;(!T||typeof T!="object")&&(T={}),T=en(T),pt=St.indexOf(T.PARSER_MEDIA_TYPE)===-1?Pt:T.PARSER_MEDIA_TYPE,Je=pt==="application/xhtml+xml"?Nr:ha,se=En(T,"ALLOWED_TAGS",ke,{transform:Je}),q=En(T,"ALLOWED_ATTR",ne,{transform:Je}),Pe=En(T,"ALLOWED_NAMESPACES",Ct,{transform:Nr}),bt=En(T,"ADD_URI_SAFE_ATTR",ut,{transform:Je,base:ut}),Ye=En(T,"ADD_DATA_URI_TAGS",xt,{transform:Je,base:xt}),Se=En(T,"FORBID_CONTENTS",it,{transform:Je}),xe=En(T,"FORBID_TAGS",en({}),{transform:Je}),he=En(T,"FORBID_ATTR",en({}),{transform:Je}),pe=Yt(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?en(T.USE_PROFILES):T.USE_PROFILES:!1,ce=T.ALLOW_ARIA_ATTR!==!1,ue=T.ALLOW_DATA_ATTR!==!1,ge=T.ALLOW_UNKNOWN_PROTOCOLS||!1,Ne=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,De=T.SAFE_FOR_TEMPLATES||!1,Ke=T.SAFE_FOR_XML!==!1,ze=T.WHOLE_DOCUMENT||!1,st=T.RETURN_DOM||!1,ht=T.RETURN_DOM_FRAGMENT||!1,Ae=T.RETURN_TRUSTED_TYPE||!1,ot=T.FORCE_BODY||!1,Ie=T.SANITIZE_DOM!==!1,we=T.SANITIZE_NAMED_PROPS||!1,Z=T.KEEP_CONTENT!==!1,re=T.IN_PLACE||!1,le=L0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Fs,$e=typeof T.NAMESPACE=="string"?T.NAMESPACE:nt,Et=Tr(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>ct({},Mt)),gt=Tr(T,"HTML_INTEGRATION_POINTS",()=>ct({},lt));const G=Tr(T,"CUSTOM_ELEMENT_HANDLING",()=>Zn(null));if(fe=Zn(null),Yt(G,"tagNameCheck")&&kt(G.tagNameCheck)&&(fe.tagNameCheck=G.tagNameCheck),Yt(G,"attributeNameCheck")&&kt(G.attributeNameCheck)&&(fe.attributeNameCheck=G.attributeNameCheck),Yt(G,"allowCustomizedBuiltInElements")&&typeof G.allowCustomizedBuiltInElements=="boolean"&&(fe.allowCustomizedBuiltInElements=G.allowCustomizedBuiltInElements),Tt(fe),De&&(ue=!1),ht&&(st=!0),pe&&(se=ct({},Rs),q=Zn(null),pe.html===!0&&(ct(se,$s),ct(q,Ps)),pe.svg===!0&&(ct(se,Dr),ct(q,jr),ct(q,Ha)),pe.svgFilters===!0&&(ct(se,Er),ct(q,jr),ct(q,Ha)),pe.mathMl===!0&&(ct(se,Sr),ct(q,Is),ct(q,Ha))),ie.tagCheck=null,ie.attributeCheck=null,Yt(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?ie.tagCheck=T.ADD_TAGS:Xn(T.ADD_TAGS)&&(se===ke&&(se=en(se)),ct(se,T.ADD_TAGS,Je))),Yt(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?ie.attributeCheck=T.ADD_ATTR:Xn(T.ADD_ATTR)&&(q===ne&&(q=en(q)),ct(q,T.ADD_ATTR,Je))),Yt(T,"ADD_FORBID_CONTENTS")&&Xn(T.ADD_FORBID_CONTENTS)&&(Se===it&&(Se=en(Se)),ct(Se,T.ADD_FORBID_CONTENTS,Je)),Z&&(se["#text"]=!0),ze&&ct(se,["html","head","body"]),se.table&&(ct(se,["tbody"]),delete xe.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw Hn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Hn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const Ce=N;N=T.TRUSTED_TYPES_POLICY;try{E=j("")}catch(je){throw N=Ce,je}}else T.TRUSTED_TYPES_POLICY===null?(N=void 0,E=""):(N===void 0&&(N=H()),N&&typeof E=="string"&&(E=j("")));jt&&jt(T),Nt=T},pn=ct({},[...Dr,...Er,...$0]),fn=ct({},[...Sr,...R0]),Pn=function(T,G,Ce){return G.namespaceURI===nt?T==="svg":G.namespaceURI===tt?T==="svg"&&(Ce==="annotation-xml"||Et[Ce]):!!pn[T]},gn=function(T,G,Ce){return G.namespaceURI===nt?T==="math":G.namespaceURI===et?T==="math"&&gt[Ce]:!!fn[T]},In=function(T,G,Ce){return G.namespaceURI===et&&!gt[Ce]||G.namespaceURI===tt&&!Et[Ce]?!1:!fn[T]&&(Fe[T]||!pn[T])},mn=function(T){let G=_(T);(!G||!G.tagName)&&(G={namespaceURI:$e,tagName:"template"});const Ce=ha(T.tagName),je=ha(G.tagName);return Pe[T.namespaceURI]?T.namespaceURI===et?Pn(Ce,G,je):T.namespaceURI===tt?gn(Ce,G,je):T.namespaceURI===nt?In(Ce,G,je):!!(pt==="application/xhtml+xml"&&Pe[T.namespaceURI]):!1},Lt=function(T){ma(n.removed,{element:T});try{_(T).removeChild(T)}catch{if(v(T),!_(T))throw Hn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},bn=function(T,G,Ce){try{T.removeAttributeNode(G)}catch{try{T.removeAttribute(Ce)}catch{}}},Ot=function(T){on(T);const G=y(T);if(G){const je=[];On(G,Re=>{ma(je,Re)}),On(je,Re=>{try{v(Re)}catch{}})}const Ce=B(T);if(Ce)for(let je=Ce.length-1;je>=0;--je){const Re=Ce[je],Ze=Re&&Re.name;typeof Ze=="string"&&bn(T,Re,Ze)}},qt=function(T,G,Ce){if(!Ce)try{Ce=G.getAttributeNode(T)}catch{Ce=null}ma(n.removed,{attribute:Ce||null,from:G});try{Ce?G.removeAttributeNode(Ce):G.removeAttribute(T)}catch{try{G.removeAttribute(T)}catch{}}if(T==="is")if(st||ht)try{Lt(G)}catch{}else try{G.setAttribute(T,"")}catch{}},Fn=function(T){const G=B(T);if(G)for(let Ce=G.length-1;Ce>=0;--Ce){const je=G[Ce],Re=je&&je.name;typeof Re!="string"||q[Je(Re)]||bn(T,je,Re)}},on=function(T){const G=[T];for(;G.length>0;){const Ce=G.pop();A(Ce)===tn.element&&Fn(Ce);const Re=y(Ce);if(Re)for(let Ze=Re.length-1;Ze>=0;--Ze)G.push(Re[Ze])}},yn=function(T,G){return Ke?T==="patchsrc"?!0:T==="for"&&G!=="label"&&G!=="output":!1},Dn=function(T){if(!Ke)return;const G=[T];for(;G.length>0;){const Ce=G.pop(),je=A(Ce);if(je===tn.processingInstruction||je===tn.comment&&Ft(Hs,Ce.data)){try{v(Ce)}catch{}continue}if(je===tn.element){const Ze=Ce,yt=Je(k(Ce));try{Ze.hasAttribute&&Ze.hasAttribute("patchsrc")&&Ze.removeAttribute("patchsrc"),Ze.hasAttribute&&Ze.hasAttribute("for")&&yn("for",yt)&&Ze.removeAttribute("for")}catch{}}const Re=y(Ce);if(Re)for(let Ze=Re.length-1;Ze>=0;--Ze)G.push(Re[Ze])}},Jt=function(T){let G=null,Ce=null;if(ot)T="<remove></remove>"+T;else{const Ze=js(T,/^[\r\n\t ]+/);Ce=Ze&&Ze[0]}pt==="application/xhtml+xml"&&$e===nt&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const je=N?j(T):T;if($e===nt)try{G=new m().parseFromString(je,pt)}catch{}if(!G||!G.documentElement){G=te.createDocument($e,"template",null);try{G.documentElement.innerHTML=Ge?E:je}catch{}}const Re=G.body||G.documentElement;return T&&Ce&&Re.insertBefore(a.createTextNode(Ce),Re.childNodes[0]||null),$e===nt?P.call(G,ze?"html":"body")[0]:ze?G.documentElement:Re},Ut=function(T){const G=x?x(T):T.ownerDocument;return V.call(G||T,T,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ht=function(T){return T=Ca(T,O," "),T=Ca(T,L," "),T=Ca(T,R," "),T},oe=function(T){var G;T.normalize();const Ce=x?x(T):T.ownerDocument,je=V.call(Ce||T,T,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Re=je.nextNode();for(;Re;)Re.data=Ht(Re.data),Re=je.nextNode();const Ze=(G=T.querySelectorAll)===null||G===void 0?void 0:G.call(T,"template");Ze&&On(Ze,yt=>{Ee(yt.content)&&oe(yt.content)})},ye=function(T){const G=w?w(T):null;return typeof G!="string"||Je(G)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==B(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==g(T)||T.childNodes!==y(T)},Ee=function(T){if(!g||typeof T!="object"||T===null)return!1;try{return g(T)===tn.documentFragment}catch{return!1}},Ue=function(T){if(!g||typeof T!="object"||T===null)return!1;try{return typeof g(T)=="number"}catch{return!1}};function Te(be,T,G){be.length!==0&&On(be,Ce=>{Ce.call(n,T,G,Nt)})}const Ve=function(T,G){return!!(Ke&&T.hasChildNodes()&&!Ue(T.firstElementChild)&&Ft(Os,T.textContent)&&Ft(Os,T.innerHTML)||Ke&&T.namespaceURI===nt&&K0[G]&&(Ue(T.firstElementChild)||typeof T.textContent=="string"&&Ft(Y0[G],T.textContent))||T.nodeType===tn.processingInstruction||Ke&&T.nodeType===tn.comment&&Ft(Hs,T.data))},We=function(T,G){if(T instanceof RegExp)return Ft(T,G);if(T instanceof Function){for(var Ce=arguments.length,je=new Array(Ce>2?Ce-2:0),Re=2;Re<Ce;Re++)je[Re-2]=arguments[Re];return!!T(G,...je)}return!1},mt=function(T,G,Ce){if(!xe[G]&&de(G)&&We(fe.tagNameCheck,G))return!1;if(Z&&!Se[G]){const je=_(T),Re=y(T);if(Re&&je){const Ze=Re.length;for(let yt=Ze-1;yt>=0;--yt){const _t=T===Ce?b(Re[yt],!0):Re[yt];je.insertBefore(_t,f(T))}}}return Lt(T),!0},ee=function(T,G,Ce,je){return T.length===0?G:G===Ce||G===je?en(G):G},_e=function(T,G){return T===G||_(T)!==null?!1:(re&&on(T),!0)},Le=function(T,G){if(Te(D.beforeSanitizeElements,T,null),_e(T,G))return!0;if(ye(T))return Lt(T),!0;const Ce=Je(k(T));if(se=ee(D.uponSanitizeElement,se,ke,He),Te(D.uponSanitizeElement,T,{tagName:Ce,allowedTags:se}),_e(T,G))return!0;if(Ve(T,Ce))return Lt(T),!0;if(xe[Ce]||!(ie.tagCheck instanceof Function&&ie.tagCheck(Ce))&&!se[Ce]){const Re=mt(T,Ce,G);return Re===!1&&Te(D.afterSanitizeElements,T,null),Re}if(A(T)===tn.element&&!mn(T)||(Ce==="noscript"||Ce==="noembed"||Ce==="noframes")&&Ft(U0,T.innerHTML))return Lt(T),!0;if(De&&T.nodeType===tn.text){const Re=Ht(T.textContent);T.textContent!==Re&&(ma(n.removed,{element:T.cloneNode()}),T.textContent=Re)}return Te(D.afterSanitizeElements,T,null),!1},Oe=function(T,G,Ce){if(he[G]||yn(G,T)||Ie&&(G==="id"||G==="name")&&(Ce in a||Ce in It))return!1;const je=q[G]||ie.attributeCheck instanceof Function&&ie.attributeCheck(G,T);return ue&&Ft(z,G)||ce&&Ft(X,G)?!0:je?bt[G]||Ft(le,Ca(Ce,Y,""))||(G==="src"||G==="xlink:href"||G==="href")&&T!=="script"&&Ts(Ce,"data:")===0&&Ye[T]||ge&&!Ft(K,Ca(Ce,Y,""))?!0:!Ce:de(T)&&We(fe.tagNameCheck,T)&&We(fe.attributeNameCheck,G,T)||G==="is"&&fe.allowCustomizedBuiltInElements&&We(fe.tagNameCheck,Ce)},Xe=ct({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),de=function(T){return!Xe[ha(T)]&&Ft(ae,T)},Me=function(T,G,Ce,je){if(N&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Ce)switch(p.getAttributeType(T,G)){case"TrustedHTML":return j(je);case"TrustedScriptURL":return M(je)}return je},at=function(T,G,Ce,je){try{Ce?T.setAttributeNS(Ce,G,je):T.setAttribute(G,je),ye(T)?Lt(T):Ss(n.removed)}catch{qt(G,T)}},ft=function(T){Te(D.beforeSanitizeAttributes,T,null);const G=T.attributes;if(!G||ye(T))return;q=ee(D.uponSanitizeAttribute,q,ne,dt);const Ce={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:q,forceKeepAttr:void 0};let je=G.length;const Re=Je(T.nodeName);for(;je--;){const Ze=G[je],yt=Ze.name,_t=Ze.namespaceURI,Gt=Ze.value,Kt=Je(yt),_r=Gt;let zt=yt==="value"?_r:D0(_r);if(Ce.attrName=Kt,Ce.attrValue=zt,Ce.keepAttr=!0,Ce.forceKeepAttr=void 0,Te(D.uponSanitizeAttribute,T,Ce),zt=Ce.attrValue,we&&(Kt==="id"||Kt==="name")&&Ts(zt,rt)!==0&&(qt(yt,T,Ze),zt=rt+zt),Ke&&Ft(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,zt)){qt(yt,T,Ze);continue}if(Kt==="attributename"&&js(zt,"href")){qt(yt,T,Ze);continue}if(!Ce.forceKeepAttr){if(!Ce.keepAttr){qt(yt,T,Ze);continue}if(!Ne&&Ft(G0,zt)){qt(yt,T,Ze);continue}if(De&&(zt=Ht(zt)),!Oe(Re,Kt,zt)){qt(yt,T,Ze);continue}zt=Me(Re,Kt,_t,zt),zt!==_r&&at(T,yt,_t,zt)}}Te(D.afterSanitizeAttributes,T,null)},wt=function(T){let G=null;const Ce=Ut(T);for(Te(D.beforeSanitizeShadowDOM,T,null);G=Ce.nextNode();)if(Te(D.uponSanitizeShadowNode,G,null),Le(G,T),ft(G),Ee(G.content)&&wt(G.content),A(G)===tn.element){const je=C(G);Ee(je)&&(nn(je),wt(je))}Te(D.afterSanitizeShadowDOM,T,null)},nn=function(T){const G=[{node:T,shadow:null}];for(;G.length>0;){const Ce=G.pop();if(Ce.shadow){wt(Ce.shadow);continue}const je=Ce.node,Ze=A(je)===tn.element,yt=y(je);if(yt)for(let _t=yt.length-1;_t>=0;--_t)G.push({node:yt[_t],shadow:null});if(Ze){const _t=w?w(je):null;if(typeof _t=="string"&&Je(_t)==="template"){const Gt=je.content;Ee(Gt)&&G.push({node:Gt,shadow:null})}}if(Ze){const _t=C(je);Ee(_t)&&G.push({node:null,shadow:_t},{node:_t,shadow:null})}}};return n.sanitize=function(be){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=null,Ce=null,je=null,Re=null;if(Ge=!be,Ge&&(be="<!-->"),typeof be!="string"&&!Ue(be)&&(be=M0(be),typeof be!="string"))throw Hn("dirty is not a string, aborting");if(!n.isSupported)return be;qe?(se=He,q=dt):dn(T),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(se=en(se)),D.uponSanitizeAttribute.length>0&&(q=en(q)),n.removed=[];const Ze=re&&typeof be!="string"&&Ue(be);if(Ze){Dn(be);const Gt=k(be);if(typeof Gt=="string"){const Kt=Je(Gt);if(!se[Kt]||xe[Kt])throw Ot(be),Hn("root node is forbidden and cannot be sanitized in-place")}if(ye(be))throw Ot(be),Hn("root node is clobbered and cannot be sanitized in-place");try{nn(be)}catch(Kt){throw Ot(be),Kt}}else if(Ue(be))G=Jt("<!---->"),Ce=G.ownerDocument.importNode(be,!0),Ce.nodeType===tn.element&&Ce.nodeName==="BODY"||Ce.nodeName==="HTML"?G=Ce:G.appendChild(Ce),nn(Ce);else{if(!st&&!De&&!ze&&be.indexOf("<")===-1)return N&&Ae?j(be):be;if(G=Jt(be),!G)return st?null:Ae?E:""}G&&ot&&Lt(G.firstChild);const yt=Ze?be:G;try{const Gt=Ut(yt);for(;je=Gt.nextNode();)Le(je,yt),ft(je),Ee(je.content)&&wt(je.content)}catch(Gt){throw Ze&&(Ot(be),On(n.removed,Kt=>{Kt.element&&on(Kt.element)})),Gt}if(Ze)return On(n.removed,Gt=>{Gt.element&&on(Gt.element)}),De&&oe(be),be;if(st){if(De&&oe(G),ht)for(Re=U.call(G.ownerDocument);G.firstChild;)Re.appendChild(G.firstChild);else Re=G;return(q.shadowroot||q.shadowrootmode)&&(Re=F.call(r,Re,!0)),Re}let _t=ze?G.outerHTML:G.innerHTML;return ze&&se["!doctype"]&&G.ownerDocument&&G.ownerDocument.doctype&&G.ownerDocument.doctype.name&&Ft(W0,G.ownerDocument.doctype.name)&&(_t="<!DOCTYPE "+G.ownerDocument.doctype.name+`>
828
+ `+_t),De&&(_t=Ht(_t)),N&&Ae?j(_t):_t},n.setConfig=function(){let be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};dn(be),qe=!0,He=se,dt=q},n.clearConfig=function(){Nt=null,qe=!1,He=null,dt=null,N=S,E=""},n.isValidAttribute=function(be,T,G){Nt||dn({});const Ce=Je(be),je=Je(T);return Oe(Ce,je,G)},n.addHook=function(be,T){typeof T=="function"&&Yt(D,be)&&ma(D[be],T)},n.removeHook=function(be,T){if(Yt(D,be)){if(T!==void 0){const G=k0(D[be],T);return G===-1?void 0:N0(D[be],G,1)[0]}return Ss(D[be])}},n.removeHooks=function(be){Yt(D,be)&&(D[be]=[])},n.removeAllHooks=function(){D=Vs()},n}var Mr=Ws();const J0=/^(?:[a-z]+:)?\/\//i,Q0="__ihab_core_asset_base_url__";function eC(){return globalThis[Q0]??""}function Lr(e){const n=String(e||"").trim();if(!n)return"";if(J0.test(n)||n.startsWith("data:")||n.startsWith("blob:"))return n;const a=n.startsWith("/")?n:`/${n}`,r=eC();return r?`${r}${a}`:a}const qs="__ihab_core_storage_resolvers__";function ga(){return globalThis[qs]??null}function tC(e){globalThis[qs]=e}let Us=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
 
831
831
  \uC571 \uCD08\uAE30\uD654 \uC2DC\uC810(main.tsx \uB4F1)\uC5D0 \uC544\uB798\uC640 \uAC19\uC774 \uD55C \uBC88 \uD638\uCD9C\uD558\uC138\uC694:
@@ -844,20 +844,20 @@ 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 nC(e){tC(e)}function Gs(e,n){if(!e)return null;const a=ga();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function Ks(e){if(!e)return null;const n=ga();if(!n)throw new Us("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Ys(e){const n=ga();if(!n)throw new Us("downloadSound");return n.download(e)}function aC(){return ga()?.noiseBaseUrl??"/sounds/noise"}function Zs(){const e=Number(ga()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function rC(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 Xs="__ihab_core_tts_config__";function $r(){return globalThis[Xs]?.urlResolver??null}function oC(){return globalThis[Xs]?.fallbackUrlResolver??null}const sC="__ihab_core_pronunciation_resolver__";function iC(){return globalThis[sC]??null}let Sn=null;const ba=new WeakMap,Rr=new WeakMap,Pr=new WeakMap;let Js=!1;const Qs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function lC(){if(Js||typeof document>"u")return;Js=!0;const e=()=>{try{Sn&&Sn.state!=="running"&&Sn.resume()}catch{}};for(const n of["pointerdown","touchend","keydown"])document.addEventListener(n,e,{capture:!0,passive:!0})}function ei(){if(Sn)return Sn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Sn=new e,lC(),Sn):null}catch{return null}}function Fr(){try{Sn?.resume()}catch{}}function Ir(e,n){const a=ba.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=Qs(Rr.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 ba.set(n,l),l}catch{return null}}function za(e){if(!e)return Promise.resolve(null);const n=ba.get(e);if(n)return Promise.resolve(n.analyser);const a=ei();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Ir(a,e)?.analyser??null);const r=Pr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Ir(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Pr.delete(e)});return Pr.set(e,s),s}function uC(e){if(!e)return null;const n=ba.get(e);if(n)return n.analyser;const a=ei();return a?a.state==="running"?Ir(a,e)?.analyser??null:(za(e),null):null}function jn(e,n){const a=Qs(n);Rr.set(e,a);const r=ba.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 Va(e){return Rr.get(e)??e.volume}function cC(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 dC="__ihab_core_image_config__";function Jn(){return globalThis[dC]??null}const ti="word_image_existence_map_v1";let zn=null;const Wa=new Map;function pC(){if(zn)return zn;try{const e=typeof localStorage<"u"?localStorage.getItem(ti):null,n=e?JSON.parse(e):null;zn=n&&typeof n=="object"&&!Array.isArray(n)?n:{}}catch{zn={}}return zn}let Or=null;function mC(){Or||(Or=setTimeout(()=>{Or=null;try{typeof localStorage<"u"&&zn&&localStorage.setItem(ti,JSON.stringify(zn))}catch{}},200))}function hC(e,n){return`${e}_${n??1}`}async function ni(e,n){const a=pC(),r=hC(e,n);if(r in a)return a[r];if(Wa.has(r))return Wa.get(r);const s=Jn();if(!s)return!1;const i=s(e,n);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:rC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(Wa.delete(r),u===null?!1:(a[r]=u,mC(),u)));return Wa.set(r,l),l}const CC={\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"}},ai=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ri=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],fC=["","\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 ya(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 gC(e){const n=ya(e[0]||"");return n?ai[n.cho]:""}function bC(e){if(!e)return()=>!0;e=e.normalize("NFC");const n=[...e],a=l=>ai.includes(l),r=l=>ri.includes(l),s=n.map(l=>a(l)?"cho":r(l)?"jung":ya(l)?"syl":"other"),i=n.map(l=>ya(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 c=0;c+n.length<=u.length;c++){let d=!0;for(let p=0;p<n.length;p++){const m=u[c+p],h=s[p];if(h==="cho"){if(gC(m)!==n[p]){d=!1;break}}else if(h==="jung"){const b=ya(m);if(!b||ri[b.jung]!==n[p]){d=!1;break}}else{const b=i[p];if(b&&b.jong===0){const v=ya(m);if(!v||v.cho!==b.cho||v.jung!==b.jung){d=!1;break}}else if(m!==n[p]){d=!1;break}}}if(d)return!0}return!1}}const yC={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(yC).map(([e,n])=>[n.join(""),fC[Number(e)]]));const vC="word_pair_index_v2",xC="word_pair_index_sig_v2";let qa=null;function _C(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(vC),n=localStorage.getItem(xC);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function wC(){if(qa)return qa;const e=_C();return e?(qa=e.index,e.sig,qa):null}const Hr=/[ㄱ-ㅎ]/,BC=/[ㅏ-ㅣ]/;function oi(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||Hr.test(a)||BC.test(a))return a}return null}function AC(e){const n=oi(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Hr.test(n)?"\uC774":"\uAC00"}function kC(e){return`${e}${AC(e)}`}function NC(e){const n=oi(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Hr.test(n)?"\uC744":"\uB97C"}function DC(e){return`${e}${NC(e)}`}function EC(e,n,a){const r=e.slice(),[s]=r.splice(n,1);return r.splice(a,0,s),r}function va(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 SC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",n=typeof $t?.t=="function"?$t.t("common.unknownError",{defaultValue:e}):void 0;return typeof n=="string"&&n?n:e};function si(e,n){if(n===void 0&&(n=SC()),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 jC="__ihab_core_word_pool__";function ii(){return globalThis[jC]??null}const li=globalThis;function ui(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function TC(e){ui("time",()=>li.__ihabTrainingTimeLogger?.(e))}function MC(e){ui("completion",()=>li.__ihabTrainingCompletionLogger?.(e))}function Ua(e){if(typeof e=="string"){const n=e.trim();return n?Number.isNaN(new Date(n).getTime())?null:n:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const n=new Date(e);return Number.isNaN(n.getTime())?null:n.toISOString()}return null}function Zt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function LC(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 $C(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:Zt(r.contextCode)??Zt(r.itemId)??Zt(r.itemCode)??Zt(r.id),question:Zt(r.question)??Zt(r.q)??Zt(r.sentence)??Zt(r.text)??Zt(r.prompt)??Zt(r.word)??Zt(r.targetSyllable),answer:Zt(r.answer),selected:Zt(r.selectedText)??Zt(r.selected),correct:LC(r),shownAt:Ua(r.shownAt)??Ua(r.shown_at),answeredAt:Ua(r.answeredAt)??Ua(r.answered_at)}}):[]}const zr=globalThis;async function RC(){try{return await zr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ci(e){const n=a=>{};try{const a=zr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Ga(e){try{zr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function PC(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 FC="Asia/Seoul",IC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Vr(e){let n;if(e instanceof Date)n=e;else if(typeof e=="string"){const a=e.trim(),r=IC.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 OC=e=>Vr(e);function HC(e,n){const a=n.startsWith("ko")?"ko-KR":"en-US",r=OC(e);return r?r.toLocaleDateString(a,{timeZone:FC,year:"numeric",month:"short",day:"numeric"}):""}function xa(){return qr(new Date)}function Wr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:xa()}function Qn(){return VC(xa())}const zC=540*60*1e3;function di(e,n,a){return new Date(Date.UTC(e,n,a)-zC)}function VC(e){const[n,a,r]=e.split("-").map(Number);return new Date(n,(a||1)-1,r||1)}function qr(e){if(e==null||e==="")return"";const n=Vr(e);return n?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n):""}function pi(e,n){if(!e)return"";const a=Vr(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),c=Math.floor(u/7),d=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}):c<5?n("store.time.weeksAgo",{n:c}):u<365?n("store.time.monthsAgo",{n:Math.min(d,11)}):n("store.time.yearsAgo",{n:p})}function mi(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=n;if(!e)return i;const l=qr(e instanceof Date?e:String(e));if(!l)return i;const[u,c,d]=l.split("-"),p=r?c:String(Number(c)),m=r?d:String(Number(d));return`${u}${a}${p}${a}${m}${s?".":""}`}function ea(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function hi(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 Ur(e){return(e??0).toLocaleString("ko-KR")}const WC=[{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"}]}],qC=[{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 Ci(){return WC}function UC(){return qC}const GC=[],KC=[],YC=[],ZC=[];function XC(){return{LISTEN_IN_NOISE:GC,SHORT_STORY:KC,LONG_STORY:YC,ORDERING_SENTENCE:ZC}}const JC=[{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."}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function QC(e){return JC.map(n=>{const a=fi[n.key];return a?{...n,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:n})}let Ka=null,gi=null,bi=null;function ef(){const e=ii();if(e&&e.entries.length>0){const n=wC();if(Ka&&gi===e&&bi===n)return Ka;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 Ka=r,gi=e,bi=n,Ka}return[]}new Proxy([],{get(e,n){const a=ef(),r=a[n];return typeof r=="function"?r.bind(a):r}});const tf="0.267.0";function nf(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 af(e){if(typeof window>"u")return"";const n=(a,r)=>{typeof r.attrValue=="string"&&nf(r.attrValue)&&(r.keepAttr=!1)};Mr.addHook("uponSanitizeAttribute",n);try{return Mr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Mr.removeHook("uponSanitizeAttribute",n)}}function rf(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[u,c]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const d=e.split("/").pop();let p=e;d&&(e.startsWith("/")?p=Lr(e):/^(Logo|Symbol)/i.test(d)?p=Lr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!n)return;let d=!1;async function p(){try{let m=await fetch(n);m.ok||(m=await fetch(n));const h=m.headers.get("content-type")||"";if(d)return;if(h.includes("svg")){s("mask");return}if(h.startsWith("image/")){s("img");return}const b=await fetch(n);if(!b.ok)throw new Error("not ok");const v=await b.text();if(d)return;if(/^\s*<svg[\s>]/i.test(v)){const g=af(v);if(!g){s("none");return}l(g),s("inline");return}s("none")}catch{d||s("none")}}return p(),()=>{d=!0}},[n]),o.useEffect(()=>{let d=!1,p=null;return r==="mask"&&n&&fetch(n).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{d||(p=URL.createObjectURL(m),c(p))}).catch(()=>{d||s("img")}),()=>{d=!0,p&&URL.revokeObjectURL(p),c(null)}},[r,n]),{iconToUse:n,mode:r,svgText:i,blobUrl:u}}function Qe(e){const{icon:n,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:u,size:c}=e||{},d=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",b=typeof n=="string"?n:null,v=g0(b),{iconToUse:g,mode:y,svgText:_,blobUrl:C}=rf(b),w=(k,A={})=>t.jsx("span",{className:d,style:u,...A,children:k}),f=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,B=(k,A={})=>t.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:f?{...A.style,...f}:A.style});if(!n)return null;if(typeof n!="string")return w(n);if(n==="none")return w(t.jsx("span",{className:h,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 w(o.createElement(v,{className:h,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(y==="mask"){const k={"--icon-url":C?`url(${C})`:`url(${g})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return w(t.jsx("span",{className:m,style:k}),{"aria-hidden":"true"})}return y==="img"?w(B(g,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):y==="inline"?w(t.jsx("span",{className:h,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return B(Lr(n),{style:u,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,D=`<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 w(t.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:D}}),{"aria-hidden":"true"})}function yi(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 of({icon:e,title:n,message:a,action:r,className:s}){const{pending:i,press:l}=yi(r?.onClick);return t.jsxs("div",{className:Be("empty-state",s),children:[e&&t.jsx(Qe,{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(Qe,{icon:r.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function sf({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=ve.useTranslation(),{pending:u,press:c}=yi(r);return t.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[t.jsx(Qe,{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:c,disabled:u,"aria-busy":u||void 0,children:[t.jsx(Qe,{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 lf({icon:e,title:n,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:u=""}){const c=o.useId(),d=`${c}-title`,p=`${c}-desc`,m=`${c}-cta`,h=()=>{i||l?.()};return t.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${p} ${m}`,onClick:h,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),h())},className:Be("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(Qe,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{id:d,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(Qe,{icon:"arrow-right",size:18})})]})]})})}function uf({as:e="div",className:n="",children:a,storage:r,...s}){r&&nC({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=Be("ihabdevteam-core-scope",n);return t.jsx(e,{className:i,...s,children:a})}function Gr(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(hn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],u=i[i.length-1],c=document.activeElement,d=c===a;s.shiftKey&&(c===l||d)?(s.preventDefault(),u.focus()):!s.shiftKey&&c===u&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Kr=new WeakMap;function Yr(e,n){e&&Kr.set(e,n)}function Zr(e){let n=e;for(let a=0;n&&!n.isConnected&&a<10;a++){let r=n;for(;r&&!Kr.has(r);)r=r.parentElement;if(!r)return n;n=Kr.get(r)??null}return n}function vi(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 Ya(e,n,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(vi(n)&&!(e&&e.contains(n)))return n.focus(),n;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(c=>!(e&&e.contains(c))&&vi(c));let i=null,l=null;for(const c of s)r.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_PRECEDING?i=c:l||(l=c);const u=i??l;return u?.focus(),u}function cf({title:e="",lines:n=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=ve.useTranslation(),[c,d]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const g=p.current;g&&g.contains(document.activeElement)&&Ya(g),d(!0)},[]);if(c)return null;const h=`notice-box notice-box--${s} body-2 ${l}`.trim(),b=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:h,role:"note",children:[a.map((g,y)=>t.jsxs("div",{className:"notice-box__inner",children:[g.title?t.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,t.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?t.jsx("div",{children:g.lines.map((_,C)=>t.jsx("span",{className:"notice-box__line body-3",children:_},C))}):g.children??null})]},y)),b]});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((g,y)=>t.jsx("li",{className:"notice-box__line",children:g},y))}):r})]}):t.jsx("div",{className:"notice-box__inner",children:r});return t.jsxs("div",{ref:p,className:h,role:"note",children:[v,b]})}const ta=[];let Za=!1;function xi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const n=ta[ta.length-1];n&&(e.stopPropagation(),n())}function Vn(e){return ta.push(e),!Za&&typeof document<"u"&&(document.addEventListener("keydown",xi),Za=!0),()=>{const n=ta.lastIndexOf(e);n>=0&&ta.splice(n,1),ta.length===0&&Za&&typeof document<"u"&&(document.removeEventListener("keydown",xi),Za=!1)}}const _i=o.createContext(null);function df(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const wi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function pf(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 rs.useSyncExternalStore(n,()=>wi(e),()=>!1)}function mf(e){const[n,a]=o.useState(wi(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 hf=typeof rs.useSyncExternalStore=="function"?pf:mf;function rn(e){const n=o.useContext(_i),a=hf(e);return n&&typeof n.mobile=="boolean"&&df(e)?n.mobile:a}const Cf="(prefers-reduced-motion: reduce)";function Xr(){return rn(Cf)}function ln(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:u="",role:c="dialog",ariaLabel:d="",children:p,backdrop:m=!1,isMobilePopup:h=!1,useBorder:b=!0,header:v,focusOnOpen:g}=e||{},y=o.useRef(null),[_,C]=o.useState({position:"fixed",left:0,top:-9999}),[w,f]=o.useState(!1),[B,x]=o.useState("bottom"),[D,k]=o.useState(!1),[A,E]=o.useState(!1),j=!n&&!a,z=o.useCallback((U=!1)=>{if(A&&h)return;const R=a?a.getBoundingClientRect():n;if(!R||!y.current)return;const F=y.current,{offsetWidth:N,offsetHeight:I}=F,L=window.innerWidth,$=window.innerHeight,H=L-R.right,X=R.left,K=R.top,Y=$-R.bottom;let ae=0,le=0,se="top";if(K>=I+r)se="top",le=R.top-r-I,ae=R.left+R.width/2-N/2;else if(Y>=I+r)se="bottom",le=R.bottom+r,ae=R.left+R.width/2-N/2;else if(H>=N+r)se="right",ae=R.right+r,le=R.top+R.height/2-I/2;else if(X>=N+r)se="left",ae=R.left-r-N,le=R.top+R.height/2-I/2;else{const fe=Math.max(K,Y,H,X);fe===K?(se="top",le=R.top-r-I,ae=R.left+R.width/2-N/2):fe===Y?(se="bottom",le=R.bottom+r,ae=R.left+R.width/2-N/2):fe===H?(se="right",ae=R.right+r,le=R.top+R.height/2-I/2):(se="left",ae=R.left-r-N,le=R.top+R.height/2-I/2)}const ke=Number.isFinite(Number(s))?Number(s):8;ae=Math.min(Math.max(ae,ke),L-N-ke),le=Math.min(Math.max(le,ke),$-I-ke);const q=Math.round(ae),ne=Math.round(le);U&&y.current?(y.current.style.left=`${q}px`,y.current.style.top=`${ne}px`,y.current.dataset.placement=se):(x(se||B),C({position:"fixed",left:q,top:ne}),k(!0))},[A,h,a,n,r,s,B]);o.useLayoutEffect(()=>{if(j)return;if(A&&h){C({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}z();const U=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(U)},[n,a,r,p,s,j,A,h,z]),o.useEffect(()=>{if(j||A&&h||!y.current||typeof ResizeObserver>"u")return;const U=new ResizeObserver(()=>{n&&z()});return U.observe(y.current),()=>U.disconnect()},[n,p,s,j,A,h,z]),o.useEffect(()=>{if(j||A&&h)return;const U=()=>z(!0),R=F=>{if(!a&&i){const N=F.target;if(N&&y.current&&y.current.contains(N))return;try{if(N&&N.closest&&N.closest("[data-tooltip-ignore]"))return}catch{}O.current(!0);return}U()};return window.addEventListener("resize",U),document.addEventListener("scroll",R,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",U),document.removeEventListener("scroll",R,{capture:!0})}},[n,a,i,r,p,s,j,A,h,z]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const U=window.matchMedia("(max-width: 768px)"),R=()=>E(!!U.matches);R();try{U.addEventListener?U.addEventListener("change",R):U.addListener(R)}catch{try{U.addListener(R)}catch{}}return()=>{try{U.removeEventListener?U.removeEventListener("change",R):U.removeListener(R)}catch{}}},[]);const P=o.useRef(!1),W=o.useRef(null),S=Xr(),M=o.useCallback((U=!1)=>{if(i&&!(w||P.current)){if(P.current=!0,U){f(!0);try{i&&i()}catch{P.current=!1,f(!1)}return}f(!0),W.current=setTimeout(()=>{W.current=null;try{i&&i()}catch{P.current=!1,f(!1)}},S?0:200)}},[w,i,f,S]);o.useEffect(()=>()=>{W.current&&clearTimeout(W.current)},[]),o.useEffect(()=>{if(j)return;const U=N=>{const I=y.current;if(!I)return;const L=N.target;if(L&&!I.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},R=N=>{const I=y.current;if(!I)return;const L=N.target;if(L&&!I.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},F=N=>{if(N.key==="Tab"){const I=y.current;if(!I)return;const L=I.querySelectorAll(hn);if(!L||L.length===0)return;const $=L[0],H=L[L.length-1],X=document.activeElement;N.shiftKey?X===$&&(N.preventDefault(),H.focus()):X===H&&(N.preventDefault(),$.focus())}};return document.addEventListener("pointerdown",U,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",U,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",F)}},[i,l,M,j]);const O=o.useRef(M);o.useEffect(()=>{O.current=M});const Q=!!i;o.useEffect(()=>{if(!(j||!Q))return Vn(()=>O.current())},[j,Q]),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(j||g===!1||!D)return;const U=y.current;if(!U)return;const R=U.querySelector(hn);if(R)return te.current=document.activeElement,R.focus(),()=>{const F=te.current;te.current=null,F&&document.contains(F)&&F.focus()}},[j,g,D]),o.useEffect(()=>{c==="dialog"&&!d&&an("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.')},[c,d]);const V=t.jsxs("div",{ref:y,className:`tooltip-content ${j?"tooltip-content--inline":""} ${b?"tooltip-content--bordered":""} ${w?"is-closing":""} ${u} ${A&&h?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:j?{}:{..._,visibility:D?"visible":"hidden"},tabIndex:-1,"data-placement":B,"data-left":j?"":_.left,"data-top":j?"":_.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(j||typeof document>"u")return V;if(m||A&&h){const U=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&M(!0)}}),V]});return Qt.createPortal(U,document.body)}return Qt.createPortal(V,document.body)}function xn(e){const{anchorRect:n,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?t.jsx(ln,{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 Wn(e){const{t:n}=ve.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:u,offset:c=12,closeOnOutsideClick:d=!0}=e||{},p=(Array.isArray(s)?s:s?[s]:[]).map(m=>typeof m=="string"?{text:m}:m);return!p.length&&!r?null:t.jsx(ln,{anchorRect:a,offset:c,onClose:u,closeOnOutsideClick:d,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,h)=>t.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),m.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),t.jsx("span",{children:m.text})]},h))})]})})}function _a(e){const n=o.useRef(e);return o.useEffect(()=>{n.current=e}),n}let Jr=0,Bi=!1;function Ai(){Bi||typeof document>"u"||(Bi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Jr=Date.now())},!0),document.addEventListener("touchstart",()=>{Jr=Date.now()},{capture:!0,passive:!0}))}Ai();function na(e){return!!e&&e.pointerType==="touch"}function aa(e=1e3){return Ai(),Date.now()-Jr<e}function Qr(e,n,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=_a(e),l=_a(n),u=o.useRef(null),c=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const h=m,b=m.target,v=a.current,g=!!(b&&v&&v.contains(b));if(h.pointerType!=="touch"){g&&(u.current=null);return}if(g){u.current=i.current;return}u.current=null,i.current&&!(b&&b.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const d=o.useCallback(p=>{const m=u.current;return m===null?!1:(u.current=null,c.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 h=null;const b=y=>{const _=y.changedTouches?.[0];if(!_)return!1;const C=p.getBoundingClientRect();return _.clientX>=C.left&&_.clientX<=C.right&&_.clientY>=C.top&&_.clientY<=C.bottom},v=y=>{h=b(y)?i.current:null},g=y=>{const _=h;h=null,!(_===null||Date.now()-c.current<700||!b(y))&&(u.current=null,c.current=Date.now(),l.current(!_,p))};return m.addEventListener("touchstart",v,{passive:!0}),m.addEventListener("touchend",g),()=>{m.removeEventListener("touchstart",v),m.removeEventListener("touchend",g)}},[r,s,a,i,l]),{touchPress:d}}function ff(e,n){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:u,icon:c,rightIcon:d,label:p,count:m,subLabel:h,children:b,ariaLabel:v,variant:g="default",align:y="center",nowrap:_=!1,selected:C,toggleable:w=!1,ariaExpanded:f,ariaControls:B,disabled:x=!1,useLabel:D=!0,useBorder:k=!0,useBG:A=!0,useDisabledCovered:E=!1,useDisabledInvisible:j=!1,width:z,minWidth:P,onClick:W,onDisabledClick:S,showTooltipInfo:M=!1,tooltipInfoText:O=null,tooltipDescription:Q=null,tooltipOnly:te=!1,iconSize:V="medium",iconColor:U,shape:R="rounded",color:F,className:N,...I}=e,L=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),$=L.match(/^\d+$/)?`button${L}`:`button-${L}`,H=Number(a),X=!isNaN(H)&&H<40?"button-2":"button-1",K=p??b,Y=x||!!I.disabled,ae=Y?E?"disabled-covered":j?"disabled-invisibled":"disabled":g,le=ae?`button--variant-${ae}`:"",se=y?`button--align-${y}`:"",ke=_?"button--nowrap":"",q=R?`button--shape-${R}`:"",ne=typeof U=="string"&&U.startsWith("--")?`var(${U})`:U,fe={...z?{width:typeof z=="number"?`${z}px`:z}:{},...P?{minWidth:typeof P=="number"?`${P}px`:P}:{},...k?{}:{"--button-border":Y?"0":"1px solid transparent"},...ne?{"--button-icon-color":ne}:{},...F?{"--color-main":F}:{}},xe=D===!1?"":K,he=Array.isArray(xe)?xe.length>0:!!xe,ie=!!d,ce=r??(he||c||ie?"bar":"dot"),ue=`${$}--${ce}`,ge=o.useRef(null);o.useEffect(()=>{!Oa||s!==void 0||ge.current?.closest("form")&&an(`button-in-form:${typeof K=="string"?K:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof K=="string"&&K?` \uB2E8\uCD94: ${K}`:""))},[s,K]);const Ee=o.useRef(n);Ee.current=n;const Ne=o.useCallback(Ie=>{ge.current=Ie;const pt=Ee.current;typeof pt=="function"?pt(Ie):pt&&(pt.current=Ie)},[]),Ke=o.useRef(Y),[ze,qe]=o.useState(!!C),[He,ct]=o.useState(!1),[ot,st]=o.useState(null),ht=o.useCallback(()=>ct(!1),[]),[Ae,Fe]=o.useState(!1),we=o.useId();o.useEffect(()=>{typeof C=="boolean"&&qe(C)},[C]),o.useEffect(()=>{if(Ke.current&&!Y&&ge.current){const Ie=ge.current;let pt=!1;try{pt=Ie.matches(":focus:not(:focus-visible)")}catch{pt=!1}pt&&Ie.blur(),Ie.style.pointerEvents="none";const St=requestAnimationFrame(()=>{requestAnimationFrame(()=>{ge.current&&(ge.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(St)}Ke.current=Y},[Y]);const at=typeof C=="boolean"?!!C:ze,Z=typeof f=="boolean"?void 0:w||typeof C=="boolean"?at?"true":"false":I["aria-pressed"],re=Be("button",$,ue,le,se,ke,q,at?"is-selected":null,A?null:"button--no-bg",te?"button--tooltip-only":null,N),pe=`button__icon button__icon--${V}`,Se=Array.isArray(h)?h:h!==void 0?[h]:[],it=()=>{if(Array.isArray(xe))return xe.map((pt,St)=>{const Pt=Se[St];return t.jsxs("span",{className:`button__label-text${Pt!==void 0?" button__label-text--has-sub":""}`,children:[pt,Pt!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Pt})]},St)});const Ie=h!==void 0;return t.jsxs("span",{className:`button__label-text${Ie?" button__label-text--has-sub":""}`,children:[xe,m!=null&&t.jsx("span",{className:"button__count",children:m}),Ie&&t.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Ye=Ie=>{typeof C!="boolean"&&!w&&qe(!1),Ie.currentTarget.blur()},xt=Ie=>{Y||(typeof I.onMouseLeave=="function"&&I.onMouseLeave(Ie),Ye(Ie))},bt=Ie=>{if(te&&et&&tt.touchPress(Ie.currentTarget),Y){et&&tt.touchPress(Ie.currentTarget),Ie.preventDefault(),S?.(Ie);return}typeof C!="boolean"&&w&&qe(pt=>!pt),W?.(Ie)},dt=o.useCallback(()=>{(M||Q)&&(ct(!0),st(ge.current?.getBoundingClientRect()??null))},[M,Q]),rt=o.useCallback(()=>{(M||Q)&&(ct(!1),st(null))},[M,Q]),et=!!(M||Q),tt=Qr(He,Ie=>{Ie?dt():rt()},ge,{enabled:et&&(Y||te),fallbackOnParent:et&&Y}),$e={...I};delete $e.disabled,delete $e.className,delete $e.faded,delete $e.useFaded,delete $e.loading,delete $e.onMouseLeave,delete $e.onPointerEnter,delete $e.onPointerLeave,delete $e.onPointerUp,delete $e.onFocus,delete $e.onBlur,Y&&(Object.keys($e).forEach(Ie=>{/^on[A-Z]/.test(Ie)&&typeof $e[Ie]=="function"&&delete $e[Ie]}),$e["aria-disabled"]="true");const Ge=(typeof M=="string"?M:null)??(typeof O=="string"?O:null)??(typeof v=="string"?v:null)??(typeof K=="string"?K:null)??void 0,Pe=typeof v=="string"?v:typeof K=="string"?K:Ge,Ct=Q?[Q.title,...Q.items??[]].filter(Boolean).join(". "):M&&Ge&&Ge!==Pe?Ge:"",Mt=[typeof I["aria-describedby"]=="string"?I["aria-describedby"]:void 0,Ct?we:null].filter(Boolean).join(" ")||void 0,Et=(Ie,pt)=>t.jsx(Qe,{icon:Ie,label:pt??Pe,className:pe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),lt=()=>ce==="dot"?t.jsxs(t.Fragment,{children:[Et(c),he&&t.jsx("span",{className:`button__label ${X}`,children:it()})]}):y==="center"&&c?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Et(c)}),he&&t.jsx("span",{className:`button__label ${X}`,children:it()})]}),ie&&t.jsx("span",{className:"button__right",children:Et(d)})]}):t.jsxs(t.Fragment,{children:[c&&t.jsx("span",{className:"button__left",children:Et(c,v??K)}),he&&t.jsx("span",{className:`button__label ${X}`,children:it()}),ie&&t.jsx("span",{className:"button__right",children:Et(d)})]}),gt=!!i&&!Y;return t.jsxs(t.Fragment,{children:[t.jsxs(gt?"a":"button",{...$e,ref:Ne,...gt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s??"button",disabled:Y&&!S&&!Ae},className:re,"aria-pressed":Z,"aria-expanded":typeof f=="boolean"?f:I["aria-expanded"],"aria-controls":B??I["aria-controls"],"aria-label":Pe,"aria-disabled":Y&&(gt||S||Ae)?!0:void 0,"aria-describedby":Mt,style:fe,onClick:bt,onMouseLeave:xt,onPointerEnter:Ie=>{na(Ie)||dt(),!Y&&typeof I.onPointerEnter=="function"&&I.onPointerEnter(Ie)},onPointerLeave:Ie=>{na(Ie)||rt(),!Y&&typeof I.onPointerLeave=="function"&&I.onPointerLeave(Ie)},onPointerUp:Ie=>{Y&&et&&tt.touchPress(Ie.currentTarget),!Y&&typeof I.onPointerUp=="function"&&I.onPointerUp(Ie)},onFocus:Ie=>{Fe(!0),aa()||dt(),!Y&&typeof I.onFocus=="function"&&I.onFocus(Ie)},onBlur:Ie=>{Fe(!1),Y||Ye(Ie),rt(),!Y&&typeof I.onBlur=="function"&&I.onBlur(Ie)},children:[lt(),Ct?t.jsx("span",{id:we,hidden:!0,"aria-label":Ct}):null]}),He&&Q?t.jsx(Wn,{anchorRect:ot,title:Q.title,items:Q.items,onClose:ht}):He&&Ge?t.jsx(xn,{anchorRect:ot,text:Ge,onClose:ht}):null]})}const me=o.forwardRef(ff);me.displayName="Button";var gf={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",collapseFor:"{{name}} \uC811\uAE30",expandFor:"{{name}} \uD3BC\uCE58\uAE30",sortFor:"{{name}} \uC815\uB82C",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."},bf={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",statusCount:"{{label}} {{count}}\uAC74"},yf={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"}},vf={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},xf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},_f={selected:"\uC120\uD0DD\uB428"},wf={placeholder:"\uC120\uD0DD"},Bf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},Af={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"},kf={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"},Nf={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."}}},Df={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."}},Ef={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"}}},Sf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},jf={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",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"}},Tf={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"},Mf={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"}},Lf={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"}}}},$f={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"}},Rf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Pf={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"}},Ff={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."}},If={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Of={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"},Hf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},zf={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",viewLabel:"\uBCF4\uAE30 \uBC29\uC2DD",sortLabel:"\uC815\uB82C",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"}},publisherFilter:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \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, \uC790\uD310\uC73C\uB85C\uB294 \uCE78\uC5D0 \uCD08\uC810\uC774 \uAC00\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"}},Vf={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"}},Wf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},qf={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"}},Uf={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"}},Gf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Kf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Yf={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"}},Zf={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"}},Xf={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",countLabel:"\uC74C\uC18C \uAC1C\uC218",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."]},Jf={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"}},Qf={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
847
+ `),this.name="StorageNotConfiguredError"}};function nC(e){tC(e)}function Gs(e,n){if(!e)return null;const a=ga();return a?.resolvePath?a.resolvePath(e,n):n?`${n}/${e}.mp3`:null}async function Ks(e){if(!e)return null;const n=ga();if(!n)throw new Us("getSignedOrPublicUrl");try{return await n.resolveUrl(e)}catch{return null}}async function Ys(e){const n=ga();if(!n)throw new Us("downloadSound");return n.download(e)}function aC(){return ga()?.noiseBaseUrl??"/sounds/noise"}function Zs(){const e=Number(ga()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function rC(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 Xs="__ihab_core_tts_config__";function $r(){return globalThis[Xs]?.urlResolver??null}function oC(){return globalThis[Xs]?.fallbackUrlResolver??null}const sC="__ihab_core_pronunciation_resolver__";function iC(){return globalThis[sC]??null}let Sn=null;const ba=new WeakMap,Rr=new WeakMap,Pr=new WeakMap;let Js=!1;const Qs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function lC(){if(Js||typeof document>"u")return;Js=!0;const e=()=>{try{Sn&&Sn.state!=="running"&&Sn.resume()}catch{}};for(const n of["pointerdown","touchend","keydown"])document.addEventListener(n,e,{capture:!0,passive:!0})}function ei(){if(Sn)return Sn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Sn=new e,lC(),Sn):null}catch{return null}}function Ir(){try{Sn?.resume()}catch{}}function Fr(e,n){const a=ba.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=Qs(Rr.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 ba.set(n,l),l}catch{return null}}function za(e){if(!e)return Promise.resolve(null);const n=ba.get(e);if(n)return Promise.resolve(n.analyser);const a=ei();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Fr(a,e)?.analyser??null);const r=Pr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Fr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Pr.delete(e)});return Pr.set(e,s),s}function uC(e){if(!e)return null;const n=ba.get(e);if(n)return n.analyser;const a=ei();return a?a.state==="running"?Fr(a,e)?.analyser??null:(za(e),null):null}function jn(e,n){const a=Qs(n);Rr.set(e,a);const r=ba.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 Va(e){return Rr.get(e)??e.volume}function cC(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 dC="__ihab_core_image_config__";function Jn(){return globalThis[dC]??null}const ti="word_image_existence_map_v1";let zn=null;const Wa=new Map;function pC(){if(zn)return zn;try{const e=typeof localStorage<"u"?localStorage.getItem(ti):null,n=e?JSON.parse(e):null;zn=n&&typeof n=="object"&&!Array.isArray(n)?n:{}}catch{zn={}}return zn}let Or=null;function mC(){Or||(Or=setTimeout(()=>{Or=null;try{typeof localStorage<"u"&&zn&&localStorage.setItem(ti,JSON.stringify(zn))}catch{}},200))}function hC(e,n){return`${e}_${n??1}`}async function ni(e,n){const a=pC(),r=hC(e,n);if(r in a)return a[r];if(Wa.has(r))return Wa.get(r);const s=Jn();if(!s)return!1;const i=s(e,n);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:rC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(Wa.delete(r),u===null?!1:(a[r]=u,mC(),u)));return Wa.set(r,l),l}const CC={\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"}},ai=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ri=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],fC=["","\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 ya(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 gC(e){const n=ya(e[0]||"");return n?ai[n.cho]:""}function bC(e){if(!e)return()=>!0;e=e.normalize("NFC");const n=[...e],a=l=>ai.includes(l),r=l=>ri.includes(l),s=n.map(l=>a(l)?"cho":r(l)?"jung":ya(l)?"syl":"other"),i=n.map(l=>ya(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 c=0;c+n.length<=u.length;c++){let d=!0;for(let m=0;m<n.length;m++){const p=u[c+m],h=s[m];if(h==="cho"){if(gC(p)!==n[m]){d=!1;break}}else if(h==="jung"){const b=ya(p);if(!b||ri[b.jung]!==n[m]){d=!1;break}}else{const b=i[m];if(b&&b.jong===0){const v=ya(p);if(!v||v.cho!==b.cho||v.jung!==b.jung){d=!1;break}}else if(p!==n[m]){d=!1;break}}}if(d)return!0}return!1}}const yC={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(yC).map(([e,n])=>[n.join(""),fC[Number(e)]]));const vC="word_pair_index_v2",xC="word_pair_index_sig_v2";let qa=null;function _C(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(vC),n=localStorage.getItem(xC);return!e||!n?null:{index:JSON.parse(e),sig:n}}catch{return null}}function wC(){if(qa)return qa;const e=_C();return e?(qa=e.index,e.sig,qa):null}const Hr=/[ㄱ-ㅎ]/,BC=/[ㅏ-ㅣ]/;function oi(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||Hr.test(a)||BC.test(a))return a}return null}function AC(e){const n=oi(e);if(!n)return"\uAC00";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Hr.test(n)?"\uC774":"\uAC00"}function kC(e){return`${e}${AC(e)}`}function NC(e){const n=oi(e);if(!n)return"\uB97C";const a=n.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Hr.test(n)?"\uC744":"\uB97C"}function DC(e){return`${e}${NC(e)}`}function EC(e,n,a){const r=e.slice(),[s]=r.splice(n,1);return r.splice(a,0,s),r}function va(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 SC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",n=typeof $t?.t=="function"?$t.t("common.unknownError",{defaultValue:e}):void 0;return typeof n=="string"&&n?n:e};function si(e,n){if(n===void 0&&(n=SC()),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 jC="__ihab_core_word_pool__";function ii(){return globalThis[jC]??null}const li=globalThis;function ui(e,n){const a=r=>{};try{const r=n();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function TC(e){ui("time",()=>li.__ihabTrainingTimeLogger?.(e))}function MC(e){ui("completion",()=>li.__ihabTrainingCompletionLogger?.(e))}function Ua(e){if(typeof e=="string"){const n=e.trim();return n?Number.isNaN(new Date(n).getTime())?null:n:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const n=new Date(e);return Number.isNaN(n.getTime())?null:n.toISOString()}return null}function Zt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function LC(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 $C(e){return Array.isArray(e)?e.map((n,a)=>{const r=n??{};return{index:a,itemId:Zt(r.contextCode)??Zt(r.itemId)??Zt(r.itemCode)??Zt(r.id),question:Zt(r.question)??Zt(r.q)??Zt(r.sentence)??Zt(r.text)??Zt(r.prompt)??Zt(r.word)??Zt(r.targetSyllable),answer:Zt(r.answer),selected:Zt(r.selectedText)??Zt(r.selected),correct:LC(r),shownAt:Ua(r.shownAt)??Ua(r.shown_at),answeredAt:Ua(r.answeredAt)??Ua(r.answered_at)}}):[]}const zr=globalThis;async function RC(){try{return await zr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ci(e){const n=a=>{};try{const a=zr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(n)}catch(a){n(a)}}function Ga(e){try{zr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function PC(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 IC="Asia/Seoul",FC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Vr(e){let n;if(e instanceof Date)n=e;else if(typeof e=="string"){const a=e.trim(),r=FC.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 OC=e=>Vr(e);function HC(e,n){const a=n.startsWith("ko")?"ko-KR":"en-US",r=OC(e);return r?r.toLocaleDateString(a,{timeZone:IC,year:"numeric",month:"short",day:"numeric"}):""}function xa(){return qr(new Date)}function Wr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:xa()}function Qn(){return VC(xa())}const zC=540*60*1e3;function di(e,n,a){return new Date(Date.UTC(e,n,a)-zC)}function VC(e){const[n,a,r]=e.split("-").map(Number);return new Date(n,(a||1)-1,r||1)}function qr(e){if(e==null||e==="")return"";const n=Vr(e);return n?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(n):""}function pi(e,n){if(!e)return"";const a=Vr(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),c=Math.floor(u/7),d=Math.floor(u/30),m=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}):c<5?n("store.time.weeksAgo",{n:c}):u<365?n("store.time.monthsAgo",{n:Math.min(d,11)}):n("store.time.yearsAgo",{n:m})}function mi(e,n={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=n;if(!e)return i;const l=qr(e instanceof Date?e:String(e));if(!l)return i;const[u,c,d]=l.split("-"),m=r?c:String(Number(c)),p=r?d:String(Number(d));return`${u}${a}${m}${a}${p}${s?".":""}`}function ea(e){if(!e)return e;const n=e.trim();return/^[₩$]/.test(n)?n:/원\s*$/.test(n)?"\u20A9"+n.replace(/\s*원\s*$/,"").trim():n}function hi(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 Ur(e){return(e??0).toLocaleString("ko-KR")}const WC=[{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"}]}],qC=[{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 Ci(){return WC}function UC(){return qC}const GC=[],KC=[],YC=[],ZC=[];function XC(){return{LISTEN_IN_NOISE:GC,SHORT_STORY:KC,LONG_STORY:YC,ORDERING_SENTENCE:ZC}}const JC=[{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."}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function QC(e){return JC.map(n=>{const a=fi[n.key];return a?{...n,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:n})}let Ka=null,gi=null,bi=null;function ef(){const e=ii();if(e&&e.entries.length>0){const n=wC();if(Ka&&gi===e&&bi===n)return Ka;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 Ka=r,gi=e,bi=n,Ka}return[]}new Proxy([],{get(e,n){const a=ef(),r=a[n];return typeof r=="function"?r.bind(a):r}});const tf="0.269.0";function nf(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 af(e){if(typeof window>"u")return"";const n=(a,r)=>{typeof r.attrValue=="string"&&nf(r.attrValue)&&(r.keepAttr=!1)};Mr.addHook("uponSanitizeAttribute",n);try{return Mr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Mr.removeHook("uponSanitizeAttribute",n)}}function rf(e){const[n,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[u,c]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const d=e.split("/").pop();let m=e;d&&(e.startsWith("/")?m=Lr(e):/^(Logo|Symbol)/i.test(d)?m=Lr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),m=e)),s(null),l(null),a(m)},[e]),o.useEffect(()=>{if(!n)return;let d=!1;async function m(){try{let p=await fetch(n);p.ok||(p=await fetch(n));const h=p.headers.get("content-type")||"";if(d)return;if(h.includes("svg")){s("mask");return}if(h.startsWith("image/")){s("img");return}const b=await fetch(n);if(!b.ok)throw new Error("not ok");const v=await b.text();if(d)return;if(/^\s*<svg[\s>]/i.test(v)){const f=af(v);if(!f){s("none");return}l(f),s("inline");return}s("none")}catch{d||s("none")}}return m(),()=>{d=!0}},[n]),o.useEffect(()=>{let d=!1,m=null;return r==="mask"&&n&&fetch(n).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(m=URL.createObjectURL(p),c(m))}).catch(()=>{d||s("img")}),()=>{d=!0,m&&URL.revokeObjectURL(m),c(null)}},[r,n]),{iconToUse:n,mode:r,svgText:i,blobUrl:u}}function Qe(e){const{icon:n,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:u,size:c}=e||{},d=r??"iconRenderer-icon",m=s??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",b=typeof n=="string"?n:null,v=g0(b),{iconToUse:f,mode:y,svgText:_,blobUrl:C}=rf(b),B=(k,N={})=>t.jsx("span",{className:d,style:u,...N,children:k}),g=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,w=(k,N={})=>t.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:m,...N,style:g?{...N.style,...g}:N.style});if(!n)return null;if(typeof n!="string")return B(n);if(n==="none")return B(t.jsx("span",{className:h,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 B(o.createElement(v,{className:h,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(f&&f.endsWith(".svg")){if(y==="mask"){const k={"--icon-url":C?`url(${C})`:`url(${f})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return B(t.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return y==="img"?B(w(f,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):y==="inline"?B(t.jsx("span",{className:h,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):B(null,{"aria-hidden":"true"})}if(n.startsWith("/")||n.includes("/assets/")||n.match(/\.(png|jpg|jpeg|webp|gif)$/i))return w(Lr(n),{style:u,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,A=`<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 B(t.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:A}}),{"aria-hidden":"true"})}function yi(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 of({icon:e,title:n,message:a,action:r,className:s}){const{pending:i,press:l}=yi(r?.onClick);return t.jsxs("div",{className:Be("empty-state",s),children:[e&&t.jsx(Qe,{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(Qe,{icon:r.icon,className:"button__icon"}),t.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function sf({message:e,hint:n,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=ve.useTranslation(),{pending:u,press:c}=yi(r);return t.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[t.jsx(Qe,{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:c,disabled:u,"aria-busy":u||void 0,children:[t.jsx(Qe,{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 lf({icon:e,title:n,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:u=""}){const c=o.useId(),d=`${c}-title`,m=`${c}-desc`,p=`${c}-cta`,h=()=>{i||l?.()};return t.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${m} ${p}`,onClick:h,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),h())},className:Be("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(Qe,{icon:e,size:34})}),t.jsxs("div",{className:"action-card__text",children:[t.jsx("h2",{id:d,className:"action-card__title",children:n}),t.jsx("p",{id:m,className:"action-card__desc",children:a})]}),t.jsxs("div",{className:"action-card__cta",children:[t.jsx("span",{id:p,children:r}),t.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:t.jsx(Qe,{icon:"arrow-right",size:18})})]})]})})}function uf({as:e="div",className:n="",children:a,storage:r,...s}){r&&nC({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=Be("ihabdevteam-core-scope",n);return t.jsx(e,{className:i,...s,children:a})}function Gr(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(hn)).filter(m=>!m.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],u=i[i.length-1],c=document.activeElement,d=c===a;s.shiftKey&&(c===l||d)?(s.preventDefault(),u.focus()):!s.shiftKey&&c===u&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,n])}const hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Kr=new WeakMap;function Yr(e,n){e&&Kr.set(e,n)}function Zr(e){let n=e;for(let a=0;n&&!n.isConnected&&a<10;a++){let r=n;for(;r&&!Kr.has(r);)r=r.parentElement;if(!r)return n;n=Kr.get(r)??null}return n}function vi(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 Ya(e,n,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(vi(n)&&!(e&&e.contains(n)))return n.focus(),n;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(c=>!(e&&e.contains(c))&&vi(c));let i=null,l=null;for(const c of s)r.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_PRECEDING?i=c:l||(l=c);const u=i??l;return u?.focus(),u}function cf({title:e="",lines:n=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=ve.useTranslation(),[c,d]=o.useState(!1),m=o.useRef(null),p=o.useCallback(()=>{const f=m.current;f&&f.contains(document.activeElement)&&Ya(f),d(!0)},[]);if(c)return null;const h=`notice-box notice-box--${s} body-2 ${l}`.trim(),b=i&&t.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return t.jsxs("div",{className:h,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((_,C)=>t.jsx("span",{className:"notice-box__line body-3",children:_},C))}):f.children??null})]},y)),b]});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:m,className:h,role:"note",children:[v,b]})}const ta=[];let Za=!1;function xi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const n=ta[ta.length-1];n&&(e.stopPropagation(),n())}function Vn(e){return ta.push(e),!Za&&typeof document<"u"&&(document.addEventListener("keydown",xi),Za=!0),()=>{const n=ta.lastIndexOf(e);n>=0&&ta.splice(n,1),ta.length===0&&Za&&typeof document<"u"&&(document.removeEventListener("keydown",xi),Za=!1)}}const _i=o.createContext(null);function df(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const wi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function pf(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 rs.useSyncExternalStore(n,()=>wi(e),()=>!1)}function mf(e){const[n,a]=o.useState(wi(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 hf=typeof rs.useSyncExternalStore=="function"?pf:mf;function rn(e){const n=o.useContext(_i),a=hf(e);return n&&typeof n.mobile=="boolean"&&df(e)?n.mobile:a}const Cf="(prefers-reduced-motion: reduce)";function Xr(){return rn(Cf)}function ln(e){const{anchorRect:n,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:u="",role:c="dialog",ariaLabel:d="",children:m,backdrop:p=!1,isMobilePopup:h=!1,useBorder:b=!0,header:v,focusOnOpen:f}=e||{},y=o.useRef(null),[_,C]=o.useState({position:"fixed",left:0,top:-9999}),[B,g]=o.useState(!1),[w,x]=o.useState("bottom"),[A,k]=o.useState(!1),[N,E]=o.useState(!1),S=!n&&!a,I=o.useCallback((U=!1)=>{if(N&&h)return;const P=a?a.getBoundingClientRect():n;if(!P||!y.current)return;const F=y.current,{offsetWidth:D,offsetHeight:O}=F,L=window.innerWidth,R=window.innerHeight,z=L-P.right,X=P.left,K=P.top,Y=R-P.bottom;let ae=0,le=0,se="top";if(K>=O+r)se="top",le=P.top-r-O,ae=P.left+P.width/2-D/2;else if(Y>=O+r)se="bottom",le=P.bottom+r,ae=P.left+P.width/2-D/2;else if(z>=D+r)se="right",ae=P.right+r,le=P.top+P.height/2-O/2;else if(X>=D+r)se="left",ae=P.left-r-D,le=P.top+P.height/2-O/2;else{const fe=Math.max(K,Y,z,X);fe===K?(se="top",le=P.top-r-O,ae=P.left+P.width/2-D/2):fe===Y?(se="bottom",le=P.bottom+r,ae=P.left+P.width/2-D/2):fe===z?(se="right",ae=P.right+r,le=P.top+P.height/2-O/2):(se="left",ae=P.left-r-D,le=P.top+P.height/2-O/2)}const ke=Number.isFinite(Number(s))?Number(s):8;ae=Math.min(Math.max(ae,ke),L-D-ke),le=Math.min(Math.max(le,ke),R-O-ke);const q=Math.round(ae),ne=Math.round(le);U&&y.current?(y.current.style.left=`${q}px`,y.current.style.top=`${ne}px`,y.current.dataset.placement=se):(x(se||w),C({position:"fixed",left:q,top:ne}),k(!0))},[N,h,a,n,r,s,w]);o.useLayoutEffect(()=>{if(S)return;if(N&&h){C({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}I();const U=requestAnimationFrame(()=>I());return()=>cancelAnimationFrame(U)},[n,a,r,m,s,S,N,h,I]),o.useEffect(()=>{if(S||N&&h||!y.current||typeof ResizeObserver>"u")return;const U=new ResizeObserver(()=>{n&&I()});return U.observe(y.current),()=>U.disconnect()},[n,m,s,S,N,h,I]),o.useEffect(()=>{if(S||N&&h)return;const U=()=>I(!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{}H.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,m,s,S,N,h,I]),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 $=o.useRef(!1),W=o.useRef(null),j=Xr(),M=o.useCallback((U=!1)=>{if(i&&!(B||$.current)){if($.current=!0,U){g(!0);try{i&&i()}catch{$.current=!1,g(!1)}return}g(!0),W.current=setTimeout(()=>{W.current=null;try{i&&i()}catch{$.current=!1,g(!1)}},j?0:200)}},[B,i,g,j]);o.useEffect(()=>()=>{W.current&&clearTimeout(W.current)},[]),o.useEffect(()=>{if(S)return;const U=D=>{const O=y.current;if(!O)return;const L=D.target;if(L&&!O.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},P=D=>{const O=y.current;if(!O)return;const L=D.target;if(L&&!O.contains(L)){try{if(L.closest&&L.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},F=D=>{if(D.key==="Tab"){const O=y.current;if(!O)return;const L=O.querySelectorAll(hn);if(!L||L.length===0)return;const R=L[0],z=L[L.length-1],X=document.activeElement;D.shiftKey?X===R&&(D.preventDefault(),z.focus()):X===z&&(D.preventDefault(),R.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 H=o.useRef(M);o.useEffect(()=>{H.current=M});const Q=!!i;o.useEffect(()=>{if(!(S||!Q))return Vn(()=>H.current())},[S,Q]),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||!A)return;const U=y.current;if(!U)return;const P=U.querySelector(hn);if(P)return te.current=document.activeElement,P.focus(),()=>{const F=te.current;te.current=null,F&&document.contains(F)&&F.focus()}},[S,f,A]),o.useEffect(()=>{c==="dialog"&&!d&&an("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.')},[c,d]);const V=t.jsxs("div",{ref:y,className:`tooltip-content ${S?"tooltip-content--inline":""} ${b?"tooltip-content--bordered":""} ${B?"is-closing":""} ${u} ${N&&h?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:S?{}:{..._,visibility:A?"visible":"hidden"},tabIndex:-1,"data-placement":w,"data-left":S?"":_.left,"data-top":S?"":_.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}),m]});if(S||typeof document>"u")return V;if(p||N&&h){const U=t.jsxs("div",{className:"tooltip-portal",children:[t.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&M(!0)}}),V]});return Qt.createPortal(U,document.body)}return Qt.createPortal(V,document.body)}function xn(e){const{anchorRect:n,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?t.jsx(ln,{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 Wn(e){const{t:n}=ve.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:u,offset:c=12,closeOnOutsideClick:d=!0}=e||{},m=(Array.isArray(s)?s:s?[s]:[]).map(p=>typeof p=="string"?{text:p}:p);return!m.length&&!r?null:t.jsx(ln,{anchorRect:a,offset:c,onClose:u,closeOnOutsideClick:d,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:m.map((p,h)=>t.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[l&&m.length>1&&t.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),p.color&&t.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),t.jsx("span",{children:p.text})]},h))})]})})}function _a(e){const n=o.useRef(e);return o.useEffect(()=>{n.current=e}),n}let Jr=0,Bi=!1;function Ai(){Bi||typeof document>"u"||(Bi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Jr=Date.now())},!0),document.addEventListener("touchstart",()=>{Jr=Date.now()},{capture:!0,passive:!0}))}Ai();function na(e){return!!e&&e.pointerType==="touch"}function aa(e=1e3){return Ai(),Date.now()-Jr<e}function Qr(e,n,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=_a(e),l=_a(n),u=o.useRef(null),c=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const m=p=>{const h=p,b=p.target,v=a.current,f=!!(b&&v&&v.contains(b));if(h.pointerType!=="touch"){f&&(u.current=null);return}if(f){u.current=i.current;return}u.current=null,i.current&&!(b&&b.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",m,!0),()=>document.removeEventListener("pointerdown",m,!0)},[r,a,i,l]);const d=o.useCallback(m=>{const p=u.current;return p===null?!1:(u.current=null,c.current=Date.now(),l.current(!p,m??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const m=a.current,p=m?.parentElement;if(!m||!p)return;let h=null;const b=y=>{const _=y.changedTouches?.[0];if(!_)return!1;const C=m.getBoundingClientRect();return _.clientX>=C.left&&_.clientX<=C.right&&_.clientY>=C.top&&_.clientY<=C.bottom},v=y=>{h=b(y)?i.current:null},f=y=>{const _=h;h=null,!(_===null||Date.now()-c.current<700||!b(y))&&(u.current=null,c.current=Date.now(),l.current(!_,m))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",f),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",f)}},[r,s,a,i,l]),{touchPress:d}}function ff(e,n){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:u,icon:c,rightIcon:d,label:m,count:p,subLabel:h,children:b,ariaLabel:v,variant:f="default",align:y="center",nowrap:_=!1,selected:C,toggleable:B=!1,ariaExpanded:g,ariaControls:w,disabled:x=!1,useLabel:A=!0,useBorder:k=!0,useBG:N=!0,useDisabledCovered:E=!1,useDisabledInvisible:S=!1,width:I,minWidth:$,onClick:W,onDisabledClick:j,showTooltipInfo:M=!1,tooltipInfoText:H=null,tooltipDescription:Q=null,tooltipOnly:te=!1,iconSize:V="medium",iconColor:U,shape:P="rounded",color:F,className:D,...O}=e,L=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),R=L.match(/^\d+$/)?`button${L}`:`button-${L}`,z=Number(a),X=!isNaN(z)&&z<40?"button-2":"button-1",K=m??b,Y=x||!!O.disabled,ae=Y?E?"disabled-covered":S?"disabled-invisibled":"disabled":f,le=ae?`button--variant-${ae}`:"",se=y?`button--align-${y}`:"",ke=_?"button--nowrap":"",q=P?`button--shape-${P}`:"",ne=typeof U=="string"&&U.startsWith("--")?`var(${U})`:U,fe={...I?{width:typeof I=="number"?`${I}px`:I}:{},...$?{minWidth:typeof $=="number"?`${$}px`:$}:{},...k?{}:{"--button-border":Y?"0":"1px solid transparent"},...ne?{"--button-icon-color":ne}:{},...F?{"--color-main":F}:{}},xe=A===!1?"":K,he=Array.isArray(xe)?xe.length>0:!!xe,ie=!!d,ce=r??(he||c||ie?"bar":"dot"),ue=`${R}--${ce}`,ge=o.useRef(null);o.useEffect(()=>{!Oa||s!==void 0||ge.current?.closest("form")&&an(`button-in-form:${typeof K=="string"?K:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof K=="string"&&K?` \uB2E8\uCD94: ${K}`:""))},[s,K]);const Ne=o.useRef(n);Ne.current=n;const De=o.useCallback(Fe=>{ge.current=Fe;const pt=Ne.current;typeof pt=="function"?pt(Fe):pt&&(pt.current=Fe)},[]),Ke=o.useRef(Y),[ze,qe]=o.useState(!!C),[He,dt]=o.useState(!1),[ot,st]=o.useState(null),ht=o.useCallback(()=>dt(!1),[]),[Ae,Ie]=o.useState(!1),we=o.useId();o.useEffect(()=>{typeof C=="boolean"&&qe(C)},[C]),o.useEffect(()=>{if(Ke.current&&!Y&&ge.current){const Fe=ge.current;let pt=!1;try{pt=Fe.matches(":focus:not(:focus-visible)")}catch{pt=!1}pt&&Fe.blur(),Fe.style.pointerEvents="none";const St=requestAnimationFrame(()=>{requestAnimationFrame(()=>{ge.current&&(ge.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(St)}Ke.current=Y},[Y]);const rt=typeof C=="boolean"?!!C:ze,Z=typeof g=="boolean"?void 0:B||typeof C=="boolean"?rt?"true":"false":O["aria-pressed"],re=Be("button",R,ue,le,se,ke,q,rt?"is-selected":null,N?null:"button--no-bg",te?"button--tooltip-only":null,D),pe=`button__icon button__icon--${V}`,Se=Array.isArray(h)?h:h!==void 0?[h]:[],it=()=>{if(Array.isArray(xe))return xe.map((pt,St)=>{const Pt=Se[St];return t.jsxs("span",{className:`button__label-text${Pt!==void 0?" button__label-text--has-sub":""}`,children:[pt,Pt!==void 0&&t.jsx("span",{className:"button__sub-label-text caption-1",children:Pt})]},St)});const Fe=h!==void 0;return t.jsxs("span",{className:`button__label-text${Fe?" button__label-text--has-sub":""}`,children:[xe,p!=null&&t.jsx("span",{className:"button__count",children:p}),Fe&&t.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Ye=Fe=>{typeof C!="boolean"&&!B&&qe(!1),Fe.currentTarget.blur()},xt=Fe=>{Y||(typeof O.onMouseLeave=="function"&&O.onMouseLeave(Fe),Ye(Fe))},bt=Fe=>{if(te&&et&&nt.touchPress(Fe.currentTarget),Y){et&&nt.touchPress(Fe.currentTarget),Fe.preventDefault(),j?.(Fe);return}typeof C!="boolean"&&B&&qe(pt=>!pt),W?.(Fe)},ut=o.useCallback(()=>{(M||Q)&&(dt(!0),st(ge.current?.getBoundingClientRect()??null))},[M,Q]),tt=o.useCallback(()=>{(M||Q)&&(dt(!1),st(null))},[M,Q]),et=!!(M||Q),nt=Qr(He,Fe=>{Fe?ut():tt()},ge,{enabled:et&&(Y||te),fallbackOnParent:et&&Y}),$e={...O};delete $e.disabled,delete $e.className,delete $e.faded,delete $e.useFaded,delete $e.loading,delete $e.onMouseLeave,delete $e.onPointerEnter,delete $e.onPointerLeave,delete $e.onPointerUp,delete $e.onFocus,delete $e.onBlur,Y&&(Object.keys($e).forEach(Fe=>{/^on[A-Z]/.test(Fe)&&typeof $e[Fe]=="function"&&delete $e[Fe]}),$e["aria-disabled"]="true");const Ge=(typeof M=="string"?M:null)??(typeof H=="string"?H:null)??(typeof v=="string"?v:null)??(typeof K=="string"?K:null)??void 0,Pe=typeof v=="string"?v:typeof K=="string"?K:Ge,Ct=Q?[Q.title,...Q.items??[]].filter(Boolean).join(". "):M&&Ge&&Ge!==Pe?Ge:"",Mt=[typeof O["aria-describedby"]=="string"?O["aria-describedby"]:void 0,Ct?we:null].filter(Boolean).join(" ")||void 0,Et=(Fe,pt)=>t.jsx(Qe,{icon:Fe,label:pt??Pe,className:pe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),lt=()=>ce==="dot"?t.jsxs(t.Fragment,{children:[Et(c),he&&t.jsx("span",{className:`button__label ${X}`,children:it()})]}):y==="center"&&c?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"button__center-group",children:[t.jsx("span",{className:"button__left",children:Et(c)}),he&&t.jsx("span",{className:`button__label ${X}`,children:it()})]}),ie&&t.jsx("span",{className:"button__right",children:Et(d)})]}):t.jsxs(t.Fragment,{children:[c&&t.jsx("span",{className:"button__left",children:Et(c,v??K)}),he&&t.jsx("span",{className:`button__label ${X}`,children:it()}),ie&&t.jsx("span",{className:"button__right",children:Et(d)})]}),gt=!!i&&!Y;return t.jsxs(t.Fragment,{children:[t.jsxs(gt?"a":"button",{...$e,ref:De,...gt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s??"button",disabled:Y&&!j&&!Ae},className:re,"aria-pressed":Z,"aria-expanded":typeof g=="boolean"?g:O["aria-expanded"],"aria-controls":w??O["aria-controls"],"aria-label":Pe,"aria-disabled":Y&&(gt||j||Ae)?!0:void 0,"aria-describedby":Mt,style:fe,onClick:bt,onMouseLeave:xt,onPointerEnter:Fe=>{na(Fe)||ut(),!Y&&typeof O.onPointerEnter=="function"&&O.onPointerEnter(Fe)},onPointerLeave:Fe=>{na(Fe)||tt(),!Y&&typeof O.onPointerLeave=="function"&&O.onPointerLeave(Fe)},onPointerUp:Fe=>{Y&&et&&nt.touchPress(Fe.currentTarget),!Y&&typeof O.onPointerUp=="function"&&O.onPointerUp(Fe)},onFocus:Fe=>{Ie(!0),aa()||ut(),!Y&&typeof O.onFocus=="function"&&O.onFocus(Fe)},onBlur:Fe=>{Ie(!1),Y||Ye(Fe),tt(),!Y&&typeof O.onBlur=="function"&&O.onBlur(Fe)},children:[lt(),Ct?t.jsx("span",{id:we,hidden:!0,"aria-label":Ct}):null]}),He&&Q?t.jsx(Wn,{anchorRect:ot,title:Q.title,items:Q.items,onClose:ht}):He&&Ge?t.jsx(xn,{anchorRect:ot,text:Ge,onClose:ht}):null]})}const me=o.forwardRef(ff);me.displayName="Button";var gf={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",collapseFor:"{{name}} \uC811\uAE30",expandFor:"{{name}} \uD3BC\uCE58\uAE30",sortFor:"{{name}} \uC815\uB82C",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."},bf={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",statusCount:"{{label}} {{count}}\uAC74"},yf={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"}},vf={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},xf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},_f={selected:"\uC120\uD0DD\uB428"},wf={placeholder:"\uC120\uD0DD"},Bf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},Af={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"},kf={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"},Nf={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."}}},Df={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."}},Ef={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"}}},Sf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},jf={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",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"}},Tf={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"},Mf={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"}},Lf={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"}}}},$f={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"}},Rf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Pf={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"}},If={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."}},Ff={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Of={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"},Hf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},zf={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",viewLabel:"\uBCF4\uAE30 \uBC29\uC2DD",sortLabel:"\uC815\uB82C",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"}},publisherFilter:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \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, \uC790\uD310\uC73C\uB85C\uB294 \uCE78\uC5D0 \uCD08\uC810\uC774 \uAC00\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"}},Vf={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"}},Wf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},qf={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"}},Uf={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"}},Gf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Kf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Yf={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"}},Zf={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"}},Xf={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",countLabel:"\uC74C\uC18C \uAC1C\uC218",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."]},Jf={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"}},Qf={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"},e2={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"}}},t2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},n2={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"}},a2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},r2={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"},o2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},s2={ariaLabel:"\uC120\uD0DD \uD0ED"},i2={ariaLabel:"\uD0ED"},l2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},u2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},c2={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"}},d2={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"}},p2={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"}},m2={manage:{unit:"\uAC74"}},h2={cancelLabel:"\uCDE8\uC18C"},C2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},f2={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"},g2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},b2={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"},y2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},v2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},x2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},_2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},w2={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"}},B2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},A2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},k2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},N2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},D2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},E2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},S2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},j2={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"},T2={common:gf,calendar:bf,passCard:yf,searchField:vf,rating:xf,colorPicker:_f,dropdown:wf,accordion:Bf,header:Af,nav:kf,settings:Nf,usage:Df,account:Ef,help:Sf,training:jf,trainingSettings:Tf,customers:Mf,payment:Lf,coupons:$f,visits:Rf,company:Pf,trainingType:Ff,myWordTraining:If,myWordTable:Of,keyWords:Hf,wordTable:zf,wordSearch:Vf,wordPrint:Wf,topic:qf,accessLinkManager:Uf,login:Gf,trainingPlanRun:Kf,device:Yf,manager:Zf,wordPairs:Xf,game:Jf,footer:Qf,landing:e2,date:t2,trainingSetPage:n2,wordTrainingPreview:a2,wordData:r2,textField:o2,segmentedControl:s2,tabs:i2,fileUpload:l2,avatar:u2,myHomework:c2,trainingStatus:d2,store:p2,homework:m2,inquiry:h2,progress:C2,trainingMiss:f2,table:g2,wordScore:b2,topBanner:y2,datePicker:v2,report:x2,tooltip:_2,phonemeProfile:w2,bulkBar:B2,debug:A2,badge:k2,loader:N2,soundCompass:D2,breadcrumb:E2,board:S2,promoBannerBg:j2},M2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{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."},L2={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)",statusCount:"{{count}} {{label}}"},$2={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"}},R2={clearAriaLabel:"Clear search"},P2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},F2={selected:"selected"},I2={placeholder:"Select"},O2={collapse:"Collapse",expand:"Expand"},H2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},z2={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"},V2={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."}}},W2={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"}},q2={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"}}},U2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},G2={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",synthesizing:"Preparing the sound\u2026"}},K2={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"},Y2={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"}},Z2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},X2={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"}},J2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Q2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},eg={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."}},tg={comingSoon:"Word training is coming soon."},ng={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"},ag={title:"Key Words",empty:"No key words available."},rg={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}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",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 they appear when you hover the cell; with a keyboard, when focus reaches it.",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"}},og={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}}"}},sg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},ig={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"}},lg={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"}},ug={passwordPlaceholder:"Enter password"},cg={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"}},dg={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"}},pg={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}}",countLabel:"Number of phonemes",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."]},mg={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"}},hg={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"},e2={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"}}},t2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},n2={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"}},a2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},r2={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"},o2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},s2={ariaLabel:"\uC120\uD0DD \uD0ED"},i2={ariaLabel:"\uD0ED"},l2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},u2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},c2={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"}},d2={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"}},p2={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"}},m2={manage:{unit:"\uAC74"}},h2={cancelLabel:"\uCDE8\uC18C"},C2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},f2={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"},g2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},b2={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"},y2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},v2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},x2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},_2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},w2={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"}},B2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},A2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},k2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},N2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},D2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},E2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},S2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},j2={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"},T2={common:gf,calendar:bf,passCard:yf,searchField:vf,rating:xf,colorPicker:_f,dropdown:wf,accordion:Bf,header:Af,nav:kf,settings:Nf,usage:Df,account:Ef,help:Sf,training:jf,trainingSettings:Tf,customers:Mf,payment:Lf,coupons:$f,visits:Rf,company:Pf,trainingType:If,myWordTraining:Ff,myWordTable:Of,keyWords:Hf,wordTable:zf,wordSearch:Vf,wordPrint:Wf,topic:qf,accessLinkManager:Uf,login:Gf,trainingPlanRun:Kf,device:Yf,manager:Zf,wordPairs:Xf,game:Jf,footer:Qf,landing:e2,date:t2,trainingSetPage:n2,wordTrainingPreview:a2,wordData:r2,textField:o2,segmentedControl:s2,tabs:i2,fileUpload:l2,avatar:u2,myHomework:c2,trainingStatus:d2,store:p2,homework:m2,inquiry:h2,progress:C2,trainingMiss:f2,table:g2,wordScore:b2,topBanner:y2,datePicker:v2,report:x2,tooltip:_2,phonemeProfile:w2,bulkBar:B2,debug:A2,badge:k2,loader:N2,soundCompass:D2,breadcrumb:E2,board:S2,promoBannerBg:j2},M2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{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."},L2={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)",statusCount:"{{count}} {{label}}"},$2={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"}},R2={clearAriaLabel:"Clear search"},P2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},I2={selected:"selected"},F2={placeholder:"Select"},O2={collapse:"Collapse",expand:"Expand"},H2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},z2={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"},V2={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."}}},W2={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"}},q2={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"}}},U2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},G2={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",synthesizing:"Preparing the sound\u2026"}},K2={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"},Y2={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"}},Z2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},X2={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"}},J2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Q2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},eg={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."}},tg={comingSoon:"Word training is coming soon."},ng={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"},ag={title:"Key Words",empty:"No key words available."},rg={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}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",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 they appear when you hover the cell; with a keyboard, when focus reaches it.",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"}},og={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}}"}},sg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},ig={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"}},lg={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"}},ug={passwordPlaceholder:"Enter password"},cg={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"}},dg={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"}},pg={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}}",countLabel:"Number of phonemes",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."]},mg={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"}},hg={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"},Cg={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"}}},fg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},gg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},bg={answer:"Answer",distractor:"Distractor"},yg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},vg={clearAriaLabel:"Clear input"},xg={ariaLabel:"Select tab"},_g={ariaLabel:"Tabs"},wg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Bg={ariaLabel:"User avatar"},Ag={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"}},kg={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"}},Ng={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)"}},Dg={manage:{unit:"item(s)"}},Eg={cancelLabel:"Cancel"},Sg={subtitle:"Select a topic to start listening practice."},jg={steps:"Step {{current}} of {{total}}"},Tg={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"},Mg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},Lg={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}}"},$g={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Rg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Pg={previewRegion:"Report preview \u2014 scrollable sideways"},Fg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Ig={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Og={clearSelection:"Clear selection"},Hg={showResult:"Show {{type}} result"},zg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Vg={loading:"Loading"},Wg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},qg={ariaLabel:"Breadcrumb"},Ug={empty:"No items yet."},Gg={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"},Kg={common:M2,calendar:L2,passCard:$2,searchField:R2,rating:P2,colorPicker:F2,dropdown:I2,accordion:O2,header:H2,nav:z2,settings:V2,usage:W2,account:q2,help:U2,training:G2,trainingSettings:K2,customers:Y2,payment:Z2,coupons:X2,visits:J2,company:Q2,trainingType:eg,myWordTraining:tg,myWordTable:ng,keyWords:ag,wordTable:rg,wordSearch:og,wordPrint:sg,topic:ig,accessLinkManager:lg,login:ug,device:cg,manager:dg,wordPairs:pg,game:mg,footer:hg,landing:Cg,date:fg,trainingSetPage:gg,wordTrainingPreview:bg,wordData:yg,textField:vg,segmentedControl:xg,tabs:_g,fileUpload:wg,avatar:Bg,myHomework:Ag,trainingStatus:kg,store:Ng,homework:Dg,inquiry:Eg,trainingPlanRun:Sg,progress:jg,trainingMiss:Tg,table:Mg,wordScore:Lg,topBanner:$g,datePicker:Rg,report:Pg,tooltip:Fg,phonemeProfile:Ig,bulkBar:Og,debug:Hg,badge:zg,loader:Vg,soundCompass:Wg,breadcrumb:qg,board:Ug,promoBannerBg:Gg};const Yg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],eo="ko",Zg="ihab_display_language";function ki(){if(typeof window>"u")return eo;try{const e=localStorage.getItem(Zg);if(e&&Yg.some(n=>n.code===e))return e}catch{}return eo}function Ni(e){try{document.documentElement.lang=e}catch{}}$t.on("languageChanged",Ni),Ni(ki()),$t.use(ve.initReactI18next).init({resources:{ko:{translation:T2},en:{translation:Kg}},lng:ki(),fallbackLng:eo,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 wa={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},to=new WeakMap;function no(e){if(e)return to.get(e)}function Vt(e,n){e&&(e.style.setProperty(wa.title,n.title),e.style.setProperty(wa.description,n.description),to.set(e,n))}function Wt(e){e&&(e.style.removeProperty(wa.title),e.style.removeProperty(wa.description),to.delete(e))}const Di={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Ei(){const e=Bt(Di,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Si={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function ji(){const e=Bt(Si,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ti={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Mi(){const e=Bt(Ti,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Li={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function $i(){const e=Bt(Li,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Ri={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=Bt(Ri,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Fi={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Ii(){const e=Bt(Fi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Oi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Hi(){const e=Bt(Oi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Vi(){const e=Bt(zi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Wi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function qi(){const e=Bt(Wi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ui={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Gi(){const e=Bt(Ui,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Ki={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Yi(){const e=Bt(Ki,Vt,Wt);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 Zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Xi(){const e=Bt(Zi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Qi(){const e=Bt(Ji,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const el={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function tl(){const e=Bt(el,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Xt=(e,n,a)=>({key:e,get label(){return $t.t(`promoBannerBg.${e}`,n)},textTone:a}),Xg=[Xt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("soft","\uC18C\uD504\uD2B8","dark"),Xt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Xt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Xt("warm","\uC6DC(\uAC15\uC870)","dark"),Xt("dark","\uB2E4\uD06C","light"),Xt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Xt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Xt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Xt("success","\uC131\uACF5/\uC644\uB8CC","light"),Xt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Xt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],nl={main:Ei,soft:ji,sub:Mi,deep:$i,softSub:Pi,warm:Ii,dark:Hi,radial:Vi,diagonal:qi,dots:Gi,outline:Yi,success:Xi,naver:Qi,instagram:tl};function al({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(r,Number(w))),u=w=>{try{const f=localStorage.getItem(w),B=f?Number(f):1;return Number.isFinite(B)?l(B):l(1)}catch{return l(1)}},[c,d]=o.useState(()=>u(e)),[p,m]=o.useState(e);p!==e&&(m(e),d(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const h=w=>{d(typeof w=="function"?f=>l(w(f)):l(w))},b=()=>h(w=>+(w+s).toFixed(6)),v=()=>h(w=>+(w-s).toFixed(6)),g=c<r-Number.EPSILON,y=c>a+Number.EPSILON,_=Math.round(n*c),C=Math.round(_*i);return{scale:c,setScale:h,increase:b,decrease:v,canIncrease:g,canDecrease:y,fontSize:_,lineHeight:C}}function rl(e,n){const a=_a(n);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const ao=" \xB7 ",ol=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ao)?e.split(ao).pop()??e:e})(),Jg=o.createContext(!1),qn=[];let sl=null;function Qg(e){const n=o.useContext(Jg);o.useEffect(()=>{if(n||typeof e!="string"||!e)return;qn.length===0&&(sl=document.title);const a={text:ol?`${e}${ao}${ol}`:e};return qn.push(a),document.title=a.text,()=>{const r=qn.lastIndexOf(a);r>=0&&qn.splice(r,1),document.title=qn.length?qn[qn.length-1].text:sl??document.title}},[e,n])}const il=[{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"}],eb=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ra(e,n){return eb().compare(e,n)}const Xa=new Map;function tb(e){const n=Xa.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)),Xa.size>5e3&&Xa.clear(),Xa.set(e,a),a}function nb(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 ab(e,n){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(n);if(r===s)return 0;const i=(d,p)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const m=nb(p);return m!==null?[m]:tb(p)},l=i(e,r),u=i(n,s),c=Math.min(l.length,u.length);for(let d=0;d<c;d++){const p=l[d],m=u[d];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 h=ra(p,m);if(h!==0)return h}return l.length!==u.length?l.length-u.length:ra(r,s)}const ll=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function ro(e,n,a){const r=ll(e),s=ll(n);if(r||s)return r===s?0:r?1:-1;const i=ab(e,n);return a?i:-i}function rb(e,n,a){const{t:r}=ve.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&il.some(g=>g.value===v)?v:"25"}),[l,u]=o.useState(1),[c,d]=o.useState(n);Object.is(c,n)||(d(n),l!==1&&u(1));const p=o.useMemo(()=>il.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),m=o.useCallback(v=>{i(v),u(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(s)));(l>h||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const b=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((b-1)*Number(s),b*Number(s)),[e,b,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:b,total:h,onChange:u},setPage:u}}function ob(e){const[n,a]=o.useState(null),r=o.useRef(n),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(c=>{const d=r.current,p=d?.key===c?{key:c,asc:!d.asc}:{key:c,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((c,d)=>({label:c,sortDir:n?.key===d?n.asc?"asc":"desc":null,onClick:()=>i(d)}),[n,i]),u=o.useCallback((c,d)=>{if(!n)return c;const{key:p,asc:m}=n;return[...c].sort((h,b)=>ro(d(h,p),d(b,p),m))},[n]);return{\uC815\uB82C:n,\uCE78:l,sortRows:u}}const un="\uC804\uCCB4",sb=new Map;try{$t.store?.on?.("added",()=>sb.clear())}catch{}Object.fromEntries(Object.entries(CC).map(([e,{nucleus:n}])=>[e,n]));const ib={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"})},lb={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"})},ub={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 cb(e,n){if("place"in n)return ib[n.place](e);const a=lb[n.vowel](e);return n.glide?`${a} \xB7 ${ub[n.glide](e)}`:a}const db=(e,{defaultValue:n})=>n,ul=(e,n)=>({jamos:e,phonetic:n,tooltip:cb(db,n)}),_n=(e,n)=>n.map(a=>ul([a],{place:e})),Rt=(e,n,a)=>ul([...e],a?{vowel:n,glide:a}:{vowel:n}),oo={cho:[_n("labial",["\u3142","\u3143","\u314D","\u3141"]),_n("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),_n("alveolar",["\u3145","\u3146"]),_n("palatal",["\u3148","\u3149","\u314A"]),_n("velar",["\u3131","\u3132","\u314B"]),_n("glottal",["\u314E"])],jung:[[Rt("\u3163","frontHigh"),Rt("\u315F","frontHigh","w"),Rt("\u3162","frontHigh","velar")],[Rt("\u3161","backHighUnrounded")],[Rt("\u315C","backHighRounded"),Rt("\u3160","backHighRounded","j")],[Rt("\u3154\u3150","frontMid"),Rt("\u3156\u3152","frontMid","j"),Rt("\u3159\u315A\u315E","frontMid","w")],[Rt("\u3153","backMidUnrounded"),Rt("\u3155","backMidUnrounded","j"),Rt("\u315D","backMidUnrounded","w")],[Rt("\u3157","backMidRounded"),Rt("\u315B","backMidRounded","j")],[Rt("\u314F","low"),Rt("\u3151","low","j"),Rt("\u3158","low","w")]],jong:[_n("labial",["\u3142","\u3141"]),_n("alveolar",["\u3137","\u3134","\u3139"]),_n("velar",["\u3131","\u3147"])]},pb=e=>e===mb?[]:Array.from(e),mb="__NO_CODA__",so=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),cl={cho:so(oo.cho),jung:so(oo.jung),jong:so(oo.jong)};cl.jung.flat().forEach(({v:e})=>{for(const n of pb(e));}),new Set(cl.cho.flat().map(e=>e.v));function hb(e,n=!0){const a=_a(e);o.useEffect(()=>{if(n)return Vn(()=>{a.current?.()})},[n,a])}function Ba(){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 Cb(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((c,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(c),s(d)},e)},[e]),u=o.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),s(null)},[]);return{payload:n,anchorRect:r,openAfterDelay:l,close:u}}function dl(e="warning"){const[n,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((m,h)=>{s(h),a(m),l(b=>b+1)},[]),c=o.useCallback(m=>u(m,"warning"),[u]),d=o.useCallback(m=>u(m,"normal"),[u]),p=o.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:i,showToast:u,showWarning:c,showNormal:d,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({position:"fixed"}),c=o.useRef(null),d=o.useRef(null),p=o.useCallback(()=>{c.current&&u(e(c.current.getBoundingClientRect(),c.current))},[e]);o.useLayoutEffect(()=>{s&&p()},[s,p]),o.useEffect(()=>{if(!s)return;let b=d.current?.offsetHeight??0;b>0&&p();let v=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==b){if(b=B,++v>4){g?.disconnect(),g=null;return}p()}}),g.observe(d.current));const y=B=>{const x=B.target;r&&x.closest?.(r)||c.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",y),document.addEventListener("pointerdown",y);const _=B=>{d.current?.contains(B.target)||(n==="reposition"?p():n==="close"&&i(!1))};n!=="ignore"&&window.addEventListener("scroll",_,!0);const C=()=>{a==="reposition"?p():a==="close"&&i(!1)};let w=null;const f=()=>{C(),w&&clearTimeout(w),w=setTimeout(()=>{w=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",f)),()=>{g?.disconnect(),document.removeEventListener("mousedown",y),document.removeEventListener("pointerdown",y),n!=="ignore"&&window.removeEventListener("scroll",_,!0),a!=="ignore"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",f)),w&&clearTimeout(w)}},[s,p,n,a,r]),o.useEffect(()=>{if(s)return Vn(()=>i(!1))},[s]);const m=o.useCallback(()=>i(b=>!b),[]),h=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:h,style:l,triggerRef:c,menuRef:d}}function fb(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[u,c]=o.useState([]),[d,p]=o.useState(0),[m,h]=o.useState("idle"),[b,v]=o.useState(null),[g,y]=o.useState([]),[_,C]=o.useState(null),[w,f]=o.useState(0),B=o.useRef(0),x=o.useCallback(R=>{B.current=typeof R=="function"?R(B.current):R,f(B.current)},[]),D=o.useRef(r),k=o.useRef(s);o.useEffect(()=>{D.current=r,k.current=s},[r,s]);const A=o.useRef([]),E=()=>{A.current.forEach(clearTimeout),A.current=[]},j=(R,F)=>{A.current.push(setTimeout(F,R))};o.useEffect(()=>()=>E(),[]);const z=u[d]?.id??null,P=o.useRef(null),W=o.useCallback(()=>{E(),h("playing"),y([]),C(null),x(0);let R=0;e.forEach((F,N)=>{j(R,()=>{p(N),v(F.id),D.current?.(F)}),j(R+1e3,()=>{v(null),y(I=>[...I,F.id])}),R+=1300}),j(R,()=>{h("done"),k.current?.({score:0,total:e.length})})},[e,x]),S=o.useCallback((R,F)=>{if(F>=R.length){h("done"),k.current?.({score:B.current,total:R.length});return}P.current=null,p(F),C(null),h("playing"),v(R[F].id),D.current?.(R[F]),j(i,()=>{v(null),h("waiting")})},[i]),M=o.useCallback(()=>{E();const R=va(e);c(R),x(0),y([]),S(R,0)},[e,S,x]),O=o.useCallback(()=>{n==="playback"?(c(e),W()):M()},[n,e,W,M]),Q=o.useCallback(()=>{E(),h("idle"),v(null),y([]),C(null),p(0),x(0),c([])},[x]),te=e.map(R=>R.id).join("|");o.useEffect(()=>(a?O():Q(),()=>E()),[n,te,a]);const V=o.useCallback(R=>{m!=="waiting"||n==="playback"||P.current===d||(P.current=d,C(R),R===u[d]?.id&&x(F=>F+1),n==="exam"?(h("playing"),j(400,()=>S(u,d+1))):(h("feedback"),j(l,()=>S(u,d+1))))},[m,n,u,d,S,l,x]),U=n==="playback"?e.length:u.length;return{bind:{activeSpeakerId:b,playedIds:g,selectedId:_,answerId:z,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:V},index:d,total:U,score:w,phase:m,done:m==="done",start:O,reset:Q}}function gb({title:e,description:n,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:u,titleColor:c,descriptionColor:d,className:p=""}){const m=s??i??"main",h=o.useRef(null),[b,v]=o.useState("main"),g=rn("(max-width: 767px)"),y=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const w=h.current;if(!w)return;const f=no(w),B=(x,D,k)=>{if(k!==void 0)w.style.setProperty(D,k),y.current[x]=!0;else if(y.current[x]){const A=f?.[x];A?w.style.setProperty(D,A):w.style.removeProperty(D),y.current[x]=!1}};B("title","--promo-banner-bg-title",c),B("description","--promo-banner-bg-description",d)},[c,d,m]),o.useLayoutEffect(()=>{const w=h.current;if(!w)return;const f=no(w);v(f?.actionVariant??"main")},[m]);const _=Be("promo-banner",`promo-banner--${l}`,p),C=nl[m];return t.jsxs("div",{ref:h,className:_,role:"note",children:[t.jsx(C,{}),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(me,{htmlType:"button",size:40,variant:u??b,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function bb({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=ve.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),c=u.length,[d,p]=o.useState(0),[m,h]=o.useState(!1),[b,v]=o.useState(!1),[g,y]=o.useState(!1),_=o.useRef(null),C=o.useRef(null),w=o.useRef(null),f=Xr(),B=m||b||g,x=c>0?Math.min(d,c-1):0;o.useEffect(()=>{if(c<2||n<=0||B||f)return;const k=window.setInterval(()=>p(A=>(Math.min(A,c-1)+1)%c),n);return()=>window.clearInterval(k)},[c,n,B,f]);const D=k=>{C.current!=null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>{C.current=null,y(!1)},k)};return o.useEffect(()=>()=>{C.current!=null&&window.clearTimeout(C.current)},[]),o.useEffect(()=>{if(!g)return;const k=A=>{A.pointerType==="touch"&&(w.current&&w.current.contains(A.target)||(C.current!=null&&(window.clearTimeout(C.current),C.current=null),y(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[g]),c===0?null:t.jsxs("section",{ref:w,className:Be("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{_.current=k.pointerType},onPointerDown:k=>{_.current=k.pointerType,k.pointerType==="touch"&&(C.current!=null&&(window.clearTimeout(C.current),C.current=null),y(!0))},onPointerUp:k=>{k.pointerType==="touch"&&D(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&D(5e3)},onMouseEnter:()=>{_.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:k=>{let A=!0;try{A=k.target.matches(":focus-visible")}catch{A=!0}v(A)},onBlur:k=>{k.currentTarget.contains(k.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((k,A)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":A!==x,...A!==x?{inert:!0}:{},children:k},A))})}),c>1&&t.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((k,A)=>t.jsx("button",{type:"button",className:`top-banner__dot${A===x?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:c,index:A+1,defaultValue:`${c}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===x,onClick:()=>p(A)},A))})]})}function yb({title:e,body:n,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:c}=ve.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:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const p=d.currentTarget.closest('[role="list"]');if(!p)return;const m=Array.from(p.querySelectorAll("[data-accordion-header]")),h=m.indexOf(d.currentTarget);(d.key==="ArrowDown"?m[h+1]:m[h-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(Qe,{icon:a?"chevron-up":"chevron-down",label:a?c("accordion.collapse","\uC811\uAE30"):c("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 vb({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:n}),u=(c,d)=>i.id!=null&&c.id!=null?c.id===i.id:i.id==null&&d===i.index;return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>t.jsx(yb,{title:c.title,body:c.body,avatar:c.avatar,open:u(c,d),onToggle:()=>l(u(c,d)?{index:-1}:{index:d,id:c.id}),bodyClassName:s},c.id??d))})}function xb(){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 _b(){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 wb(){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 At(e){const{t:n}=ve.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:B,number:x,position:D="top-right",onClick:k,animate:A=!1}=e,E=B??"check",j=x!==void 0?"number":E,z=typeof r=="number"?r:32,P=Be("circle-badge",`circle-badge--${j}`,`circle-badge--${D}`,`circle-badge--${z}`,A?"circle-badge--animate":"",k?"circle-badge--clickable":"",s),W=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:P,onClick:k,onKeyDown:k?S=>{S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),S.currentTarget.click())}:void 0,"aria-label":l?void 0:i??W,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&t.jsx(xb,{}),x===void 0&&E==="remove"&&t.jsx(_b,{}),x===void 0&&E==="minus"&&t.jsx(wb,{})]})}const{label:u,children:c,variant:d="default",fill:p="filled",minWidth:m,iconLeft:h,iconRight:b,color:v}=e,g=typeof r=="number"?"medium":r??"medium",y={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",_={small:12,medium:14,large:16}[g]??14,C=Be("badge",`badge--${d}`,`badge--${g}`,p!=="filled"?`badge--${p}`:"",y,s),w=v?.startsWith("--")?`var(${v})`:v,f=m!==void 0||w?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},...w?{"--badge-color":w}:{}}:void 0;return t.jsxs("span",{className:C,style:f,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&t.jsx(Qe,{icon:h,size:_,className:"badge__icon"}),u??c,b&&t.jsx(Qe,{icon:b,size:_,className:"badge__icon"})]})}function Na({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:s}=ve.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),c=o.useMemo(()=>{const y=[{title:null,columns:e}];let _=e;for(const C of l){const w=_?.[C.ci]?.items?.[C.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;_=[{title:null,items:w.children}],y.push({title:w.label||null,columns:_})}return y},[e,l]),d=c[c.length-1],p=c.length-1,m=o.useCallback(()=>u(y=>y.slice(0,Math.max(0,Math.min(y.length,p)-1))),[p]),h=o.useRef(null),b=o.useRef(null),v=c.length;o.useEffect(()=>{b.current||(b.current=document.activeElement);let y=0,_=0;const C=()=>{const w=h.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(y=requestAnimationFrame(C))};return y=requestAnimationFrame(C),()=>cancelAnimationFrame(y)},[v]),o.useEffect(()=>()=>{b.current?.focus?.({preventScroll:!0})},[]);const g=o.useCallback((y,_,C)=>{if(y){if(Array.isArray(y.children)&&y.children.length){u(w=>[...w.slice(0,p),{ci:_,ii:C}]);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:[(c.length>1||d.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[c.length>1?t.jsx(me,{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:d.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((y,_)=>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((C,w)=>t.jsxs(o.Fragment,{children:[C.separatorBefore&&w>0&&t.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),t.jsx(me,{htmlType:"button",className:"tooltip-menu__item",size:i,type:C.label?"bar":"dot",icon:C.selected?"check":C.icon||"none",rightIcon:Array.isArray(C.children)&&C.children.length?"chevron-right":C.badgeCount?t.jsx(At,{type:"dot",position:"inline",number:Math.min(C.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:C.label,ariaLabel:C.label&&C.badgeCount&&C.badgeCount>0?s("nav.badgeLabel",{label:C.label,count:C.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):C.label,onClick:()=>g(C,_,w),selected:C.selected,disabled:C.disabled,showTooltipInfo:C.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const pl=".content-area";function io(e,n="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(pl);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&an("nav-scroll-container",`[${n}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${pl}) \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 lo=52,Ja=10,ml=e=>e&&e>0?e:0;function hl({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=ve.useTranslation(),c=r==="manager"?"malgwi":"manager",d=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),[h,b]=o.useState(0),v=e.length;o.useEffect(()=>{const R=m.current;if(!R)return;const F=()=>{const L=typeof getComputedStyle=="function"?getComputedStyle(R):null,$=R.clientWidth-(parseFloat(L?.paddingLeft??"")||0)-(parseFloat(L?.paddingRight??"")||0),H=R.querySelector(".bottom-nav__left"),X=H?.nextElementSibling,K=(H?.offsetWidth??0)+(H&&X?.classList.contains("bottom-nav__divider")?X.offsetWidth:0);b(Math.max(0,$-K))};if(F(),typeof ResizeObserver>"u")return;const N=new ResizeObserver(F);N.observe(R);const I=R.querySelector(".bottom-nav__left");return I&&N.observe(I),()=>N.disconnect()},[s]);const g=lo+1,y=R=>Math.max(0,Math.floor((R+Ja)/(lo+Ja))),_=v*(lo+Ja)-Ja<=h,C=h<=0||i.length===0&&_?v:Math.min(v,y(h-g)),w=h>0&&C<v,f=w?C:v,B=e.slice(0,f),x=e.slice(f),D=w||i.length>0,k=o.useCallback((R,F)=>({position:"fixed",bottom:window.innerHeight-R.top+8,right:window.innerWidth-R.right,zIndex:Aa(F)}),[]),A=o.useId(),{open:E,toggle:j,close:z,style:P,triggerRef:W,menuRef:S}=ka({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),M=o.useCallback((R,F)=>F>0?u("nav.badgeLabel",{label:R,count:F,defaultValue:"{{label}}, {{count}}\uAC1C"}):R,[u]),O=o.useCallback((R,F)=>F>0?u("nav.badgeInsideLabel",{label:R,count:F,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):R,[u]),Q=o.useCallback(()=>s?.(c),[s,c]),te=o.useMemo(()=>x.find(R=>!!R.key&&R.key===n)??i.find(R=>R.selected||R.key&&R.key===n),[x,n,i]),V=o.useMemo(()=>[{items:[...x.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:!!R.key&&R.key===n,closeOnSelect:!0,disabled:R.state==="disabled",onClick:()=>{R.state!=="disabled"&&(R.key&&a&&(a(R.key),io(l,"BottomNav")),z())}})),...i.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===n),closeOnSelect:!0,onClick:()=>{R.onClick?.(),z()}}))]}],[x,i,n,a,z]),U=[...x,...i].reduce((R,F)=>R+ml(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(me,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:p,className:"bottom-nav-item",onClick:Q})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",children:B.map((R,F)=>{const N=ml(R.badgeCount);return t.jsxs("span",{className:"bottom-nav__slot",children:[t.jsx(me,{htmlType:"button",size:52,type:"dot",icon:R.icon,ariaLabel:M(R.label,N),selected:!!R.key&&R.key===n,disabled:R.state==="disabled",className:"bottom-nav-item",onClick:()=>{R.key&&(a?.(R.key),io(l,"BottomNav"))}}),N>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(At,{type:"dot",position:"top-right",number:Math.min(N,99),size:24})})]},R.key??`__slot-${F}`)})}),D&&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:W,className:"bottom-nav__slot",children:[t.jsx(me,{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:j,"aria-expanded":E,"aria-controls":E?A:void 0}),U>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(At,{type:"dot",position:"top-right",number:Math.min(U,99),size:24})}),E&&Qt.createPortal(t.jsx("div",{id:A,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:P,ref:S,children:t.jsx(Na,{columns:V,onClose:z})}),document.body)]})})]})]})}function Cl(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 fl(e,n,a){return a&&a>0?e("nav.badgeLabel",{label:n,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):n}function Bb(e){const{t:n}=ve.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:u,onFeedback:c,onAccount:d}=e||{},p="default";return s||i||l||u||c||d?t.jsxs("div",{className:"side-nav__footer",children:[s&&t.jsx(me,{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(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bell",ariaLabel:fl(n,n("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&t.jsx(At,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&t.jsx(me,{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(me,{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"}),c&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bug",ariaLabel:n("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:c,selected:a==="feedback"}),d&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function gl(e){const{t:n}=ve.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:c,state:d,labelStyle:p}=e||{},m=a?.key??r??"",h=a?.label??s??"",b=a?.icon??i??"",v=a?.badge??0,g=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Qe,{icon:b,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),y=d==="disabled",_=`side-nav__item ${l?"active":""} ${d||""} ${y?"disabled":""} ${a?.child?"side-nav__item--child":""}`,C=o.useCallback(w=>{if(y)return;const f=w.detail>0;if(f)try{w.currentTarget.blur()}catch{}u?.(m,w.currentTarget,f)},[y,m,u]);return t.jsxs("button",{type:"button",className:_,onClick:C,"aria-label":typeof h=="string"?fl(n,h,v):void 0,"aria-current":l?"page":void 0,style:c,"aria-disabled":y,children:[g,t.jsx("span",{className:"side-nav__label button-1 f",style:p,children:h}),v>0&&t.jsx(At,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),d==="loading"&&t.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":n("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function bl(e){const{t:n}=ve.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:p,onFeedback:m,appMode:h,onAppModeChange:b,scrollContainer:v}=e||{},g=h==="manager",y=o.useCallback(()=>b?.(g?"malgwi":"manager"),[b,g]),_=o.useRef(null),[C,w]=o.useState(null);o.useEffect(()=>{const k=_.current;if(!k)return;const A=()=>{const{scrollHeight:j,clientHeight:z,scrollTop:P}=k;if(j<=z+1){w(null);return}const W=Math.max(24,z/j*z),S=z-W,M=j-z;w({top:Math.round(P/M*S),height:Math.round(W)})};A(),k.addEventListener("scroll",A,{passive:!0});const E=typeof ResizeObserver<"u"?new ResizeObserver(A):null;E?.observe(k);for(const j of Array.from(k.children))E?.observe(j);return()=>{k.removeEventListener("scroll",A),E?.disconnect()}},[a]);const f=o.useRef(null),B=o.useCallback(k=>{const A=_.current;A&&(k.preventDefault(),f.current={y:k.clientY,top:A.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),x=o.useCallback(k=>{const A=_.current,E=f.current;!A||!E||(A.scrollTop=E.top+(k.clientY-E.y)*(A.scrollHeight/A.clientHeight))},[]),D=o.useCallback(k=>{f.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return t.jsxs("nav",{ref:_,"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[C&&t.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:t.jsx("div",{className:"side-nav__scroll-thumb",style:{top:C.top,height:C.height},onPointerDown:B,onPointerMove:x,onPointerUp:D,onPointerCancel:D})}),t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,A)=>t.jsxs(o.Fragment,{children:[k.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx(gl,{item:k,active:!!k.key&&k.key===r,state:k.disabled?"disabled":void 0,onClick:(E,j,z)=>{if(k.disabled)return;if(k.href){if(Cl(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),z)try{j?.blur()}catch{}return}if(s?.(k.key),io(v,"SideNav"),!z)return;try{j?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const P=document.querySelector(".header");if(P){const W=typeof P.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&W&&P.matches(":hover"))){P.classList.add("header--force-collapsed");const S=()=>{P.classList.remove("header--force-collapsed"),P.removeEventListener("mouseenter",S)};P.addEventListener("mouseenter",S)}}}})]},k.key??`side-nav__item-${A}`)),b&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),b&&t.jsx(gl,{item:{key:"__mode-switch__",label:g?n("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):n("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:y})]}),t.jsx(Bb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:p,onFeedback:m})]})}var Qa='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',uo='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',Ab='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 yl({appMode:e}){const{t:n}=ve.useTranslation(),a=e==="manager",r=a?uo:Qa,s=Ab;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 vl({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:p,onFeedback:m,appMode:h,onAppModeChange:b,scrollContainer:v}){const{t:g}=ve.useTranslation(),y=rn("(max-width: 767px)"),_=o.useMemo(()=>(a??[]).filter(P=>!P.section&&(P.key||P.label)).map(P=>({key:P.key,label:typeof P.label=="string"?P.label:void 0,icon:P.icon,state:P.disabled?"disabled":void 0,badgeCount:P.badge})),[a]),C=o.useCallback(P=>{const W=a?.find(S=>S.key===P);if(!W?.disabled){if(W?.href){Cl(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}n?.(P)}},[a,n]),w=o.useMemo(()=>{const P=[];return l&&P.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&P.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),d&&P.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),p&&P.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),m&&P.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:m}),c&&P.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:c}),P},[g,l,u,d,p,m,c,i]),f=o.useCallback((P,W)=>({position:"fixed",top:P.bottom+8,right:Math.max(8,window.innerWidth-P.right),zIndex:Aa(W)}),[]),B=o.useId(),{open:x,toggle:D,close:k,style:A,triggerRef:E,menuRef:j}=ka({computeStyle:f,onScroll:"ignore",onResize:"reposition"}),z=o.useMemo(()=>[{items:w.map(P=>({label:P.label,icon:P.icon,badgeCount:P.badgeCount,selected:P.selected??(!!P.key&&P.key===e),closeOnSelect:!0,onClick:()=>{P.onClick?.(),k()}}))}],[w,e,k]);return t.jsxs("aside",{className:`header${h==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(yl,{appMode:h}),t.jsxs("div",{className:"header__menu-button",ref:E,children:[t.jsx(me,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&i&&i>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:D,"aria-expanded":x,"aria-controls":x?B:void 0}),!!u&&!!i&&i>0&&t.jsx(At,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&Qt.createPortal(t.jsx("div",{id:B,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:A,ref:j,children:t.jsx(Na,{columns:z,onClose:k})}),document.body)]})]}),t.jsx(bl,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:n,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:p,onFeedback:m,appMode:h,onAppModeChange:b}),y&&t.jsx(hl,{items:_,activeKey:e??void 0,onChange:C,scrollContainer:v,appMode:h,onAppModeChange:b})]})}const kb=vl,Nb=()=>$t.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function xl(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 ea(`${n.toLocaleString("ko-KR")}\uC6D0`)}return ea(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Db(e){const n=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(n)?"manager":"speechear"}function Eb(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||Nb()}function Sb(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 _l(e){return{type:e.type??Db(e),plan:Eb(e),label:e.label,price:xl(e.price),originalPrice:xl(e.originalPrice),discountLabel:e.discountLabel}}var jb='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',Tb='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>',Mb='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',Lb='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',$b='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>',Rb='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',wl='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 Un={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},co=new WeakMap;function Pb(e){if(e)return co.get(e)}function wn(e,n){e&&(e.style.setProperty(Un.text,n.text),e.style.setProperty(Un.sub,n.sub),n.copyrightColor&&e.style.setProperty(Un.copyright,n.copyrightColor),co.set(e,n))}function Bn(e){e&&(e.style.removeProperty(Un.text),e.style.removeProperty(Un.sub),e.style.removeProperty(Un.copyright),co.delete(e))}const Bl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Al(e={}){const n=Bt(Bl,wn,Bn);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("${wl}")`}})]})}const kl="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 Da='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 Fb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Ib=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Nl(e={}){const n=Bt(Fb,wn,Bn),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:Ib.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:kl,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("${Da}")`}})]})}const Ob={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Hb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function zb(e={}){const n=Bt(Ob,wn,Bn),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:Hb.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:kl,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("${wl}")`}})]})}const Vb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Wb(e={}){const n=Bt(Vb,wn,Bn);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("${Da}")`}})]})}const qb={Logo_speechear_kr:{"":Qa,_white:jb,_textWhite:Tb,_black:Mb},Logo_speechearManager_kr:{"":uo,_white:Lb,_textWhite:$b,_black:Rb}};function Ub(e,n){if(e)return qb[e]?.[n??""]??void 0}const Gb={speechear:Qa,manager:uo},Kb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Dl=10;function Yb(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function El(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 Zb(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===$t.t("passCard.specialLabel");return r?t.jsx(Wb,{}):s?t.jsx(zb,{}):t.jsx(Nl,{})}return t.jsx(Al,{})}function Sl({ariaLabel:e,product:n,showPrice:a=!1,plan:r,type:s,endDate:i,remainingSeconds:l,endInclusive:u=!1,state:c="active",bg:d,bgOnly:p=!1,textColor:m,subColor:h,copyrightColor:b,logoSrc:v,label:g,price:y,originalPrice:_,discountLabel:C,onUse:w,onRefund:f,onDelete:B}){const{t:x}=ve.useTranslation(),D=n?_l(n):void 0,k=s??D?.type??"speechear",A=r??D?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=g??D?.label,j=y??(a?D?.price:void 0),z=_??(a?D?.originalPrice:void 0),P=C??D?.discountLabel,W=o.useMemo(()=>{if(j)return null;const q=n?.durationDays??Sb(n?.code);if(!q||q<=0)return l!=null?{percent:null,remainingLabel:El(l,x)}:null;const ne=q*86400;let fe;if(l!=null)fe=l;else if((c==="active"||c==="expired")&&i){const ie=new Date(i).getTime();if(Number.isNaN(ie))return null;const ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ue=/^(\d{4})-(\d{2})-(\d{2})/.exec(xa()),ge=Math.round(ce&&ue?(Date.UTC(+ce[1],+ce[2]-1,+ce[3])-Date.UTC(+ue[1],+ue[2]-1,+ue[3]))/864e5:(ie-Date.now())/864e5);fe=Math.max(0,u?ge+1:ge)*86400}else c==="expired"?fe=0:fe=ne;const xe=Yb(fe),he=Math.max(0,Math.min(100,Math.floor(Math.min(xe,ne)/ne*100)));return c==="pending"&&he>=100?null:{percent:he,remainingLabel:c==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):El(fe,x)}},[j,c,i,l,u,n?.durationDays,n?.code,x]),S=o.useRef(null),[M,O]=o.useState({}),[Q,te]=o.useState(null),V=!!(w||f||B),U=o.useRef(!1),R=o.useRef(void 0),[F,N]=o.useState(v);o.useLayoutEffect(()=>{N(v)},[v]),o.useLayoutEffect(()=>{const q=S.current;q&&(m!==void 0&&q.style.setProperty("--pass-card-text",m),h!==void 0&&q.style.setProperty("--pass-card-sub",h),b!==void 0&&q.style.setProperty("--pass-card-copyright",b))},[m,h,b]),o.useLayoutEffect(()=>{const q=S.current;if(!q)return;const ne=Pb(q);if(!v){const fe=Kb[k],xe=c==="expired"?"_black":ne?.logoColor??"",he=Ub(fe,xe);N(he)}},[d,v,k,c]);const I=q=>{const ne=S.current;if(!ne)return null;const{left:fe,top:xe,width:he,height:ie}=ne.getBoundingClientRect(),ce=(q.clientX-fe)/he-.5;return{rotateX:-((q.clientY-xe)/ie-.5)*Dl,rotateY:ce*Dl}},L=(q,ne)=>{const fe=ne*-.7,xe=q*.7+10,he=20+(Math.abs(q)+Math.abs(ne))*.4;return`${fe}px ${xe}px ${he}px rgba(0, 0, 0, 0.18)`},$=o.useCallback(q=>{if(aa())return;U.current=!0,clearTimeout(R.current),R.current=setTimeout(()=>{U.current=!1},200);const ne=I(q);ne&&O({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(ne.rotateX,ne.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)"})},[]),H=o.useCallback(q=>{if(aa())return;const ne=I(q);if(!ne)return;const fe=U.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";O({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(ne.rotateX,ne.rotateY),transition:fe})},[]),X=o.useCallback(()=>{clearTimeout(R.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)"})},[]),K=o.useCallback(()=>te(null),[]),Y=o.useMemo(()=>{const q=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),ne=A.replace("\uC774\uC6A9\uAD8C","").replace(q==="\uC774\uC6A9\uAD8C"?"":q,"").trim(),fe=ne.match(/^(.*?)(일|년)$/);return fe?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"h0 pass-card__plan-number",children:fe[1]}),t.jsx("span",{className:"h5b pass-card__plan-unit",children:fe[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):t.jsx("span",{className:"h0",children:ne})},[A,x]),ae=o.useMemo(()=>{const q=ea(j);if(!q)return null;const ne=q.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ne)return t.jsx("span",{className:"h1",children:q});const[,fe,xe,he]=ne;return t.jsxs(t.Fragment,{children:[fe&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:fe}),t.jsx("span",{className:"h1 pass-card__price-amount",children:xe}),he.trim()&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:he.trim()})]})},[j]),le=o.useCallback(()=>{V&&te(q=>{if(q)return null;const ne=S.current?.getBoundingClientRect();if(!ne)return null;const fe=50;return{left:ne.left,right:ne.right,width:ne.width,height:ne.height,x:ne.x,y:ne.y+fe,top:ne.top+fe,bottom:ne.bottom+fe}})},[V]),se=o.useCallback(q=>{V&&(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),le())},[V,le]),ke=[{items:[...w?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),te(null)},closeOnSelect:!0}]:[],...f?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{f(),te(null)},closeOnSelect:!0}]:[],...B?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{B(),te(null)},closeOnSelect:!0}]:[]]}];return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"pass-card-frame",children:t.jsxs("div",{ref:S,className:`pass-card pass-card--${c}${V?" pass-card--clickable":""}`,style:M,onMouseEnter:$,onMouseMove:H,onMouseLeave:X,onPointerUp:q=>{q.pointerType==="touch"&&X()},onPointerCancel:q=>{q.pointerType==="touch"&&X()},onClick:le,onKeyDown:V?se:void 0,role:V?"button":void 0,tabIndex:V?0:void 0,"aria-label":e,"aria-haspopup":V?"menu":void 0,"aria-expanded":V?!!Q:void 0,children:[d??Zb(k,A,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??Gb[k],className:"pass-card__logo",alt:k==="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:Y}),t.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?x("passCard.labeledPlan",{label:E}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),j?t.jsxs("div",{className:"pass-card__price-area",children:[P&&t.jsx("span",{className:"pass-card__discount body-3",children:P}),t.jsxs("div",{className:"pass-card__price",children:[z&&t.jsx("span",{className:"pass-card__price-original body-3",children:ea(z)}),ae]})]}):W?t.jsxs("div",{className:"pass-card__usage",children:[t.jsx("span",{className:"h5b pass-card__usage-remaining",children:W.remainingLabel}),W.percent!=null&&t.jsxs("span",{className:"pass-card__usage-percent",children:[t.jsx("span",{className:"h1 pass-card__usage-value",children:W.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."})]})]})}),Q&&t.jsx(ln,{anchorRect:Q,onClose:K,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:t.jsx(Na,{columns:ke,onClose:K,size:"small"})})]})}const Xb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Jb(e={}){const n=`passcard-sound-line-grad-${o.useId()}`,a=Bt(Xb,wn,Bn);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("${Da}")`}})]})}const Qb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function e4(e={}){const n=Bt(Qb,wn,Bn);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("${Da}")`}})]})}function t4(e,n){if(e){if(n==="manager_pro")return t.jsx(e4,{});if(n==="manager_standard")return t.jsx(Jb,{});if(n==="manager_lite")return t.jsx(Nl,{})}}function n4(e){const n=ea(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 a4(e){const{t:n}=ve.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||{},c=f=>!!f&&!!u?.includes(f),d=f=>f.onceOnly??/오픈\s*특가/.test(f.label??""),p=(s.tiers||[]).some(f=>d(f)&&c(f.code)),m=f=>{const B=f.prices?f.prices[l]:f.price;return B?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===B):!1},h=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",b=n("payment.plan.freePrice","\uBB34\uB8CC"),v=n("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=f=>f.prices?f.prices[l]:f.price,y=(s.tiers||[]).length>0&&(s.tiers||[]).every(f=>{const B=g(f);return B==="\uBB34\uB8CC"||B===b||B==="0\uC6D0"||typeof B=="string"&&/\d/.test(B)&&!/[1-9]/.test(B)}),_=(s.tiers||[]).length>0&&(s.tiers||[]).every(f=>{const B=g(f);return B==="\uBB38\uC758"||B===v}),C=s.group==="org",w=C?"manager":"speechear";return t.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[s.cardBadge&&t.jsx("div",{className:"payment-plan__card-badge",children:t.jsx(At,{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:h},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((f,B)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),f]},B))})]}),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((f,B)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),f]},B))})]}),t.jsx("div",{className:"payment-plan__card-pricing",children:y?null:_?t.jsx(me,{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(f=>{const B=f.label||a,x=d(f),D=x||f.openPromo===!0,k=B.replace(/^오픈\s*특가\s*/,"")||a,A=f.prices?f.prices[l]:f.price,E=f.badge?D?`${r}
852
- ${f.badge}`:f.badge:void 0;if(x&&c(f.code))return null;if(!f.badge&&!p)return m(f)?null:t.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${f.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:f.label})}),t.jsx("div",{className:"payment-plan__pricing-row-price",children:t.jsx("span",{className:"payment-plan__pricing-current h1",children:n4(A)})})]},f.id);const j=s.tier??(C?s.title:void 0),z=t.jsx(Sl,{showPrice:!0,product:{type:w,code:f.code,name:k,label:j,price:A,originalPrice:f.originals?.[l]??void 0,discountLabel:E},bg:t4(C,s.id)}),P=()=>i?.({...f,productId:s.id,productTitle:s.title,preview:z});return t.jsx("div",{className:"payment-plan__pricing-card",onClick:P,onKeyDown:i?W=>{W.target===W.currentTarget&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),P())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:z},f.id)})})})})]})}function r4({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 po='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 jl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function o4(){const e=Bt(jl,wn,Bn);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("${po}")`}})})}const Tl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function s4(e={}){const n=Bt(Tl,wn,Bn);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("${Da}")`}})]})}function Ml({keys:e,anchor:n="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return t.jsx("span",{className:Be("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 Ea=(e,n,a)=>e+(n-e)*a;function i4({speakers:e,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:u=!1,pulseSelected:c=!1,pulseSelectedDuration:d,pulseScale:p,clickable:m=!1,onSelectSpeaker:h,buttonSize:b=40,showIcon:v=!0,onCenterClick:g,centerLabel:y,centerDisabled:_=!1,centerAttention:C=!1,shortcutAnchor:w="top-right",shortcutScale:f,scaleShortcut:B=!1}){const{t:x}=ve.useTranslation(),D=Math.max(0,Math.min(1,a)),k=n/2,A=110/300,E=.18,j=q=>n*(A+(q-1)*E),z=q=>{const ne=j(q.row??1),fe=q.angleDeg*Math.PI/180;return{x:k+ne*Math.cos(fe),y:k+ne*Math.sin(fe)}},P=Math.max(...e.map(q=>q.row??1),1),W=n*.08,S=n*.1,M=n*.24,O=n-2*W,Q=n-S-M,te=n-M/2,V=o.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,ne)=>q-ne),[e]),U=V.length,R=Math.max(68,U>1?O/(U-1):0),F=o.useMemo(()=>new Map(V.map((q,ne)=>[q,ne])),[V]),N=q=>{const ne=F.get(q.deg)??0,fe=k+(ne-(U-1)/2)*R,xe=P>1?Math.min(68,Q/(P-1)):0,he=xe*(P-1),ie=S+(Q-he)/2,ce=P===1?S+Q*.4:ie+(P-(q.row??1))*xe;return{x:fe,y:ce}},I=q=>{const ne=z(q),fe=N(q);return{x:Ea(ne.x,fe.x,D),y:Ea(ne.y,fe.y,D)}},L={x:k,y:Ea(k,te,D)},$=Math.round(b*1.2),H=Math.round(Math.max(16,Math.min(80,b*.7))),X=[],K=new Map;for(const q of e){const ne=q.row??1;K.has(ne)||K.set(ne,[]),K.get(ne).push(q)}for(const[q,ne]of K.entries()){if(ne.length<2)continue;const fe=[...ne].sort((He,ct)=>He.deg-ct.deg),xe=fe.map(He=>I(He)),he=fe.map(He=>He.deg),ie=he[he.length-1]-he[0],ce=ie/(he.length-1),ue=360-ie,ge=fe.length>=3&&ce>0&&ue<=ce*1.5,Ee=Math.round(j(q)*1e3)/1e3,Ne=(He,ct,ot,st)=>{const ht=(ct.angleDeg-He.angleDeg+540)%360-180;if(ht===0)return`L ${st.x} ${st.y}`;if(D===0)return`A ${Ee} ${Ee} 0 0 ${ht>0?1:0} ${st.x} ${st.y}`;const Ae=(He.angleDeg+ht/2)*Math.PI/180,Fe={x:k+Ee*Math.cos(Ae),y:k+Ee*Math.sin(Ae)},we={x:(ot.x+st.x)/2,y:(ot.y+st.y)/2},at={x:Ea(Fe.x,we.x,D),y:Ea(Fe.y,we.y,D)},Z={x:2*at.x-we.x,y:2*at.y-we.y};return`Q ${Z.x} ${Z.y} ${st.x} ${st.y}`},Ke=ge?[...fe,fe[0]]:fe,ze=ge?[...xe,xe[0]]:xe;let qe=`M ${ze[0].x} ${ze[0].y}`;for(let He=1;He<ze.length;He++)qe+=" "+Ne(Ke[He-1],Ke[He],ze[He-1],ze[He]);X.push({key:`arc-${q}`,d:qe})}const Y=o.useMemo(()=>new Set(s??[]),[s]),ae=q=>({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")})[q],le=q=>{if(r===q.id)return"active";if(u){if(q.id===l)return"correct";if(q.id===i&&i!==l)return"wrong"}return Y.has(q.id)?"played":"idle"},se=q=>r===q.id?"loop":u?q.id===l?"loop":null:c&&q.id===i?"once":null,ke=(q,ne)=>{switch(q){case"played":case"correct":return t.jsx(us,{size:ne});case"wrong":return t.jsx(ys,{size:ne});default:return t.jsx(bs,{size:ne})}};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:[D===0&&e.map(q=>{const{x:ne,y:fe}=I(q);return t.jsx("line",{x1:L.x,y1:L.y,x2:ne,y2:fe,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),X.map(q=>t.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),C&&!_&&t.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:$,height:$,left:L.x-$/2,top:L.y-$/2}}),g?t.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:$,height:$,left:L.x,top:L.y},"aria-label":y,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:g,children:t.jsx(Br,{size:H,color:"currentColor",strokeWidth:1.5})}):t.jsx("div",{className:"sound-compass__center",style:{width:$,height:$,left:L.x,top:L.y},children:t.jsx(Br,{size:H,color:"currentColor",strokeWidth:1.5})}),e.map((q,ne)=>{const{x:fe,y:xe}=I(q),he=le(q),ie=se(q),ce={...f!==void 0||B?{"--shortcut-badge-scale":String(f??Math.max(.75,Math.min(3,b/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:he!=="idle"?10:1},ue=b,ge=Math.round(Math.max(10,Math.min(56,ue*.38))),Ee=Math.round(Math.max(7,Math.min(18,ue*.2))),Ne=Math.round(Math.max(10,Math.min(56,ue*.4))),Ke=v==="answered"&&(he==="played"||he==="correct"||he==="wrong"),ze=v===!0||Ke,qe=!Ke;return t.jsxs("div",{className:"sound-compass__speaker-pos",style:{...ce,left:fe-ue/2,top:xe-ue/2},children:[ie&&t.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${he}`+(ie==="once"?" sound-compass__pulse--once":""),style:{width:ue,height:ue,...ie==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}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?()=>h?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${he}`,style:{width:ue,height:ue},"aria-label":ae(he)?`${q.label}, ${ae(he)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[ze&&ke(he,ge),qe&&t.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?Ee:Ne},children:ne+1})]}),q.shortcut&&t.jsx(Ml,{keys:q.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function l4({children:e,position:n="top-left",size:a=24,className:r=""}){return t.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:e})}function u4({orientation:e="horizontal",label:n,className:a=""}){const r=Be("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 Ll({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:c=>n?.(c.target.checked)}),t.jsx("span",{className:"radio__dot"}),i&&t.jsx("span",{className:"radio__label body-2",children:i})]})}function c4({options:e,value:n,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:u}){const c=o.useId(),d=r??`radio-group-${c}`;return t.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(p=>t.jsx(Ll,{name:d,value:p.value,checked:n===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const d4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function p4({tone:e="info",title:n,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:c}=ve.useTranslation(),[d,p]=o.useState(!1),m=o.useRef(null),h=o.useCallback(()=>{const C=m.current;C&&C.contains(document.activeElement)&&Ya(C),p(!0),i?.()},[i]);if(d)return null;const b=Be("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=v==="assertive"?"alert":v==="polite"?"status":void 0,y=!!n,_=!!(a||r);return t.jsxs("div",{ref:m,className:b,role:g,children:[t.jsxs("div",{className:"alert__body",children:[t.jsxs("div",{className:"alert__header",children:[t.jsx(Qe,{icon:d4[e],size:20,className:"alert__icon"}),y&&t.jsx("span",{className:"alert__title body-2",children:n}),!y&&_&&t.jsx("div",{className:"alert__message body-3",children:a||r})]}),y&&_&&t.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&t.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const m4={ready:"search",guide:"info",error:"circle-alert"};function h4(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??m4[e],u=Be("search-summary",`search-summary--${e}`,i),c=n??a,d=typeof c=="string"&&r&&r.length>0?h4(c,r):c;return t.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&t.jsx(Qe,{icon:l,size:18,className:"search-summary__icon"}),t.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Sa({title:e,items:n}){const{t:a}=ve.useTranslation(),{anchorRect:r,openAt:s,close:i}=Ba(),l=o.useRef(null),u=Qr(!!r,(c,d)=>{c&&d?s(l.current?.querySelector("button")??d):i()},l);return t.jsxs("span",{ref:l,style:{display:"contents"},children:[t.jsx(me,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:c=>{na(c)||s(c.currentTarget)},onPointerLeave:c=>{na(c)||i()},onClick:c=>{u.touchPress(c.currentTarget)},onFocus:c=>{aa()||s(c.currentTarget)},onBlur:i}),r&&t.jsx(Wn,{title:e,items:n,showIndex:n.length>1,anchorRect:r,onClose:i})]})}function f4({items:e=[],value:n,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=ve.useTranslation(),u=o.useRef(null),c=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===n)?n:c??e[0]?.key,p=e.find(g=>g.key===d&&!g.disabled)?.key??c,m=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(g,y=m())=>{if(y.length===0)return;const _=(g%y.length+y.length)%y.length;y[_]?.focus(),y[_]?.click()},b=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const y=m(),_=y.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?h(_+1,y):g.key==="ArrowLeft"||g.key==="ArrowUp"?h(_-1,y):g.key==="Home"?h(0,y):h(y.length-1,y)},v=e.find(g=>g.key===d);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(g=>t.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===p?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>{g.key!==n&&a?.(g.key)},onKeyDown:b,children:g.label},g.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 g4={xs:12,sm:16,md:20,lg:28,xl:36};function b4(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 y4({src:e,name:n,size:a="md",shape:r="circle",className:s=""}){const{t:i}=ve.useTranslation(),[l,u]=o.useState(null),c=!!e&&l===e,d=n?b4(n):"",p=!!e&&!c,m=!p&&!!d,h=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":h,children:[p&&t.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>u(e??null)}),!p&&m&&t.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!p&&!m&&t.jsx(Qe,{icon:"user-round",size:g4[a],className:"avatar__icon"})]})}function v4(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 x4({onFilesSelected:e,accept:n,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:c}=ve.useTranslation(),d=o.useRef(null),[p,m]=o.useState(!1),[h,b]=o.useState([]),v=i??h,g=x=>{if(!x||x.length===0)return;const D=Array.from(x).filter(A=>v4(A,n));if(D.length===0)return;const k=a?D:D.slice(0,1);if(i===void 0){const A=a?[...v,...k]:k;b(A),e?.(A)}else e?.(k)},y=x=>{x.preventDefault(),!r&&m(!0)},_=x=>{x.preventDefault(),m(!1)},C=x=>{x.preventDefault(),m(!1),!r&&g(x.dataTransfer.files)},w=x=>{const D=x.target;try{g(D.files)}finally{D.value=""}},f=()=>{r||d.current?.click()},B=x=>{if(!r&&(l?.(x),i===void 0)){const D=v.filter((k,A)=>A!==x);b(D),l||e?.(D)}};return t.jsxs("div",{className:`file-upload ${u}`.trim(),children:[t.jsxs("div",{className:Be("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:f,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),f())},onDragOver:y,onDragLeave:_,onDrop:C,children:[t.jsx(Qe,{icon:"upload",size:24,className:"file-upload__icon"}),t.jsx("span",{className:"file-upload__prompt body-2",children:c("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(),f()},children:c("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),t.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:w,tabIndex:-1})]}),s&&v.length>0&&t.jsx("ul",{className:"file-upload__list",children:v.map((x,D)=>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":c("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>B(D),children:t.jsx(Qe,{icon:"x",size:14})})]},`${x.name}-${D}`))})]})}function _4({items:e,className:n=""}){const{t:a}=ve.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(Qe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const w4={small:14,medium:20,large:28};function B4({value:e,onChange:n,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=ve.useTranslation(),c=r||!n,[d,p]=o.useState(null),m=c?e:Number.isFinite(e)?Math.round(e):0,h=d??m,b=w4[s],v=x=>{x!==e&&n?.(x)},g=x=>{c||v(x)},y=x=>{c||aa()||p(x)},_=o.useRef(null),C=x=>{const D=Math.min(a,Math.max(1,x));v(D),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(D))?.focus()},w=x=>{if(!c){switch(x.key){case"ArrowRight":case"ArrowUp":C((m||0)+1);break;case"ArrowLeft":case"ArrowDown":C((m||1)-1);break;case"Home":C(1);break;case"End":C(a);break;default:return}x.preventDefault()}},f=m>=1&&m<=a?Math.round(m):1,B=()=>{c||p(null)};return t.jsx("div",{className:`rating rating--${s}${c?" rating--readOnly":""} ${l}`.trim(),ref:_,onKeyDown:w,role:c?"img":"radiogroup","aria-label":c?u("rating.valueLabel",{value:e,max:a}):i??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:B,onPointerUp:x=>{x.pointerType==="touch"&&B()},onPointerCancel:x=>{x.pointerType==="touch"&&B()},children:Array.from({length:a},(x,D)=>{const k=D+1,A=Math.max(0,Math.min(1,h-D)),E=A>0&&A<1,j=t.jsxs("span",{className:"rating__star-wrap",children:[t.jsx(Qe,{icon:"star",size:b,className:"rating__star rating__star--empty"}),A>0&&t.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${A*100}%`}:void 0,children:t.jsx(Qe,{icon:"star",size:b,className:"rating__star rating__star--filled"})})]});return c?t.jsx("span",{className:"rating__item","aria-hidden":"true",children:j},k):t.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===k,"aria-label":u("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===f?0:-1,onClick:()=>g(k),onMouseEnter:()=>y(k),children:j},k)})})}const A4=20,k4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function N4({value:e,onChange:n,palette:a=k4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=ve.useTranslation();return t.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(u=>{const c=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":c,"aria-label":c?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:c&&t.jsx(Qe,{icon:"check",size:A4,className:"color-picker__check"})},u)})})}function $l({icon:e,label:n,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:c}=ve.useTranslation(),d=u==="small",p=Be("category-icon",d?"category-icon--small":""),m=d?16:20,h=o.useRef(null),[b,v]=o.useState(!1),g=o.useMemo(()=>{const D=r&&typeof r=="object"?{...r}:{};return!s&&!i?D:{...D,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),y=a||n,[_,C]=o.useState(null);o.useLayoutEffect(()=>{b&&C(h.current?.getBoundingClientRect()??null)},[b]),o.useEffect(()=>{if(!l&&b)try{v(!1)}catch{}},[l,b]),o.useEffect(()=>{if(!b)return;const D=k=>{const A=h.current;if(!A)return;const E=k.target;E&&!A.contains(E)&&v(!1)};return document.addEventListener("pointerdown",D,!0),()=>document.removeEventListener("pointerdown",D,!0)},[b]);const w=o.useCallback(()=>{l&&v(!0)},[l]),f=o.useCallback(()=>{l&&v(!1)},[l]),B=o.useCallback(()=>v(!1),[]),x=o.useCallback(D=>{if(D.key==="Escape"){v(!1);return}(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),v(k=>!k))},[]);return t.jsxs("span",{ref:h,className:"category-icon__wrap",onPointerEnter:w,onPointerLeave:f,onFocus:w,onBlur:f,onKeyDown:x,role:"button",tabIndex:0,"aria-label":typeof y=="string"?c("common.descriptionFor",{name:y,defaultValue:`${y} \uC124\uBA85`}):void 0,"aria-haspopup":!!y,"aria-expanded":b,"data-tooltip-ignore":!0,children:[t.jsx(Qe,{icon:e,label:n,className:p,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:m}),b&&y&&t.jsx(xn,{anchorRect:_,text:typeof y=="string"?y:void 0,offset:8,onClose:B,className:"category-icon__tooltip",ariaLabel:typeof y=="string"?y:void 0})]})}let Tn=null;function er(e){if(Tn&&Tn!==e)try{Tn()}catch{}return Tn=e,()=>{Tn===e&&(Tn=null)}}function tr(e){if(Tn===e){Tn=null;try{e()}catch{}}}function D4(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 E4(e,n){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),c=o.useRef(null),d=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[h,b]=o.useState(!1),v=o.useRef([]),{previewCodes:g,previewBucket:y}=D4(e,n),_=`${g.join(",")}|${y??""}`,C=o.useMemo(()=>l.key===_?l.urls:[],[l,_]);o.useEffect(()=>{if(!g.length)return;let f=!1;return(async()=>{const B=[],x=[];for(const D of g)try{const k=Gs(D,y);if(!k){B.push("");continue}let A=null;try{A=await Ks(k)}catch{}if(!A)try{const E=await Ys(k);E&&(A=URL.createObjectURL(E),x.push(A))}catch{}B.push(A??"")}catch{B.push("")}f?x.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}):(v.current.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}),v.current=x,u({key:_,urls:B}))})(),()=>{f=!0}},[g.join(","),y]),o.useEffect(()=>()=>{v.current.forEach(f=>{try{URL.revokeObjectURL(f)}catch{}}),v.current=[]},[]);const w=o.useCallback(async f=>{if(f.stopPropagation(),f.preventDefault(),d.current){p.current&&tr(p.current),d.current=!1;try{c.current?.pause()}catch{}r(!1),i(-1);return}if(!C.filter(Boolean).length)return;let B=null;const x=()=>{d.current=!1;try{c.current?.pause()}catch{}B?.()};p.current=x;const D=er(x);d.current=!0,r(!0);for(let k=0;k<C.length&&d.current;k++){const A=C[k];if(A){i(k);try{await new Promise((E,j)=>{B=E;const z=new Audio(A);c.current=z,z.onended=()=>E(),z.onerror=()=>j(),z.play().catch(j)})}catch{break}}}D(),p.current===x&&(p.current=null,d.current=!1,r(!1),i(-1))},[C]);return o.useEffect(()=>()=>{p.current&&tr(p.current),d.current=!1;try{c.current?.pause()}catch{}c.current=null},[]),{playing:a,playingIndex:s,previewUrls:C,previewHover:h,setPreviewHover:b,previewBtnRef:m,handlePreview:w}}const S4=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 mo(e){const{index:n,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:u,completedIds:c,selectedIds:d,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:h,hideCheckBadge:b=!1,showTypeLabel:v=!1,onComplete:g,onSelect:y,onMore:_,countLabelOverride:C,size:w="square"}=e||{},{t:f}=ve.useTranslation(),[B,x]=o.useState(!1),D=o.useRef(null),[k,A]=o.useState(!1);o.useEffect(()=>{D.current?.matches(":hover")&&A(!0)},[]);const{playing:E,playingIndex:j,previewUrls:z,previewHover:P,setPreviewHover:W,previewBtnRef:S,handlePreview:M}=E4(r,a?.key),O=o.useCallback(()=>{y?y():x(!0)},[y]),Q=o.useCallback(()=>x(!1),[]),te=o.useCallback(()=>A(!0),[]),V=o.useCallback(()=>A(!1),[]),U=o.useCallback(()=>W(!0),[W]),R=o.useCallback(()=>W(!1),[W]),[F,N]=o.useState(null);o.useLayoutEffect(()=>{P&&N(S.current?.getBoundingClientRect()??null)},[P,S]);const[I,L]=o.useState(null);o.useLayoutEffect(()=>{k&&!B&&m&&L(D.current?.getBoundingClientRect()??null)},[k,B,m]);const $=o.useCallback(we=>{we.target===we.currentTarget&&(we.key==="Enter"||we.key===" ")&&(we.preventDefault(),O())},[O]),H=r||null,X=o.useMemo(()=>{if(!m)return null;const we=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,at=we&&we.length>0?we:S4(H);return at&&at.length>0?at:null},[m,p,H]),K=o.useCallback(we=>{we.stopPropagation(),h?.()},[h]),Y=o.useCallback(we=>we.stopPropagation(),[]),ae=o.useCallback(we=>{typeof g=="function"&&g(we)},[g]),le=u||(c&&r?.id!=null?c.has(String(r.id)):!1),se=!le&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);rl("speechear.popup.close",Q);const ke=Ci(),q=`${a?.label||""} ${n+1}`,ne=H?.title||H?.name||q;let fe=a?.icon,xe,he="",ie="";try{const we=H?.category_0||H?.category_main_code||H?.category_main,at=H?.category_1||H?.category_sub_code||H?.category_sub,Z=ke.find(re=>re.key===we);Z?.icon&&(fe=Z.icon),!xe&&Z?.color&&(xe={"--t-item-fg":Z.color}),!xe&&H?.iconColor&&(xe={"--t-item-fg":H.iconColor}),he=Z?f(`topic.${Z.key}`,{defaultValue:Z.label||""}):"";try{const re=Z?.subs?.find(pe=>pe.key===at);ie=re?f(`topic.sub.${re.key}`,{defaultValue:re.label||""}):""}catch{}}catch{}const ce=ie?`${he} / ${ie}`:he||a?.label||ne,ue=we=>f("training.countQuestions",{n:we}),ge=we=>f("training.countSentences",{n:we});let Ee="";try{if(H)if(a?.key==="LISTEN_IN_NOISE"){let we=0;Array.isArray(H.items)&&H.items.length>0?we=H.items.length:Array.isArray(H.sentences)&&H.sentences.length>0?we=H.sentences.length:H.sentences&&(we=1),Ee=ge(we)}else if(a?.key==="SHORT_STORY"){let we=1;Array.isArray(r?.items)?we=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?we=r.raw.items.length:Array.isArray(H?.questions)?we=H.questions.length:Array.isArray(H?.sentences)&&(we=H.sentences.length),Ee=ue(we)}else if(a?.key==="LONG_STORY"){let we=1;if(Array.isArray(H.items)&&H.items.length>0){const at=H.items.reduce((Z,re)=>{const pe=re.questionItems;return Array.isArray(pe)?Z+pe.length:Array.isArray(re.questions)?Z+re.questions.length:Z},0);we=at>0?at:H.items.length}else Array.isArray(H.questions)&&H.questions.length>0?we=H.questions.length:Array.isArray(H.sentences)&&H.sentences.length>0&&(we=H.sentences.length);Ee=ue(we)}else if(a?.key==="ORDERING_SENTENCE"){let we=1;Array.isArray(H.items)&&H.items.length>0?we=H.items.length:Array.isArray(H.sentences)&&H.sentences.length>0&&(we=H.sentences.length),Ee=ge(we)}else Array.isArray(H.items)&&(Ee=H.items.length>0?ue(H.items.length):"")}catch{}const Ne=w==="row",Ke=w==="list"||Ne,ze=w==="compact",qe=w==="small",He=qe&&a?.key?UC().find(we=>we.key===a.key):void 0,ct=He?fi[He.key]:void 0,ot=He?ct?f(`trainingType.${ct}.title`,{defaultValue:He.label}):He.label??"":"",st=v&&a?.label&&a.label!==String(ne)?String(a.label):qe&&ot&&ot!==String(ne)?ot:"",ht=!!st,Ae=C!==void 0?C:Ee,Fe=[st,typeof ne=="string"?ne:"",Ae].map(we=>String(we??"").trim()).filter(Boolean).join(" ");return t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:D,className:`training-block-button${Ke?" training-block-button--list":""}${Ne?" training-block-button--row":""}${ze?" training-block-button--compact":""}${qe?" training-block-button--small":""}${le?" training-block-button--completed":""}${se?" training-block-button--selected":""}${ht&&!qe?" training-block-button--withType":""}${qe&&!ht?" training-block-button--no-type-label":""}`,onClick:O,onPointerEnter:te,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:$,"aria-label":typeof s=="string"?s:Fe||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(ne)&&t.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),qe&&ot&&ot!==String(ne)&&t.jsx("span",{className:"training-block-button__type-label caption-2",children:ot}),t.jsx($l,{icon:fe,label:ne,tooltip:ce,wrapperStyle:xe,iconSize:qe||ze?"small":"medium"}),!b&&(le||se)&&!(h&&k)&&t.jsx(At,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":le?f("training.completed","\uD6C8\uB828 \uC644\uB8CC"):f("training.selected","\uC120\uD0DD\uB428")}),h&&t.jsx(At,{className:`training-block-button__remove${k?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":f("common.remove","\uC81C\uAC70"),onClick:K}),t.jsx("div",{className:`training-block-button__title ${ze?"body-3":qe?"body-3b":"h3"}`,children:String(ne)}),t.jsxs("div",{className:"training-block-button__description",children:[Ae?t.jsx("div",{className:`training-block-button__count ${qe?"caption-2":"caption-1"}`,children:Ae}):null,t.jsx("div",{className:"training-block-button__chevron",children:t.jsx(Qe,{icon:"chevron-right",label:f("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})})]}),(Ke&&!Ne||qe)&&z.length>0&&t.jsx("div",{ref:S,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:Y,onPointerEnter:U,onPointerLeave:R,children:t.jsx(me,{htmlType:"button",size:qe?28:32,type:"dot",icon:E?"pause":"play",variant:qe?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(ne).trim()?E?f("training.stopFor",{name:ne,defaultValue:`${ne} \uC815\uC9C0`}):f("training.previewFor",{name:ne,defaultValue:`${ne} \uBBF8\uB9AC \uB4E3\uAE30`}):E?f("training.stop","\uC815\uC9C0"):f("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:M})})]}),_&&t.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:we=>{we.stopPropagation(),_(we)},children:t.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(ne).trim()?f("common.moreFor",{name:ne}):f("common.more","\uB354\uBCF4\uAE30")})})]}),P&&t.jsx(xn,{anchorRect:F,text:E?f("training.stop","\uC815\uC9C0"):f("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:R}),k&&!B&&m&&(X?t.jsx(Wn,{anchorRect:I,items:X,activeIndex:j,onClose:V}):H?.subTitle?t.jsx(xn,{anchorRect:I,text:H.subTitle,offset:8,onClose:V}):null),B&&l&&l({trainingData:H,typeKey:a?.key??"",onClose:Q,onComplete:ae,popupTitle:String(ne),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:fe,popupIconTooltip:String(ce),popupWrapperStyle:xe})]})}const Rl=200;function j4(e){return e.itemId?(XC()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function Pl({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:s}=ve.useTranslation(),i=o.useMemo(()=>QC(s).map(u=>({type:u,items:(e.items??[]).filter(c=>c.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:c},d)=>[d>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:c.map((p,m)=>{const h=j4(p);return h?t.jsx(mo,{index:m,type:u,trainingData:h,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},u.key)])})});return n?t.jsx(ln,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const T4=200;function M4({icon:e,count:n,title:a,plan:r,tooltip:s=!0,className:i="",onClick:l,onMouseEnter:u,onMouseLeave:c}){const d=Be("count-tile",l&&"count-tile--clickable",i),p=o.useRef(null),[m,h]=o.useState(null),b=o.useRef(null),v=o.useRef(null),g=!!(m&&r&&s),y=o.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),v.current&&(clearTimeout(v.current),v.current=null)},[]),_=o.useCallback(()=>{y(),h(null)},[y]),C=o.useCallback(()=>{!s||!r||(y(),b.current=setTimeout(()=>{b.current=null,h(p.current?.getBoundingClientRect()??null)},Rl))},[s,r,y]),w=o.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),!v.current&&(v.current=setTimeout(()=>{v.current=null,h(null)},T4))},[]);return o.useEffect(()=>()=>{y()},[y]),o.useEffect(()=>{(!s||!r)&&_()},[s,r,_]),o.useEffect(()=>{if(!g)return;const f=x=>x instanceof Element&&(p.current?.contains(x)||!!x.closest(".tooltip-training")),B=x=>{f(x.target)?y():w()};return document.addEventListener("pointerover",B,!0),()=>document.removeEventListener("pointerover",B,!0)},[g,y,w]),t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:p,className:d,onClick:l?f=>{_(),l(f)}:void 0,onKeyDown:l?f=>{f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.currentTarget.click())}:void 0,onPointerEnter:f=>{f.pointerType==="touch"||f.pointerType==="pen"?_():C()},onMouseEnter:u,onMouseLeave:f=>{w(),c?.(f)},role:l?"button":"img",tabIndex:l?0:void 0,"aria-label":`${a} ${n}`,children:[t.jsx(Qe,{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(Pl,{plan:r,anchorRect:m,onClose:_})]})}let ja=0,Fl="",ho="",Ta=0;function Il(){return Ol(!1)}function L4(){return Ol(!0)}function Ol(e){const n=typeof document<"u";ja===0&&n&&(Fl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&n&&(Ta===0&&(ho=document.body.style.paddingRight),Ta++,document.body.style.paddingRight="0px"),ja++;let a=!1;return()=>{a||(a=!0,ja=Math.max(0,ja-1),e&&n&&(Ta=Math.max(0,Ta-1),Ta===0&&(ho?document.body.style.paddingRight=ho:document.body.style.removeProperty("padding-right"))),ja===0&&n&&(document.body.style.overflow=Fl))}}function $4(){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 R4({open:e,onClose:n,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:c=!0,className:d,contentClassName:p}){const{t:m}=ve.useTranslation(),h=o.useId(),b=o.useRef(null),v=o.useCallback(()=>n(),[n]);o.useEffect(()=>{if(!e)return;const C=document.activeElement,w=Il(),f=b.current;return Yr(f,C),f?.focus(),()=>{w();const B=document.activeElement;(!B||B===document.body||f&&f.contains(B))&&Zr(C)?.focus?.()}},[e]);const g=o.useRef(v),y=o.useRef(u);o.useEffect(()=>{g.current=v,y.current=u}),o.useEffect(()=>{if(e)return Vn(()=>{y.current&&g.current()})},[e]);const _=o.useRef(!1);return Gr(b,e),!e||typeof document>"u"?null:Qt.createPortal(t.jsx("div",{className:Be("dialog",d),onPointerDown:l?C=>{_.current=C.target===C.currentTarget}:void 0,onMouseDown:C=>{C.target===C.currentTarget&&C.preventDefault()},onClick:l?C=>{const w=_.current;_.current=!1,w&&C.target===C.currentTarget&&v()}:void 0,children:t.jsxs("div",{ref:b,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Be("dialog__surface",`dialog__surface--${i}`,p),onClick:C=>C.stopPropagation(),children:[r?t.jsx("div",{className:"dialog__header",children:t.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,c?t.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:v,children:t.jsx($4,{})}):null,t.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function P4({columns:e,rows:n,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:u,className:c=""}){const{t:d}=ve.useTranslation(),p=!l&&n.length===0;return t.jsxs("div",{className:Be("board",c),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:Be("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??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):n.map((m,h)=>t.jsx("tr",{className:"board__row",children:e.map(b=>t.jsx("td",{className:Be("board__td",`board__cell--${b.align??"left"}`),children:b.render(m,h)},b.key))},a(m,h)))})]})]})}function F4({name:e,role:n,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return t.jsxs("div",{className:Be("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 I4({groups:e,className:n=""}){return t.jsx("div",{className:Be("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 O4({title:e,kind:n,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:u=""}){const c=r??(s?t.jsx("img",{src:s,alt:""}):null);return t.jsxs("div",{className:Be("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[c?t.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:c}):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 H4({logo:e,alt:n,onDone:a,durationMs:r=3e3}){const s=_a(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 z4({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:Be("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 V4({items:e,className:n=""}){return t.jsx("ul",{className:Be("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 Hl(e){return typeof e=="string"?e:e.label}function zl({value:e,onChange:n,suggestions:a,openOnFocus:r=!1,filterSuggestions:s,onSelectSuggestion:i,autoActiveFirst:l=!1}){const u=o.useId(),[c,d]=o.useState(!1),[p,m]=o.useState(-1),h=o.useRef(null),b=o.useMemo(()=>{if(!a.length)return[];const j=e??"";return s===!1?a:j?typeof s=="function"?s(a,j):a.filter(z=>Hl(z).toLowerCase().includes(j.toLowerCase())):r?a:[]},[a,e,r,s]),[v,g]=o.useState(!1),y=o.useRef([]),_=v&&b.length===0?y.current:b;o.useEffect(()=>{_.length&&(y.current=_)},[_]);const C=o.useCallback(()=>g(!0),[]),w=o.useCallback(()=>g(!1),[]),f=l?0:-1;o.useEffect(()=>{c||m(f)},[c,f]),o.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]);const B=p<_.length?p:f<_.length?f:-1,x=o.useCallback(j=>{i?i(j):n?.(Hl(j)),d(!1)},[n,i]),D=o.useCallback(()=>d(!0),[]),k=o.useCallback(()=>{d(!0),m(f)},[f]),A=o.useCallback(()=>{h.current=setTimeout(()=>d(!1),120)},[]),E=o.useCallback(j=>{j.nativeEvent.isComposing||j.keyCode===229||(j.key==="ArrowDown"?(j.preventDefault(),d(!0),m(z=>Math.min(_.length-1,(z<_.length?z:f)+1))):j.key==="ArrowUp"?(j.preventDefault(),m(z=>Math.max(f,(z<_.length?z:_.length)-1))):j.key==="Enter"?B>=0&&x(_[B]):j.key==="Escape"&&c&&(j.preventDefault(),d(!1)))},[_,B,c,x,f]);return{listId:u,open:c,activeIdx:B,filtered:_,handleFocus:D,handleBlur:A,handleInput:k,handleKeyDown:E,handleSelect:x,handleCompositionStart:C,handleCompositionEnd:w}}const Co=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Gn(e){const{value:n,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:u,ariaDescribedBy:c,required:d,placeholder:p,ghostText:m,ghostHint:h,type:b="text",disabled:v=!1,readOnly:g=!1,error:y,helperText:_,maxLength:C,size:w=48,variant:f="input",fullWidth:B=!1,newline:x=!1,multiline:D=!1,rows:k=3,leftIcon:A,rightIcon:E,clearable:j=!1,list:z,showCount:P=!0,className:W="",onFocus:S,onBlur:M,onKeyDown:O,onEnter:Q,inputMode:te,autoComplete:V,autoFocus:U,suggestions:R,filterSuggestions:F,onSelectSuggestion:N,autoActiveFirst:I,openOnFocus:L=!1}=e,$=g||v?void 0:R,{t:H}=ve.useTranslation(),X=o.useId();!l&&!u&&an(`TextField:unnamed:${X}`,"[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 K=`tf-${X}`,Y=`tf-helper-${X}`,ae=o.useRef(null),le=zl({value:n??"",onChange:i,suggestions:$??[],openOnFocus:L,filterSuggestions:F,onSelectSuggestion:N,autoActiveFirst:I}),se=!!$&&le.open&&le.filtered.length>0,ke=o.useRef(null),[q,ne]=o.useState(null),fe=o.useCallback(()=>{const Ae=ke.current;if(!Ae||typeof window>"u")return;const Fe=Ae.getBoundingClientRect(),we=230,at=window.innerHeight-Fe.bottom<we+8&&Fe.top>we+8;ne({position:"fixed",left:Fe.left,width:Fe.width,...at?{bottom:window.innerHeight-Fe.top+8}:{top:Fe.bottom+8},zIndex:Aa(Ae)})},[]);Co(()=>{if(!se)return;fe();const Ae=Fe=>{const we=Fe.target;we&&we.nodeType===1&&we.closest?.(".text-field__suggestions")||fe()};return window.addEventListener("scroll",Ae,!0),window.addEventListener("resize",fe),()=>{window.removeEventListener("scroll",Ae,!0),window.removeEventListener("resize",fe)}},[se,fe]);const xe=o.useCallback(Ae=>{ae.current=Ae,typeof s=="function"?s(Ae):s&&(s.current=Ae)},[s]),he=m?`${m}${h??H("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:p,ie=n!==void 0,ce=ie&&b==="password",[ue,ge]=o.useState((a??"").length),Ee=ie?(n??"").length:ue,Ne=o.useRef(n);Co(()=>{Ne.current=n}),o.useEffect(()=>{const Ae=ae.current;if(!ce||!Ae)return;const Fe=n??"";Ae.value!==Fe&&(Ae.value=Fe)},[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,ue,x]);const Ke=C!=null&&Ee>C,ze=w===32?16:20,qe=Be("text-field",`text-field--s${w}`,f==="display"?"text-field--display":"",B?"text-field--full-width":"",v?"text-field--disabled":"",g?"text-field--readonly":"",y?"text-field--error":"",A?"text-field--has-left-icon":"",E||j?"text-field--has-right-icon":"",W),He={id:K,...ce?{}:ie?{value:n}:{defaultValue:a},ref:xe,placeholder:he,name:r,disabled:v,readOnly:g,autoFocus:U,maxLength:C,list:z,inputMode:te,autoComplete:V,"aria-label":!l&&u?u:void 0,"aria-required":d,"aria-invalid":!!y,"aria-describedby":[_||y?Y:null,c].filter(Boolean).join(" ")||void 0,role:$?"combobox":void 0,"aria-autocomplete":$?"list":void 0,"aria-haspopup":$?"listbox":void 0,"aria-expanded":$?se:void 0,"aria-controls":se?le.listId:void 0,"aria-activedescendant":se&&le.activeIdx>=0?`${le.listId}-option-${le.activeIdx}`:void 0,onChange:Ae=>{const Fe=Ae.target;ie||ge(Fe.value.length),i?.(Fe.value),$&&le.handleInput(),ce&&queueMicrotask(()=>{const we=Ne.current??"";Fe.value!==we&&(Fe.value=we)})},onCompositionStart:$?le.handleCompositionStart:void 0,onCompositionEnd:$?le.handleCompositionEnd:void 0,onFocus:(Ae=>{S?.(Ae),$&&le.handleFocus()}),onBlur:(Ae=>{M?.(Ae),$&&le.handleBlur()}),onKeyDown:(Ae=>{const Fe=(Ae.key==="Tab"&&!Ae.shiftKey||Ae.key===" ")&&!Ae.nativeEvent.isComposing;if(m&&Fe&&!g&&!v&&!(Ae.currentTarget.value??"").trim()){Ae.preventDefault();const we=Ae.currentTarget;ie||(we.value=m,ge(m.length)),i?.(m);return}$&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&le.activeIdx>=0?Ae.preventDefault():Q&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&(Ae.preventDefault(),Q()),O?.(Ae),$&&le.handleKeyDown(Ae)})},ct=j&&!v&&!g&&Ee>0,ot=()=>x?t.jsx("textarea",{...He,className:"text-field__input text-field__input--auto body-2",rows:1}):D?t.jsx("textarea",{...He,className:"text-field__input text-field__input--textarea body-2",rows:k}):t.jsx("input",{...He,type:b,className:"text-field__input body-2"}),st=f==="display"&&!x&&!D&&!!he,ht=()=>t.jsxs(t.Fragment,{children:[ot(),st&&t.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:he})]});return t.jsxs("div",{ref:ke,className:qe,children:[l&&t.jsxs("label",{htmlFor:K,className:"text-field__label caption-1",children:[l,d&&t.jsx("span",{className:"text-field__required",children:"*"})]}),t.jsxs("div",{className:"text-field__wrap",children:[A&&t.jsx("span",{className:"text-field__icon text-field__icon--left",children:t.jsx(Qe,{icon:A,label:"",className:"",svgClassName:"text-field__icon-svg",size:ze})}),ht(),C!=null&&P&&t.jsxs("span",{className:`text-field__count caption-2${Ke?" text-field__count--over":""}`,children:[Ee,"/",C]}),ct&&t.jsx(me,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:H("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ae=>{Ae.preventDefault()},onClick:()=>{!ie&&ae.current&&(ae.current.value="",ge(0)),i?.("")},tabIndex:-1}),E&&!ct&&t.jsx("span",{className:"text-field__icon text-field__icon--right",children:t.jsx(Qe,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:ze})})]}),!!$&&t.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:le.open&&(n??"").length>0&&le.filtered.length===0?H("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),se&&(typeof document>"u"?null:Qt.createPortal(t.jsx("ul",{id:le.listId,className:"text-field__suggestions",role:"listbox",style:q??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:le.filtered.map((Ae,Fe)=>t.jsx("li",{id:`${le.listId}-option-${Fe}`,role:"option","aria-selected":Fe===le.activeIdx,className:`text-field__suggestion body-2${Fe===le.activeIdx?" is-active":""}`,onMouseDown:we=>we.preventDefault(),onClick:()=>{le.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}-${Fe}`:Ae.id))}),document.body)),(_||y)&&t.jsx("div",{className:"text-field__footer",children:t.jsx("span",{id:Y,className:"text-field__helper caption-1",role:y?"alert":void 0,children:y||_})})]})}function cn({options:e,value:n,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:u=!1,className:c="",ariaLabel:d,ariaDescribedBy:p}){const{t:m}=ve.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),b=o.useId(),v=o.useId(),g=o.useRef(null),y=o.useCallback((S,M)=>{const O=window.innerHeight-S.bottom<260&&S.top>260;return{position:"fixed",left:S.left,minWidth:S.width,...O?{bottom:window.innerHeight-S.top+6}:{top:S.bottom+6},zIndex:Aa(M)}},[]),{open:_,setOpen:C,toggle:w,style:f,triggerRef:B,menuRef:x}=ka({computeStyle:y}),[D,k]=o.useState(-1),A=o.useCallback(()=>k(-1),[]),E=e.find(S=>S.value===n);o.useEffect(()=>{if(_){const S=e.findIndex(M=>M.value===n);k(S>=0?S:e.length?0:-1),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const O=M.querySelectorAll(".dropdown__option")[S];O&&(M.scrollTop=Math.max(0,O.offsetTop-M.clientHeight/2+O.clientHeight/2))})}},[_]),o.useEffect(()=>{_&&k(S=>{if(S>=0&&S<e.length)return S;const M=e.findIndex(O=>O.value===n);return M>=0?M:e.length?0:-1})},[_,e.length]);const j=o.useCallback(()=>{s||w()},[s,w]),z=o.useCallback(S=>{S.disabled||s||(S.value!==n&&a?.(S.value),C(!1))},[a,C,s,n]);o.useEffect(()=>{s&&C(!1)},[s,C]);const P=o.useCallback(S=>{if(!s){if(!_){(S.key==="Enter"||S.key===" "||S.key==="ArrowDown")&&(S.preventDefault(),C(!0));return}if(S.key==="Escape"){S.preventDefault(),C(!1);return}S.key==="ArrowDown"?(S.preventDefault(),k(M=>{let O=M+1;for(;O<e.length&&e[O].disabled;)O++;return O<e.length?O:M})):S.key==="ArrowUp"?(S.preventDefault(),k(M=>{let O=M-1;for(;O>=0&&e[O].disabled;)O--;return O>=0?O:M})):(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),e[D]?z(e[D]):C(!1))}},[s,_,e,D,z,C]),W=_?t.jsx("div",{ref:x,id:b,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:f,onMouseLeave:A,onMouseDown:S=>S.preventDefault(),children:e.map((S,M)=>t.jsxs("button",{id:`${b}-option-${M}`,type:"button",role:"option","aria-selected":S.value===n,className:Be("dropdown__option body-2",S.value===n?"dropdown__option--active":"",M===D?"dropdown__option--active":"",S.disabled?"dropdown__option--disabled":""),onMouseDown:O=>O.preventDefault(),onClick:()=>z(S),onMouseEnter:()=>k(M),disabled:S.disabled,children:[t.jsx("span",{className:"dropdown__option-check",children:S.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"})})}),S.label]},S.value))}):null;return t.jsxs("div",{ref:g,className:Be("dropdown",`dropdown--s${l}`,_?"dropdown--open":"",i?"dropdown--block":"",u?"dropdown--error":"",c),onKeyDown:P,children:[t.jsxs("button",{ref:B,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":_,"aria-controls":_?b:void 0,"aria-activedescendant":_&&D>=0?`${b}-option-${D}`:void 0,"aria-label":d,"aria-describedby":[d&&E?v:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:s,onClick:j,onBlur:S=>{_&&!x.current?.contains(S.relatedTarget)&&C(!1)},children:[t.jsx("span",{id:v,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:h}),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"&&Qt.createPortal(W,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function nr({page:e,totalPages:n,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=ve.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),c=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,n),p=()=>a(Math.max(1,Math.min(d,e-1))),m=()=>a(Math.min(d,e+1));return t.jsxs("div",{className:Be("pagination",i),children:[t.jsx(me,{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),d)," / ",d]}),t.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:c,disabled:e>=n,onClick:m})]})}const Ma=new Map;function An(e){const{t:n}=ve.useTranslation(),{options:a=[],value:r=a.find(f=>!f.disabled)?.key??a[0]?.key,onChange:s=f=>{},className:i="",size:l=40,shape:u="pill",useBG:c=!0,fullWidth:d=!1,minButtonWidth:p,ariaLabel:m}=e||{},h=o.useRef(null),b=a.filter(f=>!f.disabled),v=o.useId(),g=a.map(f=>f.key).join("\xB7");o.useEffect(()=>{if(!(!Oa||m!=null&&m!=="")){if(Ma.set(v,g||"(\uBCF4\uAE30 \uC5C6\uC74C)"),Ma.size>1){const f=[...Ma.values()].sort();an(`segmented-control-unnamed:${f.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${Ma.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${f.join(" / ")}`)}return()=>{Ma.delete(v)}}},[m,g,v]);const y=f=>{if(!b.length)return;const B=Math.max(0,b.findIndex(D=>D.key===r)),x=f==="first"?b[0]:f==="last"?b[b.length-1]:b[(B+f+b.length)%b.length];x&&(s(x.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(D=>D.dataset.segkey===x.key)?.focus())},_=f=>{switch(f.key){case"ArrowRight":case"ArrowDown":y(1);break;case"ArrowLeft":case"ArrowUp":y(-1);break;case"Home":y("first");break;case"End":y("last");break;default:return}f.preventDefault()},C=f=>{const B=x=>typeof x=="string"||typeof x=="number";if(!(!B(f.label)||f.count==null||f.count===!1||!B(f.count)))return`${f.label}, ${f.count}`},w=b.some(f=>f.key===r)?r:b[0]?.key;return t.jsx("div",{ref:h,onKeyDown:_,className:Be("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,d&&"segmented-control--full",!c&&"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(f=>t.jsx(me,{htmlType:"button",role:"radio","aria-checked":f.key===r,"data-segkey":f.key,tabIndex:f.key===w?0:-1,label:f.label,count:f.count,ariaLabel:C(f),disabled:f.disabled,className:f.key===r?"is-selected":"",onClick:()=>{f.disabled||s(f.key)},size:l,shape:u,useBorder:!1,useBG:!1},f.key))})}function fo({count:e,search:n,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:u}){const{t:c}=ve.useTranslation(),d=e!=null&&t.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??c("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:Be("toolbar",u),children:[t.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((m,h)=>t.jsx(An,{size:40,...m},m.ariaLabel??h))]}),p&&t.jsx("div",{className:"toolbar__row",children:t.jsxs("div",{className:"toolbar__row-end",children:[n&&t.jsx(Gn,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??c("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??c("common.search","\uAC80\uC0C9"),autoFocus:n.autoFocus,clearable:!0}),r?.map((m,h)=>t.jsx(cn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},h)),(s||i)&&t.jsxs("div",{className:"toolbar__pager",children:[s&&t.jsx(cn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??c("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&t.jsx(nr,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}function Vl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Vl).join(""):""}function W4(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"},Cg={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"}}},fg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},gg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},bg={answer:"Answer",distractor:"Distractor"},yg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},vg={clearAriaLabel:"Clear input"},xg={ariaLabel:"Select tab"},_g={ariaLabel:"Tabs"},wg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Bg={ariaLabel:"User avatar"},Ag={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"}},kg={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"}},Ng={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)"}},Dg={manage:{unit:"item(s)"}},Eg={cancelLabel:"Cancel"},Sg={subtitle:"Select a topic to start listening practice."},jg={steps:"Step {{current}} of {{total}}"},Tg={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"},Mg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},Lg={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}}"},$g={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Rg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Pg={previewRegion:"Report preview \u2014 scrollable sideways"},Ig={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Fg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Og={clearSelection:"Clear selection"},Hg={showResult:"Show {{type}} result"},zg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Vg={loading:"Loading"},Wg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},qg={ariaLabel:"Breadcrumb"},Ug={empty:"No items yet."},Gg={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"},Kg={common:M2,calendar:L2,passCard:$2,searchField:R2,rating:P2,colorPicker:I2,dropdown:F2,accordion:O2,header:H2,nav:z2,settings:V2,usage:W2,account:q2,help:U2,training:G2,trainingSettings:K2,customers:Y2,payment:Z2,coupons:X2,visits:J2,company:Q2,trainingType:eg,myWordTraining:tg,myWordTable:ng,keyWords:ag,wordTable:rg,wordSearch:og,wordPrint:sg,topic:ig,accessLinkManager:lg,login:ug,device:cg,manager:dg,wordPairs:pg,game:mg,footer:hg,landing:Cg,date:fg,trainingSetPage:gg,wordTrainingPreview:bg,wordData:yg,textField:vg,segmentedControl:xg,tabs:_g,fileUpload:wg,avatar:Bg,myHomework:Ag,trainingStatus:kg,store:Ng,homework:Dg,inquiry:Eg,trainingPlanRun:Sg,progress:jg,trainingMiss:Tg,table:Mg,wordScore:Lg,topBanner:$g,datePicker:Rg,report:Pg,tooltip:Ig,phonemeProfile:Fg,bulkBar:Og,debug:Hg,badge:zg,loader:Vg,soundCompass:Wg,breadcrumb:qg,board:Ug,promoBannerBg:Gg};const Yg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],eo="ko",Zg="ihab_display_language";function ki(){if(typeof window>"u")return eo;try{const e=localStorage.getItem(Zg);if(e&&Yg.some(n=>n.code===e))return e}catch{}return eo}function Ni(e){try{document.documentElement.lang=e}catch{}}$t.on("languageChanged",Ni),Ni(ki()),$t.use(ve.initReactI18next).init({resources:{ko:{translation:T2},en:{translation:Kg}},lng:ki(),fallbackLng:eo,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 wa={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},to=new WeakMap;function no(e){if(e)return to.get(e)}function Vt(e,n){e&&(e.style.setProperty(wa.title,n.title),e.style.setProperty(wa.description,n.description),to.set(e,n))}function Wt(e){e&&(e.style.removeProperty(wa.title),e.style.removeProperty(wa.description),to.delete(e))}const Di={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Ei(){const e=Bt(Di,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Si={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function ji(){const e=Bt(Si,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ti={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Mi(){const e=Bt(Ti,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Li={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function $i(){const e=Bt(Li,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Ri={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=Bt(Ri,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Ii={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Fi(){const e=Bt(Ii,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Oi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Hi(){const e=Bt(Oi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Vi(){const e=Bt(zi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Wi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function qi(){const e=Bt(Wi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ui={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Gi(){const e=Bt(Ui,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Ki={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Yi(){const e=Bt(Ki,Vt,Wt);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 Zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Xi(){const e=Bt(Zi,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Qi(){const e=Bt(Ji,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const el={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function tl(){const e=Bt(el,Vt,Wt);return t.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Xt=(e,n,a)=>({key:e,get label(){return $t.t(`promoBannerBg.${e}`,n)},textTone:a}),Xg=[Xt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("soft","\uC18C\uD504\uD2B8","dark"),Xt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Xt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Xt("warm","\uC6DC(\uAC15\uC870)","dark"),Xt("dark","\uB2E4\uD06C","light"),Xt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Xt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Xt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Xt("success","\uC131\uACF5/\uC644\uB8CC","light"),Xt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Xt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],nl={main:Ei,soft:ji,sub:Mi,deep:$i,softSub:Pi,warm:Fi,dark:Hi,radial:Vi,diagonal:qi,dots:Gi,outline:Yi,success:Xi,naver:Qi,instagram:tl};function al({storageKey:e="fontScale",baseFont:n=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=B=>Math.max(a,Math.min(r,Number(B))),u=B=>{try{const g=localStorage.getItem(B),w=g?Number(g):1;return Number.isFinite(w)?l(w):l(1)}catch{return l(1)}},[c,d]=o.useState(()=>u(e)),[m,p]=o.useState(e);m!==e&&(p(e),d(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const h=B=>{d(typeof B=="function"?g=>l(B(g)):l(B))},b=()=>h(B=>+(B+s).toFixed(6)),v=()=>h(B=>+(B-s).toFixed(6)),f=c<r-Number.EPSILON,y=c>a+Number.EPSILON,_=Math.round(n*c),C=Math.round(_*i);return{scale:c,setScale:h,increase:b,decrease:v,canIncrease:f,canDecrease:y,fontSize:_,lineHeight:C}}function rl(e,n){const a=_a(n);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const ao=" \xB7 ",ol=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ao)?e.split(ao).pop()??e:e})(),Jg=o.createContext(!1),qn=[];let sl=null;function Qg(e){const n=o.useContext(Jg);o.useEffect(()=>{if(n||typeof e!="string"||!e)return;qn.length===0&&(sl=document.title);const a={text:ol?`${e}${ao}${ol}`:e};return qn.push(a),document.title=a.text,()=>{const r=qn.lastIndexOf(a);r>=0&&qn.splice(r,1),document.title=qn.length?qn[qn.length-1].text:sl??document.title}},[e,n])}const il=[{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"}],eb=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ra(e,n){return eb().compare(e,n)}const Xa=new Map;function tb(e){const n=Xa.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)),Xa.size>5e3&&Xa.clear(),Xa.set(e,a),a}function nb(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 ab(e,n){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(n);if(r===s)return 0;const i=(d,m)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=nb(m);return p!==null?[p]:tb(m)},l=i(e,r),u=i(n,s),c=Math.min(l.length,u.length);for(let d=0;d<c;d++){const m=l[d],p=u[d];if(typeof m=="number"&&typeof p=="number"){if(m!==p)return m-p;continue}if(typeof m=="number")return-1;if(typeof p=="number")return 1;const h=ra(m,p);if(h!==0)return h}return l.length!==u.length?l.length-u.length:ra(r,s)}const ll=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function ro(e,n,a){const r=ll(e),s=ll(n);if(r||s)return r===s?0:r?1:-1;const i=ab(e,n);return a?i:-i}function rb(e,n,a){const{t:r}=ve.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&il.some(f=>f.value===v)?v:"25"}),[l,u]=o.useState(1),[c,d]=o.useState(n);Object.is(c,n)||(d(n),l!==1&&u(1));const m=o.useMemo(()=>il.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),p=o.useCallback(v=>{i(v),u(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(s)));(l>h||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const b=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((b-1)*Number(s),b*Number(s)),[e,b,s]),pageSizeProps:{options:m,value:s,onChange:p},paginationProps:{page:b,total:h,onChange:u},setPage:u}}function ob(e){const[n,a]=o.useState(null),r=o.useRef(n),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(c=>{const d=r.current,m=d?.key===c?{key:c,asc:!d.asc}:{key:c,asc:!0};r.current=m,a(m),s.current?.(m)},[]),l=o.useCallback((c,d)=>({label:c,sortDir:n?.key===d?n.asc?"asc":"desc":null,onClick:()=>i(d)}),[n,i]),u=o.useCallback((c,d)=>{if(!n)return c;const{key:m,asc:p}=n;return[...c].sort((h,b)=>ro(d(h,m),d(b,m),p))},[n]);return{\uC815\uB82C:n,\uCE78:l,sortRows:u}}const un="\uC804\uCCB4",sb=new Map;try{$t.store?.on?.("added",()=>sb.clear())}catch{}Object.fromEntries(Object.entries(CC).map(([e,{nucleus:n}])=>[e,n]));const ib={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"})},lb={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"})},ub={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 cb(e,n){if("place"in n)return ib[n.place](e);const a=lb[n.vowel](e);return n.glide?`${a} \xB7 ${ub[n.glide](e)}`:a}const db=(e,{defaultValue:n})=>n,ul=(e,n)=>({jamos:e,phonetic:n,tooltip:cb(db,n)}),_n=(e,n)=>n.map(a=>ul([a],{place:e})),Rt=(e,n,a)=>ul([...e],a?{vowel:n,glide:a}:{vowel:n}),oo={cho:[_n("labial",["\u3142","\u3143","\u314D","\u3141"]),_n("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),_n("alveolar",["\u3145","\u3146"]),_n("palatal",["\u3148","\u3149","\u314A"]),_n("velar",["\u3131","\u3132","\u314B"]),_n("glottal",["\u314E"])],jung:[[Rt("\u3163","frontHigh"),Rt("\u315F","frontHigh","w"),Rt("\u3162","frontHigh","velar")],[Rt("\u3161","backHighUnrounded")],[Rt("\u315C","backHighRounded"),Rt("\u3160","backHighRounded","j")],[Rt("\u3154\u3150","frontMid"),Rt("\u3156\u3152","frontMid","j"),Rt("\u3159\u315A\u315E","frontMid","w")],[Rt("\u3153","backMidUnrounded"),Rt("\u3155","backMidUnrounded","j"),Rt("\u315D","backMidUnrounded","w")],[Rt("\u3157","backMidRounded"),Rt("\u315B","backMidRounded","j")],[Rt("\u314F","low"),Rt("\u3151","low","j"),Rt("\u3158","low","w")]],jong:[_n("labial",["\u3142","\u3141"]),_n("alveolar",["\u3137","\u3134","\u3139"]),_n("velar",["\u3131","\u3147"])]},pb=e=>e===mb?[]:Array.from(e),mb="__NO_CODA__",so=e=>e.map(n=>n.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),cl={cho:so(oo.cho),jung:so(oo.jung),jong:so(oo.jong)};cl.jung.flat().forEach(({v:e})=>{for(const n of pb(e));}),new Set(cl.cho.flat().map(e=>e.v));function hb(e,n=!0){const a=_a(e);o.useEffect(()=>{if(n)return Vn(()=>{a.current?.()})},[n,a])}function Ba(){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 Cb(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((c,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(c),s(d)},e)},[e]),u=o.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),s(null)},[]);return{payload:n,anchorRect:r,openAfterDelay:l,close:u}}function dl(e="warning"){const[n,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((p,h)=>{s(h),a(p),l(b=>b+1)},[]),c=o.useCallback(p=>u(p,"warning"),[u]),d=o.useCallback(p=>u(p,"normal"),[u]),m=o.useCallback(()=>a(""),[]);return{toastMessage:n,toastType:r,toastKey:i,showToast:u,showWarning:c,showNormal:d,clearToast:m}}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({position:"fixed"}),c=o.useRef(null),d=o.useRef(null),m=o.useCallback(()=>{c.current&&u(e(c.current.getBoundingClientRect(),c.current))},[e]);o.useLayoutEffect(()=>{s&&m()},[s,m]),o.useEffect(()=>{if(!s)return;let b=d.current?.offsetHeight??0;b>0&&m();let v=0,f=null;typeof ResizeObserver<"u"&&d.current&&(f=new ResizeObserver(()=>{const w=d.current?.offsetHeight??0;if(w!==b){if(b=w,++v>4){f?.disconnect(),f=null;return}m()}}),f.observe(d.current));const y=w=>{const x=w.target;r&&x.closest?.(r)||c.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",y),document.addEventListener("pointerdown",y);const _=w=>{d.current?.contains(w.target)||(n==="reposition"?m():n==="close"&&i(!1))};n!=="ignore"&&window.addEventListener("scroll",_,!0);const C=()=>{a==="reposition"?m():a==="close"&&i(!1)};let B=null;const g=()=>{C(),B&&clearTimeout(B),B=setTimeout(()=>{B=null,a==="reposition"&&m()},250)};return a!=="ignore"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",g)),()=>{f?.disconnect(),document.removeEventListener("mousedown",y),document.removeEventListener("pointerdown",y),n!=="ignore"&&window.removeEventListener("scroll",_,!0),a!=="ignore"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",g)),B&&clearTimeout(B)}},[s,m,n,a,r]),o.useEffect(()=>{if(s)return Vn(()=>i(!1))},[s]);const p=o.useCallback(()=>i(b=>!b),[]),h=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:p,close:h,style:l,triggerRef:c,menuRef:d}}function fb(e,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[u,c]=o.useState([]),[d,m]=o.useState(0),[p,h]=o.useState("idle"),[b,v]=o.useState(null),[f,y]=o.useState([]),[_,C]=o.useState(null),[B,g]=o.useState(0),w=o.useRef(0),x=o.useCallback(P=>{w.current=typeof P=="function"?P(w.current):P,g(w.current)},[]),A=o.useRef(r),k=o.useRef(s);o.useEffect(()=>{A.current=r,k.current=s},[r,s]);const N=o.useRef([]),E=()=>{N.current.forEach(clearTimeout),N.current=[]},S=(P,F)=>{N.current.push(setTimeout(F,P))};o.useEffect(()=>()=>E(),[]);const I=u[d]?.id??null,$=o.useRef(null),W=o.useCallback(()=>{E(),h("playing"),y([]),C(null),x(0);let P=0;e.forEach((F,D)=>{S(P,()=>{m(D),v(F.id),A.current?.(F)}),S(P+1e3,()=>{v(null),y(O=>[...O,F.id])}),P+=1300}),S(P,()=>{h("done"),k.current?.({score:0,total:e.length})})},[e,x]),j=o.useCallback((P,F)=>{if(F>=P.length){h("done"),k.current?.({score:w.current,total:P.length});return}$.current=null,m(F),C(null),h("playing"),v(P[F].id),A.current?.(P[F]),S(i,()=>{v(null),h("waiting")})},[i]),M=o.useCallback(()=>{E();const P=va(e);c(P),x(0),y([]),j(P,0)},[e,j,x]),H=o.useCallback(()=>{n==="playback"?(c(e),W()):M()},[n,e,W,M]),Q=o.useCallback(()=>{E(),h("idle"),v(null),y([]),C(null),m(0),x(0),c([])},[x]),te=e.map(P=>P.id).join("|");o.useEffect(()=>(a?H():Q(),()=>E()),[n,te,a]);const V=o.useCallback(P=>{p!=="waiting"||n==="playback"||$.current===d||($.current=d,C(P),P===u[d]?.id&&x(F=>F+1),n==="exam"?(h("playing"),S(400,()=>j(u,d+1))):(h("feedback"),S(l,()=>j(u,d+1))))},[p,n,u,d,j,l,x]),U=n==="playback"?e.length:u.length;return{bind:{activeSpeakerId:b,playedIds:f,selectedId:_,answerId:I,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:V},index:d,total:U,score:B,phase:p,done:p==="done",start:H,reset:Q}}function gb({title:e,description:n,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:u,titleColor:c,descriptionColor:d,className:m=""}){const p=s??i??"main",h=o.useRef(null),[b,v]=o.useState("main"),f=rn("(max-width: 767px)"),y=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const B=h.current;if(!B)return;const g=no(B),w=(x,A,k)=>{if(k!==void 0)B.style.setProperty(A,k),y.current[x]=!0;else if(y.current[x]){const N=g?.[x];N?B.style.setProperty(A,N):B.style.removeProperty(A),y.current[x]=!1}};w("title","--promo-banner-bg-title",c),w("description","--promo-banner-bg-description",d)},[c,d,p]),o.useLayoutEffect(()=>{const B=h.current;if(!B)return;const g=no(B);v(g?.actionVariant??"main")},[p]);const _=Be("promo-banner",`promo-banner--${l}`,m),C=nl[p];return t.jsxs("div",{ref:h,className:_,role:"note",children:[t.jsx(C,{}),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(me,{htmlType:"button",size:40,variant:u??b,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...f?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function bb({children:e,interval:n=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=ve.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),c=u.length,[d,m]=o.useState(0),[p,h]=o.useState(!1),[b,v]=o.useState(!1),[f,y]=o.useState(!1),_=o.useRef(null),C=o.useRef(null),B=o.useRef(null),g=Xr(),w=p||b||f,x=c>0?Math.min(d,c-1):0;o.useEffect(()=>{if(c<2||n<=0||w||g)return;const k=window.setInterval(()=>m(N=>(Math.min(N,c-1)+1)%c),n);return()=>window.clearInterval(k)},[c,n,w,g]);const A=k=>{C.current!=null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>{C.current=null,y(!1)},k)};return o.useEffect(()=>()=>{C.current!=null&&window.clearTimeout(C.current)},[]),o.useEffect(()=>{if(!f)return;const k=N=>{N.pointerType==="touch"&&(B.current&&B.current.contains(N.target)||(C.current!=null&&(window.clearTimeout(C.current),C.current=null),y(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[f]),c===0?null:t.jsxs("section",{ref:B,className:Be("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{_.current=k.pointerType},onPointerDown:k=>{_.current=k.pointerType,k.pointerType==="touch"&&(C.current!=null&&(window.clearTimeout(C.current),C.current=null),y(!0))},onPointerUp:k=>{k.pointerType==="touch"&&A(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&A(5e3)},onMouseEnter:()=>{_.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:k=>{let N=!0;try{N=k.target.matches(":focus-visible")}catch{N=!0}v(N)},onBlur:k=>{k.currentTarget.contains(k.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((k,N)=>t.jsx("div",{className:"top-banner__slide","aria-hidden":N!==x,...N!==x?{inert:!0}:{},children:k},N))})}),c>1&&t.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((k,N)=>t.jsx("button",{type:"button",className:`top-banner__dot${N===x?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:c,index:N+1,defaultValue:`${c}\uAC1C \uC911 ${N+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":N===x,onClick:()=>m(N)},N))})]})}function yb({title:e,body:n,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:c}=ve.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:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const m=d.currentTarget.closest('[role="list"]');if(!m)return;const p=Array.from(m.querySelectorAll("[data-accordion-header]")),h=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[h+1]:p[h-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(Qe,{icon:a?"chevron-up":"chevron-down",label:a?c("accordion.collapse","\uC811\uAE30"):c("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 vb({items:e=[],defaultOpenIndex:n=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:n}),u=(c,d)=>i.id!=null&&c.id!=null?c.id===i.id:i.id==null&&d===i.index;return t.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>t.jsx(yb,{title:c.title,body:c.body,avatar:c.avatar,open:u(c,d),onToggle:()=>l(u(c,d)?{index:-1}:{index:d,id:c.id}),bodyClassName:s},c.id??d))})}function xb(){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 _b(){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 wb(){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 At(e){const{t:n}=ve.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:w,number:x,position:A="top-right",onClick:k,animate:N=!1}=e,E=w??"check",S=x!==void 0?"number":E,I=typeof r=="number"?r:32,$=Be("circle-badge",`circle-badge--${S}`,`circle-badge--${A}`,`circle-badge--${I}`,N?"circle-badge--animate":"",k?"circle-badge--clickable":"",s),W=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:$,onClick:k,onKeyDown:k?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??W,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&t.jsx(xb,{}),x===void 0&&E==="remove"&&t.jsx(_b,{}),x===void 0&&E==="minus"&&t.jsx(wb,{})]})}const{label:u,children:c,variant:d="default",fill:m="filled",minWidth:p,iconLeft:h,iconRight:b,color:v}=e,f=typeof r=="number"?"medium":r??"medium",y={small:"caption-2b",medium:"body-3b",large:"body-2b"}[f]??"body-2b",_={small:12,medium:14,large:16}[f]??14,C=Be("badge",`badge--${d}`,`badge--${f}`,m!=="filled"?`badge--${m}`:"",y,s),B=v?.startsWith("--")?`var(${v})`:v,g=p!==void 0||B?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...B?{"--badge-color":B}:{}}:void 0;return t.jsxs("span",{className:C,style:g,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&t.jsx(Qe,{icon:h,size:_,className:"badge__icon"}),u??c,b&&t.jsx(Qe,{icon:b,size:_,className:"badge__icon"})]})}function Na({columns:e=[],onClose:n,className:a="",size:r="medium"}){const{t:s}=ve.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),c=o.useMemo(()=>{const y=[{title:null,columns:e}];let _=e;for(const C of l){const B=_?.[C.ci]?.items?.[C.ii];if(!B||!Array.isArray(B.children)||!B.children.length)break;_=[{title:null,items:B.children}],y.push({title:B.label||null,columns:_})}return y},[e,l]),d=c[c.length-1],m=c.length-1,p=o.useCallback(()=>u(y=>y.slice(0,Math.max(0,Math.min(y.length,m)-1))),[m]),h=o.useRef(null),b=o.useRef(null),v=c.length;o.useEffect(()=>{b.current||(b.current=document.activeElement);let y=0,_=0;const C=()=>{const B=h.current?.querySelector("button:not([disabled])");if(B&&B.offsetParent){B.focus({preventScroll:!0});return}_++<20&&(y=requestAnimationFrame(C))};return y=requestAnimationFrame(C),()=>cancelAnimationFrame(y)},[v]),o.useEffect(()=>()=>{b.current?.focus?.({preventScroll:!0})},[]);const f=o.useCallback((y,_,C)=>{if(y){if(Array.isArray(y.children)&&y.children.length){u(B=>[...B.slice(0,m),{ci:_,ii:C}]);return}try{typeof y.onClick=="function"&&y.onClick()}catch{}try{y&&y.closeOnSelect&&typeof n=="function"&&n()}catch{}}},[n,m]);return t.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(c.length>1||d.title)&&t.jsxs("div",{className:"tooltip-menu__header",children:[c.length>1?t.jsx(me,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,t.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),t.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((y,_)=>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((C,B)=>t.jsxs(o.Fragment,{children:[C.separatorBefore&&B>0&&t.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),t.jsx(me,{htmlType:"button",className:"tooltip-menu__item",size:i,type:C.label?"bar":"dot",icon:C.selected?"check":C.icon||"none",rightIcon:Array.isArray(C.children)&&C.children.length?"chevron-right":C.badgeCount?t.jsx(At,{type:"dot",position:"inline",number:Math.min(C.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:C.label,ariaLabel:C.label&&C.badgeCount&&C.badgeCount>0?s("nav.badgeLabel",{label:C.label,count:C.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):C.label,onClick:()=>f(C,_,B),selected:C.selected,disabled:C.disabled,showTooltipInfo:C.tooltip||!1,useBorder:!1,align:"left"})]},B))})]},_))})]})}const pl=".content-area";function io(e,n="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(pl);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&an("nav-scroll-container",`[${n}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${pl}) \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 lo=52,Ja=10,ml=e=>e&&e>0?e:0;function hl({items:e=[],activeKey:n,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=ve.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",m=r==="manager"?u("nav.modeLabelMalgwi","\uB9D0\uADC0"):u("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=o.useRef(null),[h,b]=o.useState(0),v=e.length;o.useEffect(()=>{const P=p.current;if(!P)return;const F=()=>{const L=typeof getComputedStyle=="function"?getComputedStyle(P):null,R=P.clientWidth-(parseFloat(L?.paddingLeft??"")||0)-(parseFloat(L?.paddingRight??"")||0),z=P.querySelector(".bottom-nav__left"),X=z?.nextElementSibling,K=(z?.offsetWidth??0)+(z&&X?.classList.contains("bottom-nav__divider")?X.offsetWidth:0);b(Math.max(0,R-K))};if(F(),typeof ResizeObserver>"u")return;const D=new ResizeObserver(F);D.observe(P);const O=P.querySelector(".bottom-nav__left");return O&&D.observe(O),()=>D.disconnect()},[s]);const f=lo+1,y=P=>Math.max(0,Math.floor((P+Ja)/(lo+Ja))),_=v*(lo+Ja)-Ja<=h,C=h<=0||i.length===0&&_?v:Math.min(v,y(h-f)),B=h>0&&C<v,g=B?C:v,w=e.slice(0,g),x=e.slice(g),A=B||i.length>0,k=o.useCallback((P,F)=>({position:"fixed",bottom:window.innerHeight-P.top+8,right:window.innerWidth-P.right,zIndex:Aa(F)}),[]),N=o.useId(),{open:E,toggle:S,close:I,style:$,triggerRef:W,menuRef:j}=ka({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),M=o.useCallback((P,F)=>F>0?u("nav.badgeLabel",{label:P,count:F,defaultValue:"{{label}}, {{count}}\uAC1C"}):P,[u]),H=o.useCallback((P,F)=>F>0?u("nav.badgeInsideLabel",{label:P,count:F,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):P,[u]),Q=o.useCallback(()=>s?.(c),[s,c]),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),io(l,"BottomNav")),I())}})),...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?.(),I()}}))]}],[x,i,n,a,I]),U=[...x,...i].reduce((P,F)=>P+ml(F.badgeCount),0);return t.jsxs("nav",{className:"bottom-nav",ref:p,"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(me,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:m,className:"bottom-nav-item",onClick:Q})}),t.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),t.jsx("div",{className:"bottom-nav__items",children:w.map((P,F)=>{const D=ml(P.badgeCount);return t.jsxs("span",{className:"bottom-nav__slot",children:[t.jsx(me,{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),io(l,"BottomNav"))}}),D>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(At,{type:"dot",position:"top-right",number:Math.min(D,99),size:24})})]},P.key??`__slot-${F}`)})}),A&&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:W,className:"bottom-nav__slot",children:[t.jsx(me,{htmlType:"button",size:52,type:"dot",icon:te?.icon??"ellipsis",ariaLabel:H(te?.label??u("nav.more","\uB354\uBCF4\uAE30"),U),selected:!!te,className:"bottom-nav-item",onClick:S,"aria-expanded":E,"aria-controls":E?N:void 0}),U>0&&t.jsx("span",{"aria-hidden":"true",children:t.jsx(At,{type:"dot",position:"top-right",number:Math.min(U,99),size:24})}),E&&Qt.createPortal(t.jsx("div",{id:N,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:$,ref:j,children:t.jsx(Na,{columns:V,onClose:I})}),document.body)]})})]})]})}function Cl(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 fl(e,n,a){return a&&a>0?e("nav.badgeLabel",{label:n,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):n}function Bb(e){const{t:n}=ve.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:u,onFeedback:c,onAccount:d}=e||{},m="default";return s||i||l||u||c||d?t.jsxs("div",{className:"side-nav__footer",children:[s&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,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(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bell",ariaLabel:fl(n,n("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&t.jsx(At,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"settings",ariaLabel:n("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),u&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"message-circle-question-mark",ariaLabel:n("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:u,selected:a==="help"}),c&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bug",ariaLabel:n("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:c,selected:a==="feedback"}),d&&t.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"user-round",ariaLabel:n("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function gl(e){const{t:n}=ve.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:c,state:d,labelStyle:m}=e||{},p=a?.key??r??"",h=a?.label??s??"",b=a?.icon??i??"",v=a?.badge??0,f=t.jsx("span",{className:"side-nav__icon-wrap",children:t.jsx(Qe,{icon:b,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),y=d==="disabled",_=`side-nav__item ${l?"active":""} ${d||""} ${y?"disabled":""} ${a?.child?"side-nav__item--child":""}`,C=o.useCallback(B=>{if(y)return;const g=B.detail>0;if(g)try{B.currentTarget.blur()}catch{}u?.(p,B.currentTarget,g)},[y,p,u]);return t.jsxs("button",{type:"button",className:_,onClick:C,"aria-label":typeof h=="string"?fl(n,h,v):void 0,"aria-current":l?"page":void 0,style:c,"aria-disabled":y,children:[f,t.jsx("span",{className:"side-nav__label button-1 f",style:m,children:h}),v>0&&t.jsx(At,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),d==="loading"&&t.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":n("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function bl(e){const{t:n}=ve.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:b,scrollContainer:v}=e||{},f=h==="manager",y=o.useCallback(()=>b?.(f?"malgwi":"manager"),[b,f]),_=o.useRef(null),[C,B]=o.useState(null);o.useEffect(()=>{const k=_.current;if(!k)return;const N=()=>{const{scrollHeight:S,clientHeight:I,scrollTop:$}=k;if(S<=I+1){B(null);return}const W=Math.max(24,I/S*I),j=I-W,M=S-I;B({top:Math.round($/M*j),height:Math.round(W)})};N(),k.addEventListener("scroll",N,{passive:!0});const E=typeof ResizeObserver<"u"?new ResizeObserver(N):null;E?.observe(k);for(const S of Array.from(k.children))E?.observe(S);return()=>{k.removeEventListener("scroll",N),E?.disconnect()}},[a]);const g=o.useRef(null),w=o.useCallback(k=>{const N=_.current;N&&(k.preventDefault(),g.current={y:k.clientY,top:N.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),x=o.useCallback(k=>{const N=_.current,E=g.current;!N||!E||(N.scrollTop=E.top+(k.clientY-E.y)*(N.scrollHeight/N.clientHeight))},[]),A=o.useCallback(k=>{g.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return t.jsxs("nav",{ref:_,"aria-label":n("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[C&&t.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:t.jsx("div",{className:"side-nav__scroll-thumb",style:{top:C.top,height:C.height},onPointerDown:w,onPointerMove:x,onPointerUp:A,onPointerCancel:A})}),t.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,N)=>t.jsxs(o.Fragment,{children:[k.divider&&t.jsx("div",{className:"side-nav__separator"}),t.jsx(gl,{item:k,active:!!k.key&&k.key===r,state:k.disabled?"disabled":void 0,onClick:(E,S,I)=>{if(k.disabled)return;if(k.href){if(Cl(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),I)try{S?.blur()}catch{}return}if(s?.(k.key),io(v,"SideNav"),!I)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 $=document.querySelector(".header");if($){const W=typeof $.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&W&&$.matches(":hover"))){$.classList.add("header--force-collapsed");const j=()=>{$.classList.remove("header--force-collapsed"),$.removeEventListener("mouseenter",j)};$.addEventListener("mouseenter",j)}}}})]},k.key??`side-nav__item-${N}`)),b&&t.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),b&&t.jsx(gl,{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(Bb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p})]})}var Qa='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',uo='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',Ab='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 yl({appMode:e}){const{t:n}=ve.useTranslation(),a=e==="manager",r=a?uo:Qa,s=Ab;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 vl({activeKey:e,onChange:n,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:b,scrollContainer:v}){const{t:f}=ve.useTranslation(),y=rn("(max-width: 767px)"),_=o.useMemo(()=>(a??[]).filter($=>!$.section&&($.key||$.label)).map($=>({key:$.key,label:typeof $.label=="string"?$.label:void 0,icon:$.icon,state:$.disabled?"disabled":void 0,badgeCount:$.badge})),[a]),C=o.useCallback($=>{const W=a?.find(j=>j.key===$);if(!W?.disabled){if(W?.href){Cl(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}n?.($)}},[a,n]),B=o.useMemo(()=>{const $=[];return l&&$.push({key:"debug",icon:"terminal",label:f("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&$.push({key:"notifications",icon:"bell",label:f("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),d&&$.push({key:"settings",icon:"settings",label:f("nav.settings","\uC124\uC815"),onClick:d}),m&&$.push({key:"help",icon:"message-circle-question-mark",label:f("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),p&&$.push({key:"feedback",icon:"bug",label:f("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),c&&$.push({key:"account",icon:"user-round",label:f("nav.account","\uACC4\uC815"),onClick:c}),$},[f,l,u,d,m,p,c,i]),g=o.useCallback(($,W)=>({position:"fixed",top:$.bottom+8,right:Math.max(8,window.innerWidth-$.right),zIndex:Aa(W)}),[]),w=o.useId(),{open:x,toggle:A,close:k,style:N,triggerRef:E,menuRef:S}=ka({computeStyle:g,onScroll:"ignore",onResize:"reposition"}),I=o.useMemo(()=>[{items:B.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===e),closeOnSelect:!0,onClick:()=>{$.onClick?.(),k()}}))}],[B,e,k]);return t.jsxs("aside",{className:`header${h==="manager"?" header--manager":""}`,children:[t.jsxs("div",{className:"header__bi",children:[t.jsx(yl,{appMode:h}),t.jsxs("div",{className:"header__menu-button",ref:E,children:[t.jsx(me,{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:A,"aria-expanded":x,"aria-controls":x?w:void 0}),!!u&&!!i&&i>0&&t.jsx(At,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&Qt.createPortal(t.jsx("div",{id:w,role:"group","aria-label":f("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:S,children:t.jsx(Na,{columns:I,onClose:k})}),document.body)]})]}),t.jsx(bl,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:n,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:b}),y&&t.jsx(hl,{items:_,activeKey:e??void 0,onChange:C,scrollContainer:v,appMode:h,onAppModeChange:b})]})}const kb=vl,Nb=()=>$t.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function xl(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 ea(`${n.toLocaleString("ko-KR")}\uC6D0`)}return ea(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Db(e){const n=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(n)?"manager":"speechear"}function Eb(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||Nb()}function Sb(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 _l(e){return{type:e.type??Db(e),plan:Eb(e),label:e.label,price:xl(e.price),originalPrice:xl(e.originalPrice),discountLabel:e.discountLabel}}var jb='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',Tb='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>',Mb='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',Lb='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',$b='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>',Rb='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',wl='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 Un={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},co=new WeakMap;function Pb(e){if(e)return co.get(e)}function wn(e,n){e&&(e.style.setProperty(Un.text,n.text),e.style.setProperty(Un.sub,n.sub),n.copyrightColor&&e.style.setProperty(Un.copyright,n.copyrightColor),co.set(e,n))}function Bn(e){e&&(e.style.removeProperty(Un.text),e.style.removeProperty(Un.sub),e.style.removeProperty(Un.copyright),co.delete(e))}const Bl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Al(e={}){const n=Bt(Bl,wn,Bn);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("${wl}")`}})]})}const kl="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 Da='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 Ib={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Fb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Nl(e={}){const n=Bt(Ib,wn,Bn),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:Fb.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:kl,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("${Da}")`}})]})}const Ob={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Hb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function zb(e={}){const n=Bt(Ob,wn,Bn),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:Hb.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:kl,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("${wl}")`}})]})}const Vb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Wb(e={}){const n=Bt(Vb,wn,Bn);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("${Da}")`}})]})}const qb={Logo_speechear_kr:{"":Qa,_white:jb,_textWhite:Tb,_black:Mb},Logo_speechearManager_kr:{"":uo,_white:Lb,_textWhite:$b,_black:Rb}};function Ub(e,n){if(e)return qb[e]?.[n??""]??void 0}const Gb={speechear:Qa,manager:uo},Kb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Dl=10;function Yb(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function El(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 Zb(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===$t.t("passCard.specialLabel");return r?t.jsx(Wb,{}):s?t.jsx(zb,{}):t.jsx(Nl,{})}return t.jsx(Al,{})}function Sl({ariaLabel:e,product:n,showPrice:a=!1,plan:r,type:s,endDate:i,remainingSeconds:l,endInclusive:u=!1,state:c="active",bg:d,bgOnly:m=!1,textColor:p,subColor:h,copyrightColor:b,logoSrc:v,label:f,price:y,originalPrice:_,discountLabel:C,onUse:B,onRefund:g,onDelete:w}){const{t:x}=ve.useTranslation(),A=n?_l(n):void 0,k=s??A?.type??"speechear",N=r??A?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=f??A?.label,S=y??(a?A?.price:void 0),I=_??(a?A?.originalPrice:void 0),$=C??A?.discountLabel,W=o.useMemo(()=>{if(S)return null;const q=n?.durationDays??Sb(n?.code);if(!q||q<=0)return l!=null?{percent:null,remainingLabel:El(l,x)}:null;const ne=q*86400;let fe;if(l!=null)fe=l;else if((c==="active"||c==="expired")&&i){const ie=new Date(i).getTime();if(Number.isNaN(ie))return null;const ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ue=/^(\d{4})-(\d{2})-(\d{2})/.exec(xa()),ge=Math.round(ce&&ue?(Date.UTC(+ce[1],+ce[2]-1,+ce[3])-Date.UTC(+ue[1],+ue[2]-1,+ue[3]))/864e5:(ie-Date.now())/864e5);fe=Math.max(0,u?ge+1:ge)*86400}else c==="expired"?fe=0:fe=ne;const xe=Yb(fe),he=Math.max(0,Math.min(100,Math.floor(Math.min(xe,ne)/ne*100)));return c==="pending"&&he>=100?null:{percent:he,remainingLabel:c==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):El(fe,x)}},[S,c,i,l,u,n?.durationDays,n?.code,x]),j=o.useRef(null),[M,H]=o.useState({}),[Q,te]=o.useState(null),V=!!(B||g||w),U=o.useRef(!1),P=o.useRef(void 0),[F,D]=o.useState(v);o.useLayoutEffect(()=>{D(v)},[v]),o.useLayoutEffect(()=>{const q=j.current;q&&(p!==void 0&&q.style.setProperty("--pass-card-text",p),h!==void 0&&q.style.setProperty("--pass-card-sub",h),b!==void 0&&q.style.setProperty("--pass-card-copyright",b))},[p,h,b]),o.useLayoutEffect(()=>{const q=j.current;if(!q)return;const ne=Pb(q);if(!v){const fe=Kb[k],xe=c==="expired"?"_black":ne?.logoColor??"",he=Ub(fe,xe);D(he)}},[d,v,k,c]);const O=q=>{const ne=j.current;if(!ne)return null;const{left:fe,top:xe,width:he,height:ie}=ne.getBoundingClientRect(),ce=(q.clientX-fe)/he-.5;return{rotateX:-((q.clientY-xe)/ie-.5)*Dl,rotateY:ce*Dl}},L=(q,ne)=>{const fe=ne*-.7,xe=q*.7+10,he=20+(Math.abs(q)+Math.abs(ne))*.4;return`${fe}px ${xe}px ${he}px rgba(0, 0, 0, 0.18)`},R=o.useCallback(q=>{if(aa())return;U.current=!0,clearTimeout(P.current),P.current=setTimeout(()=>{U.current=!1},200);const ne=O(q);ne&&H({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(ne.rotateX,ne.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)"})},[]),z=o.useCallback(q=>{if(aa())return;const ne=O(q);if(!ne)return;const fe=U.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";H({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:L(ne.rotateX,ne.rotateY),transition:fe})},[]),X=o.useCallback(()=>{clearTimeout(P.current),U.current=!1,H({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)"})},[]),K=o.useCallback(()=>te(null),[]),Y=o.useMemo(()=>{const q=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),ne=N.replace("\uC774\uC6A9\uAD8C","").replace(q==="\uC774\uC6A9\uAD8C"?"":q,"").trim(),fe=ne.match(/^(.*?)(일|년)$/);return fe?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"h0 pass-card__plan-number",children:fe[1]}),t.jsx("span",{className:"h5b pass-card__plan-unit",children:fe[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):t.jsx("span",{className:"h0",children:ne})},[N,x]),ae=o.useMemo(()=>{const q=ea(S);if(!q)return null;const ne=q.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ne)return t.jsx("span",{className:"h1",children:q});const[,fe,xe,he]=ne;return t.jsxs(t.Fragment,{children:[fe&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:fe}),t.jsx("span",{className:"h1 pass-card__price-amount",children:xe}),he.trim()&&t.jsx("span",{className:"h5 pass-card__price-symbol",children:he.trim()})]})},[S]),le=o.useCallback(()=>{V&&te(q=>{if(q)return null;const ne=j.current?.getBoundingClientRect();if(!ne)return null;const fe=50;return{left:ne.left,right:ne.right,width:ne.width,height:ne.height,x:ne.x,y:ne.y+fe,top:ne.top+fe,bottom:ne.bottom+fe}})},[V]),se=o.useCallback(q=>{V&&(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),le())},[V,le]),ke=[{items:[...B?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{B(),te(null)},closeOnSelect:!0}]:[],...g?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{g(),te(null)},closeOnSelect:!0}]:[],...w?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{w(),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--${c}${V?" pass-card--clickable":""}`,style:M,onMouseEnter:R,onMouseMove:z,onMouseLeave:X,onPointerUp:q=>{q.pointerType==="touch"&&X()},onPointerCancel:q=>{q.pointerType==="touch"&&X()},onClick:le,onKeyDown:V?se:void 0,role:V?"button":void 0,tabIndex:V?0:void 0,"aria-label":e,"aria-haspopup":V?"menu":void 0,"aria-expanded":V?!!Q:void 0,children:[d??Zb(k,N,E),!m&&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??Gb[k],className:"pass-card__logo",alt:k==="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:Y}),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:[$&&t.jsx("span",{className:"pass-card__discount body-3",children:$}),t.jsxs("div",{className:"pass-card__price",children:[I&&t.jsx("span",{className:"pass-card__price-original body-3",children:ea(I)}),ae]})]}):W?t.jsxs("div",{className:"pass-card__usage",children:[t.jsx("span",{className:"h5b pass-card__usage-remaining",children:W.remainingLabel}),W.percent!=null&&t.jsxs("span",{className:"pass-card__usage-percent",children:[t.jsx("span",{className:"h1 pass-card__usage-value",children:W.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."})]})]})}),Q&&t.jsx(ln,{anchorRect:Q,onClose:K,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:t.jsx(Na,{columns:ke,onClose:K,size:"small"})})]})}const Xb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Jb(e={}){const n=`passcard-sound-line-grad-${o.useId()}`,a=Bt(Xb,wn,Bn);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("${Da}")`}})]})}const Qb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function e4(e={}){const n=Bt(Qb,wn,Bn);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("${Da}")`}})]})}function t4(e,n){if(e){if(n==="manager_pro")return t.jsx(e4,{});if(n==="manager_standard")return t.jsx(Jb,{});if(n==="manager_lite")return t.jsx(Nl,{})}}function n4(e){const n=ea(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 a4(e){const{t:n}=ve.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||{},c=g=>!!g&&!!u?.includes(g),d=g=>g.onceOnly??/오픈\s*특가/.test(g.label??""),m=(s.tiers||[]).some(g=>d(g)&&c(g.code)),p=g=>{const w=g.prices?g.prices[l]:g.price;return w?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===w):!1},h=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",b=n("payment.plan.freePrice","\uBB34\uB8CC"),v=n("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=g=>g.prices?g.prices[l]:g.price,y=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const w=f(g);return w==="\uBB34\uB8CC"||w===b||w==="0\uC6D0"||typeof w=="string"&&/\d/.test(w)&&!/[1-9]/.test(w)}),_=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const w=f(g);return w==="\uBB38\uC758"||w===v}),C=s.group==="org",B=C?"manager":"speechear";return t.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[s.cardBadge&&t.jsx("div",{className:"payment-plan__card-badge",children:t.jsx(At,{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:h},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((g,w)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),g]},w))})]}),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((g,w)=>t.jsxs("li",{className:"payment-plan__feature-item body-3",children:[t.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),g]},w))})]}),t.jsx("div",{className:"payment-plan__card-pricing",children:y?null:_?t.jsx(me,{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(g=>{const w=g.label||a,x=d(g),A=x||g.openPromo===!0,k=w.replace(/^오픈\s*특가\s*/,"")||a,N=g.prices?g.prices[l]:g.price,E=g.badge?A?`${r}
852
+ ${g.badge}`:g.badge:void 0;if(x&&c(g.code))return null;if(!g.badge&&!m)return p(g)?null:t.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${g.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:g.label})}),t.jsx("div",{className:"payment-plan__pricing-row-price",children:t.jsx("span",{className:"payment-plan__pricing-current h1",children:n4(N)})})]},g.id);const S=s.tier??(C?s.title:void 0),I=t.jsx(Sl,{showPrice:!0,product:{type:B,code:g.code,name:k,label:S,price:N,originalPrice:g.originals?.[l]??void 0,discountLabel:E},bg:t4(C,s.id)}),$=()=>i?.({...g,productId:s.id,productTitle:s.title,preview:I});return t.jsx("div",{className:"payment-plan__pricing-card",onClick:$,onKeyDown:i?W=>{W.target===W.currentTarget&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),$())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:I},g.id)})})})})]})}function r4({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 po='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 jl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function o4(){const e=Bt(jl,wn,Bn);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("${po}")`}})})}const Tl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function s4(e={}){const n=Bt(Tl,wn,Bn);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("${Da}")`}})]})}function Ml({keys:e,anchor:n="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return t.jsx("span",{className:Be("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 Ea=(e,n,a)=>e+(n-e)*a;function i4({speakers:e,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:u=!1,pulseSelected:c=!1,pulseSelectedDuration:d,pulseScale:m,clickable:p=!1,onSelectSpeaker:h,buttonSize:b=40,showIcon:v=!0,onCenterClick:f,centerLabel:y,centerDisabled:_=!1,centerAttention:C=!1,shortcutAnchor:B="top-right",shortcutScale:g,scaleShortcut:w=!1}){const{t:x}=ve.useTranslation(),A=Math.max(0,Math.min(1,a)),k=n/2,N=110/300,E=.18,S=q=>n*(N+(q-1)*E),I=q=>{const ne=S(q.row??1),fe=q.angleDeg*Math.PI/180;return{x:k+ne*Math.cos(fe),y:k+ne*Math.sin(fe)}},$=Math.max(...e.map(q=>q.row??1),1),W=n*.08,j=n*.1,M=n*.24,H=n-2*W,Q=n-j-M,te=n-M/2,V=o.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,ne)=>q-ne),[e]),U=V.length,P=Math.max(68,U>1?H/(U-1):0),F=o.useMemo(()=>new Map(V.map((q,ne)=>[q,ne])),[V]),D=q=>{const ne=F.get(q.deg)??0,fe=k+(ne-(U-1)/2)*P,xe=$>1?Math.min(68,Q/($-1)):0,he=xe*($-1),ie=j+(Q-he)/2,ce=$===1?j+Q*.4:ie+($-(q.row??1))*xe;return{x:fe,y:ce}},O=q=>{const ne=I(q),fe=D(q);return{x:Ea(ne.x,fe.x,A),y:Ea(ne.y,fe.y,A)}},L={x:k,y:Ea(k,te,A)},R=Math.round(b*1.2),z=Math.round(Math.max(16,Math.min(80,b*.7))),X=[],K=new Map;for(const q of e){const ne=q.row??1;K.has(ne)||K.set(ne,[]),K.get(ne).push(q)}for(const[q,ne]of K.entries()){if(ne.length<2)continue;const fe=[...ne].sort((He,dt)=>He.deg-dt.deg),xe=fe.map(He=>O(He)),he=fe.map(He=>He.deg),ie=he[he.length-1]-he[0],ce=ie/(he.length-1),ue=360-ie,ge=fe.length>=3&&ce>0&&ue<=ce*1.5,Ne=Math.round(S(q)*1e3)/1e3,De=(He,dt,ot,st)=>{const ht=(dt.angleDeg-He.angleDeg+540)%360-180;if(ht===0)return`L ${st.x} ${st.y}`;if(A===0)return`A ${Ne} ${Ne} 0 0 ${ht>0?1:0} ${st.x} ${st.y}`;const Ae=(He.angleDeg+ht/2)*Math.PI/180,Ie={x:k+Ne*Math.cos(Ae),y:k+Ne*Math.sin(Ae)},we={x:(ot.x+st.x)/2,y:(ot.y+st.y)/2},rt={x:Ea(Ie.x,we.x,A),y:Ea(Ie.y,we.y,A)},Z={x:2*rt.x-we.x,y:2*rt.y-we.y};return`Q ${Z.x} ${Z.y} ${st.x} ${st.y}`},Ke=ge?[...fe,fe[0]]:fe,ze=ge?[...xe,xe[0]]:xe;let qe=`M ${ze[0].x} ${ze[0].y}`;for(let He=1;He<ze.length;He++)qe+=" "+De(Ke[He-1],Ke[He],ze[He-1],ze[He]);X.push({key:`arc-${q}`,d:qe})}const Y=o.useMemo(()=>new Set(s??[]),[s]),ae=q=>({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")})[q],le=q=>{if(r===q.id)return"active";if(u){if(q.id===l)return"correct";if(q.id===i&&i!==l)return"wrong"}return Y.has(q.id)?"played":"idle"},se=q=>r===q.id?"loop":u?q.id===l?"loop":null:c&&q.id===i?"once":null,ke=(q,ne)=>{switch(q){case"played":case"correct":return t.jsx(us,{size:ne});case"wrong":return t.jsx(ys,{size:ne});default:return t.jsx(bs,{size:ne})}};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:[A===0&&e.map(q=>{const{x:ne,y:fe}=O(q);return t.jsx("line",{x1:L.x,y1:L.y,x2:ne,y2:fe,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),X.map(q=>t.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),C&&!_&&t.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:R,height:R,left:L.x-R/2,top:L.y-R/2}}),f?t.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:R,height:R,left:L.x,top:L.y},"aria-label":y,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:f,children:t.jsx(Br,{size:z,color:"currentColor",strokeWidth:1.5})}):t.jsx("div",{className:"sound-compass__center",style:{width:R,height:R,left:L.x,top:L.y},children:t.jsx(Br,{size:z,color:"currentColor",strokeWidth:1.5})}),e.map((q,ne)=>{const{x:fe,y:xe}=O(q),he=le(q),ie=se(q),ce={...g!==void 0||w?{"--shortcut-badge-scale":String(g??Math.max(.75,Math.min(3,b/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:he!=="idle"?10:1},ue=b,ge=Math.round(Math.max(10,Math.min(56,ue*.38))),Ne=Math.round(Math.max(7,Math.min(18,ue*.2))),De=Math.round(Math.max(10,Math.min(56,ue*.4))),Ke=v==="answered"&&(he==="played"||he==="correct"||he==="wrong"),ze=v===!0||Ke,qe=!Ke;return t.jsxs("div",{className:"sound-compass__speaker-pos",style:{...ce,left:fe-ue/2,top:xe-ue/2},children:[ie&&t.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${he}`+(ie==="once"?" sound-compass__pulse--once":""),style:{width:ue,height:ue,...ie==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...m!==void 0?{"--sc-pulse-scale":String(m)}:null}}),t.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>h?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${he}`,style:{width:ue,height:ue},"aria-label":ae(he)?`${q.label}, ${ae(he)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[ze&&ke(he,ge),qe&&t.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?Ne:De},children:ne+1})]}),q.shortcut&&t.jsx(Ml,{keys:q.shortcut,anchor:B,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function l4({children:e,position:n="top-left",size:a=24,className:r=""}){return t.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:e})}function u4({orientation:e="horizontal",label:n,className:a=""}){const r=Be("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 Ll({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:c=>n?.(c.target.checked)}),t.jsx("span",{className:"radio__dot"}),i&&t.jsx("span",{className:"radio__label body-2",children:i})]})}function c4({options:e,value:n,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:u}){const c=o.useId(),d=r??`radio-group-${c}`;return t.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(m=>t.jsx(Ll,{name:d,value:m.value,checked:n===m.value,disabled:s||m.disabled,label:m.label,onChange:p=>{p&&a?.(m.value)}},m.value))})}const d4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function p4({tone:e="info",title:n,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:c}=ve.useTranslation(),[d,m]=o.useState(!1),p=o.useRef(null),h=o.useCallback(()=>{const C=p.current;C&&C.contains(document.activeElement)&&Ya(C),m(!0),i?.()},[i]);if(d)return null;const b=Be("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),f=v==="assertive"?"alert":v==="polite"?"status":void 0,y=!!n,_=!!(a||r);return t.jsxs("div",{ref:p,className:b,role:f,children:[t.jsxs("div",{className:"alert__body",children:[t.jsxs("div",{className:"alert__header",children:[t.jsx(Qe,{icon:d4[e],size:20,className:"alert__icon"}),y&&t.jsx("span",{className:"alert__title body-2",children:n}),!y&&_&&t.jsx("div",{className:"alert__message body-3",children:a||r})]}),y&&_&&t.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&t.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const m4={ready:"search",guide:"info",error:"circle-alert"};function h4(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??m4[e],u=Be("search-summary",`search-summary--${e}`,i),c=n??a,d=typeof c=="string"&&r&&r.length>0?h4(c,r):c;return t.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&t.jsx(Qe,{icon:l,size:18,className:"search-summary__icon"}),t.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Sa({title:e,items:n}){const{t:a}=ve.useTranslation(),{anchorRect:r,openAt:s,close:i}=Ba(),l=o.useRef(null),u=Qr(!!r,(c,d)=>{c&&d?s(l.current?.querySelector("button")??d):i()},l);return t.jsxs("span",{ref:l,style:{display:"contents"},children:[t.jsx(me,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:c=>{na(c)||s(c.currentTarget)},onPointerLeave:c=>{na(c)||i()},onClick:c=>{u.touchPress(c.currentTarget)},onFocus:c=>{aa()||s(c.currentTarget)},onBlur:i}),r&&t.jsx(Wn,{title:e,items:n,showIndex:n.length>1,anchorRect:r,onClose:i})]})}function f4({items:e=[],value:n,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=ve.useTranslation(),u=o.useRef(null),c=e.find(f=>!f.disabled)?.key,d=e.some(f=>f.key===n)?n:c??e[0]?.key,m=e.find(f=>f.key===d&&!f.disabled)?.key??c,p=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(f,y=p())=>{if(y.length===0)return;const _=(f%y.length+y.length)%y.length;y[_]?.focus(),y[_]?.click()},b=f=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const y=p(),_=y.indexOf(f.currentTarget);f.key==="ArrowRight"||f.key==="ArrowDown"?h(_+1,y):f.key==="ArrowLeft"||f.key==="ArrowUp"?h(_-1,y):f.key==="Home"?h(0,y):h(y.length-1,y)},v=e.find(f=>f.key===d);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===d,"aria-controls":`tabs__panel-${i}-${f.key}`,disabled:f.disabled,tabIndex:f.key===m?0:-1,className:`tabs__tab body-2${f.key===d?" tabs__tab--active":""}`,onClick:()=>{f.key!==n&&a?.(f.key)},onKeyDown:b,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 g4={xs:12,sm:16,md:20,lg:28,xl:36};function b4(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 y4({src:e,name:n,size:a="md",shape:r="circle",className:s=""}){const{t:i}=ve.useTranslation(),[l,u]=o.useState(null),c=!!e&&l===e,d=n?b4(n):"",m=!!e&&!c,p=!m&&!!d,h=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":h,children:[m&&t.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>u(e??null)}),!m&&p&&t.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!m&&!p&&t.jsx(Qe,{icon:"user-round",size:g4[a],className:"avatar__icon"})]})}function v4(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 x4({onFilesSelected:e,accept:n,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:c}=ve.useTranslation(),d=o.useRef(null),[m,p]=o.useState(!1),[h,b]=o.useState([]),v=i??h,f=x=>{if(!x||x.length===0)return;const A=Array.from(x).filter(N=>v4(N,n));if(A.length===0)return;const k=a?A:A.slice(0,1);if(i===void 0){const N=a?[...v,...k]:k;b(N),e?.(N)}else e?.(k)},y=x=>{x.preventDefault(),!r&&p(!0)},_=x=>{x.preventDefault(),p(!1)},C=x=>{x.preventDefault(),p(!1),!r&&f(x.dataTransfer.files)},B=x=>{const A=x.target;try{f(A.files)}finally{A.value=""}},g=()=>{r||d.current?.click()},w=x=>{if(!r&&(l?.(x),i===void 0)){const A=v.filter((k,N)=>N!==x);b(A),l||e?.(A)}};return t.jsxs("div",{className:`file-upload ${u}`.trim(),children:[t.jsxs("div",{className:Be("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:g,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),g())},onDragOver:y,onDragLeave:_,onDrop:C,children:[t.jsx(Qe,{icon:"upload",size:24,className:"file-upload__icon"}),t.jsx("span",{className:"file-upload__prompt body-2",children:c("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(),g()},children:c("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),t.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:B,tabIndex:-1})]}),s&&v.length>0&&t.jsx("ul",{className:"file-upload__list",children:v.map((x,A)=>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":c("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>w(A),children:t.jsx(Qe,{icon:"x",size:14})})]},`${x.name}-${A}`))})]})}function _4({items:e,className:n=""}){const{t:a}=ve.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(Qe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const w4={small:14,medium:20,large:28};function B4({value:e,onChange:n,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=ve.useTranslation(),c=r||!n,[d,m]=o.useState(null),p=c?e:Number.isFinite(e)?Math.round(e):0,h=d??p,b=w4[s],v=x=>{x!==e&&n?.(x)},f=x=>{c||v(x)},y=x=>{c||aa()||m(x)},_=o.useRef(null),C=x=>{const A=Math.min(a,Math.max(1,x));v(A),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(A))?.focus()},B=x=>{if(!c){switch(x.key){case"ArrowRight":case"ArrowUp":C((p||0)+1);break;case"ArrowLeft":case"ArrowDown":C((p||1)-1);break;case"Home":C(1);break;case"End":C(a);break;default:return}x.preventDefault()}},g=p>=1&&p<=a?Math.round(p):1,w=()=>{c||m(null)};return t.jsx("div",{className:`rating rating--${s}${c?" rating--readOnly":""} ${l}`.trim(),ref:_,onKeyDown:B,role:c?"img":"radiogroup","aria-label":c?u("rating.valueLabel",{value:e,max:a}):i??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:w,onPointerUp:x=>{x.pointerType==="touch"&&w()},onPointerCancel:x=>{x.pointerType==="touch"&&w()},children:Array.from({length:a},(x,A)=>{const k=A+1,N=Math.max(0,Math.min(1,h-A)),E=N>0&&N<1,S=t.jsxs("span",{className:"rating__star-wrap",children:[t.jsx(Qe,{icon:"star",size:b,className:"rating__star rating__star--empty"}),N>0&&t.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${N*100}%`}:void 0,children:t.jsx(Qe,{icon:"star",size:b,className:"rating__star rating__star--filled"})})]});return c?t.jsx("span",{className:"rating__item","aria-hidden":"true",children:S},k):t.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===k,"aria-label":u("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===g?0:-1,onClick:()=>f(k),onMouseEnter:()=>y(k),children:S},k)})})}const A4=20,k4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function N4({value:e,onChange:n,palette:a=k4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=ve.useTranslation();return t.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(u=>{const c=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":c,"aria-label":c?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:c&&t.jsx(Qe,{icon:"check",size:A4,className:"color-picker__check"})},u)})})}function $l({icon:e,label:n,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:c}=ve.useTranslation(),d=u==="small",m=Be("category-icon",d?"category-icon--small":""),p=d?16:20,h=o.useRef(null),[b,v]=o.useState(!1),f=o.useMemo(()=>{const A=r&&typeof r=="object"?{...r}:{};return!s&&!i?A:{...A,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),y=a||n,[_,C]=o.useState(null);o.useLayoutEffect(()=>{b&&C(h.current?.getBoundingClientRect()??null)},[b]),o.useEffect(()=>{if(!l&&b)try{v(!1)}catch{}},[l,b]),o.useEffect(()=>{if(!b)return;const A=k=>{const N=h.current;if(!N)return;const E=k.target;E&&!N.contains(E)&&v(!1)};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[b]);const B=o.useCallback(()=>{l&&v(!0)},[l]),g=o.useCallback(()=>{l&&v(!1)},[l]),w=o.useCallback(()=>v(!1),[]),x=o.useCallback(A=>{if(A.key==="Escape"){v(!1);return}(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),v(k=>!k))},[]);return t.jsxs("span",{ref:h,className:"category-icon__wrap",onPointerEnter:B,onPointerLeave:g,onFocus:B,onBlur:g,onKeyDown:x,role:"button",tabIndex:0,"aria-label":typeof y=="string"?c("common.descriptionFor",{name:y,defaultValue:`${y} \uC124\uBA85`}):void 0,"aria-haspopup":!!y,"aria-expanded":b,"data-tooltip-ignore":!0,children:[t.jsx(Qe,{icon:e,label:n,className:m,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:p}),b&&y&&t.jsx(xn,{anchorRect:_,text:typeof y=="string"?y:void 0,offset:8,onClose:w,className:"category-icon__tooltip",ariaLabel:typeof y=="string"?y:void 0})]})}let Tn=null;function er(e){if(Tn&&Tn!==e)try{Tn()}catch{}return Tn=e,()=>{Tn===e&&(Tn=null)}}function tr(e){if(Tn===e){Tn=null;try{e()}catch{}}}function D4(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 E4(e,n){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),c=o.useRef(null),d=o.useRef(!1),m=o.useRef(null),p=o.useRef(null),[h,b]=o.useState(!1),v=o.useRef([]),{previewCodes:f,previewBucket:y}=D4(e,n),_=`${f.join(",")}|${y??""}`,C=o.useMemo(()=>l.key===_?l.urls:[],[l,_]);o.useEffect(()=>{if(!f.length)return;let g=!1;return(async()=>{const w=[],x=[];for(const A of f)try{const k=Gs(A,y);if(!k){w.push("");continue}let N=null;try{N=await Ks(k)}catch{}if(!N)try{const E=await Ys(k);E&&(N=URL.createObjectURL(E),x.push(N))}catch{}w.push(N??"")}catch{w.push("")}g?x.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}):(v.current.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}),v.current=x,u({key:_,urls:w}))})(),()=>{g=!0}},[f.join(","),y]),o.useEffect(()=>()=>{v.current.forEach(g=>{try{URL.revokeObjectURL(g)}catch{}}),v.current=[]},[]);const B=o.useCallback(async g=>{if(g.stopPropagation(),g.preventDefault(),d.current){m.current&&tr(m.current),d.current=!1;try{c.current?.pause()}catch{}r(!1),i(-1);return}if(!C.filter(Boolean).length)return;let w=null;const x=()=>{d.current=!1;try{c.current?.pause()}catch{}w?.()};m.current=x;const A=er(x);d.current=!0,r(!0);for(let k=0;k<C.length&&d.current;k++){const N=C[k];if(N){i(k);try{await new Promise((E,S)=>{w=E;const I=new Audio(N);c.current=I,I.onended=()=>E(),I.onerror=()=>S(),I.play().catch(S)})}catch{break}}}A(),m.current===x&&(m.current=null,d.current=!1,r(!1),i(-1))},[C]);return o.useEffect(()=>()=>{m.current&&tr(m.current),d.current=!1;try{c.current?.pause()}catch{}c.current=null},[]),{playing:a,playingIndex:s,previewUrls:C,previewHover:h,setPreviewHover:b,previewBtnRef:p,handlePreview:B}}const S4=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 mo(e){const{index:n,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:u,completedIds:c,selectedIds:d,tooltipText:m,useDescriptionTooltip:p=!1,onRemove:h,hideCheckBadge:b=!1,showTypeLabel:v=!1,onComplete:f,onSelect:y,onMore:_,countLabelOverride:C,size:B="square"}=e||{},{t:g}=ve.useTranslation(),[w,x]=o.useState(!1),A=o.useRef(null),[k,N]=o.useState(!1);o.useEffect(()=>{A.current?.matches(":hover")&&N(!0)},[]);const{playing:E,playingIndex:S,previewUrls:I,previewHover:$,setPreviewHover:W,previewBtnRef:j,handlePreview:M}=E4(r,a?.key),H=o.useCallback(()=>{y?y():x(!0)},[y]),Q=o.useCallback(()=>x(!1),[]),te=o.useCallback(()=>N(!0),[]),V=o.useCallback(()=>N(!1),[]),U=o.useCallback(()=>W(!0),[W]),P=o.useCallback(()=>W(!1),[W]),[F,D]=o.useState(null);o.useLayoutEffect(()=>{$&&D(j.current?.getBoundingClientRect()??null)},[$,j]);const[O,L]=o.useState(null);o.useLayoutEffect(()=>{k&&!w&&p&&L(A.current?.getBoundingClientRect()??null)},[k,w,p]);const R=o.useCallback(we=>{we.target===we.currentTarget&&(we.key==="Enter"||we.key===" ")&&(we.preventDefault(),H())},[H]),z=r||null,X=o.useMemo(()=>{if(!p)return null;const we=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,rt=we&&we.length>0?we:S4(z);return rt&&rt.length>0?rt:null},[p,m,z]),K=o.useCallback(we=>{we.stopPropagation(),h?.()},[h]),Y=o.useCallback(we=>we.stopPropagation(),[]),ae=o.useCallback(we=>{typeof f=="function"&&f(we)},[f]),le=u||(c&&r?.id!=null?c.has(String(r.id)):!1),se=!le&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);rl("speechear.popup.close",Q);const ke=Ci(),q=`${a?.label||""} ${n+1}`,ne=z?.title||z?.name||q;let fe=a?.icon,xe,he="",ie="";try{const we=z?.category_0||z?.category_main_code||z?.category_main,rt=z?.category_1||z?.category_sub_code||z?.category_sub,Z=ke.find(re=>re.key===we);Z?.icon&&(fe=Z.icon),!xe&&Z?.color&&(xe={"--t-item-fg":Z.color}),!xe&&z?.iconColor&&(xe={"--t-item-fg":z.iconColor}),he=Z?g(`topic.${Z.key}`,{defaultValue:Z.label||""}):"";try{const re=Z?.subs?.find(pe=>pe.key===rt);ie=re?g(`topic.sub.${re.key}`,{defaultValue:re.label||""}):""}catch{}}catch{}const ce=ie?`${he} / ${ie}`:he||a?.label||ne,ue=we=>g("training.countQuestions",{n:we}),ge=we=>g("training.countSentences",{n:we});let Ne="";try{if(z)if(a?.key==="LISTEN_IN_NOISE"){let we=0;Array.isArray(z.items)&&z.items.length>0?we=z.items.length:Array.isArray(z.sentences)&&z.sentences.length>0?we=z.sentences.length:z.sentences&&(we=1),Ne=ge(we)}else if(a?.key==="SHORT_STORY"){let we=1;Array.isArray(r?.items)?we=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?we=r.raw.items.length:Array.isArray(z?.questions)?we=z.questions.length:Array.isArray(z?.sentences)&&(we=z.sentences.length),Ne=ue(we)}else if(a?.key==="LONG_STORY"){let we=1;if(Array.isArray(z.items)&&z.items.length>0){const rt=z.items.reduce((Z,re)=>{const pe=re.questionItems;return Array.isArray(pe)?Z+pe.length:Array.isArray(re.questions)?Z+re.questions.length:Z},0);we=rt>0?rt:z.items.length}else Array.isArray(z.questions)&&z.questions.length>0?we=z.questions.length:Array.isArray(z.sentences)&&z.sentences.length>0&&(we=z.sentences.length);Ne=ue(we)}else if(a?.key==="ORDERING_SENTENCE"){let we=1;Array.isArray(z.items)&&z.items.length>0?we=z.items.length:Array.isArray(z.sentences)&&z.sentences.length>0&&(we=z.sentences.length),Ne=ge(we)}else Array.isArray(z.items)&&(Ne=z.items.length>0?ue(z.items.length):"")}catch{}const De=B==="row",Ke=B==="list"||De,ze=B==="compact",qe=B==="small",He=qe&&a?.key?UC().find(we=>we.key===a.key):void 0,dt=He?fi[He.key]:void 0,ot=He?dt?g(`trainingType.${dt}.title`,{defaultValue:He.label}):He.label??"":"",st=v&&a?.label&&a.label!==String(ne)?String(a.label):qe&&ot&&ot!==String(ne)?ot:"",ht=!!st,Ae=C!==void 0?C:Ne,Ie=[st,typeof ne=="string"?ne:"",Ae].map(we=>String(we??"").trim()).filter(Boolean).join(" ");return t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:A,className:`training-block-button${Ke?" training-block-button--list":""}${De?" training-block-button--row":""}${ze?" training-block-button--compact":""}${qe?" training-block-button--small":""}${le?" training-block-button--completed":""}${se?" training-block-button--selected":""}${ht&&!qe?" training-block-button--withType":""}${qe&&!ht?" training-block-button--no-type-label":""}`,onClick:H,onPointerEnter:te,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:R,"aria-label":typeof s=="string"?s:Ie||void 0,title:!p&&m&&(Array.isArray(m)?m.filter(Boolean).join(`
853
+ `):m)||void 0,children:[t.jsxs("div",{className:"training-block-button__left",children:[v&&a?.label&&a.label!==String(ne)&&t.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),qe&&ot&&ot!==String(ne)&&t.jsx("span",{className:"training-block-button__type-label caption-2",children:ot}),t.jsx($l,{icon:fe,label:ne,tooltip:ce,wrapperStyle:xe,iconSize:qe||ze?"small":"medium"}),!b&&(le||se)&&!(h&&k)&&t.jsx(At,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":le?g("training.completed","\uD6C8\uB828 \uC644\uB8CC"):g("training.selected","\uC120\uD0DD\uB428")}),h&&t.jsx(At,{className:`training-block-button__remove${k?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":g("common.remove","\uC81C\uAC70"),onClick:K}),t.jsx("div",{className:`training-block-button__title ${ze?"body-3":qe?"body-3b":"h3"}`,children:String(ne)}),t.jsxs("div",{className:"training-block-button__description",children:[Ae?t.jsx("div",{className:`training-block-button__count ${qe?"caption-2":"caption-1"}`,children:Ae}):null,t.jsx("div",{className:"training-block-button__chevron",children:t.jsx(Qe,{icon:"chevron-right",label:g("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})})]}),(Ke&&!De||qe)&&I.length>0&&t.jsx("div",{ref:j,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:Y,onPointerEnter:U,onPointerLeave:P,children:t.jsx(me,{htmlType:"button",size:qe?28:32,type:"dot",icon:E?"pause":"play",variant:qe?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(ne).trim()?E?g("training.stopFor",{name:ne,defaultValue:`${ne} \uC815\uC9C0`}):g("training.previewFor",{name:ne,defaultValue:`${ne} \uBBF8\uB9AC \uB4E3\uAE30`}):E?g("training.stop","\uC815\uC9C0"):g("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:M})})]}),_&&t.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:we=>{we.stopPropagation(),_(we)},children:t.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(ne).trim()?g("common.moreFor",{name:ne}):g("common.more","\uB354\uBCF4\uAE30")})})]}),$&&t.jsx(xn,{anchorRect:F,text:E?g("training.stop","\uC815\uC9C0"):g("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:P}),k&&!w&&p&&(X?t.jsx(Wn,{anchorRect:O,items:X,activeIndex:S,onClose:V}):z?.subTitle?t.jsx(xn,{anchorRect:O,text:z.subTitle,offset:8,onClose:V}):null),w&&l&&l({trainingData:z,typeKey:a?.key??"",onClose:Q,onComplete:ae,popupTitle:String(ne),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:fe,popupIconTooltip:String(ce),popupWrapperStyle:xe})]})}const Rl=200;function j4(e){return e.itemId?(XC()[e.trainingType]??[]).find(n=>n?.id!=null&&String(n.id)===String(e.itemId))??null:null}function Pl({plan:e,anchorRect:n,offset:a=12,onClose:r}){const{t:s}=ve.useTranslation(),i=o.useMemo(()=>QC(s).map(u=>({type:u,items:(e.items??[]).filter(c=>c.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:c},d)=>[d>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:c.map((m,p)=>{const h=j4(m);return h?t.jsx(mo,{index:p,type:u,trainingData:h,size:"compact",hideCheckBadge:!0},m.itemId??p):null})})]},u.key)])})});return n?t.jsx(ln,{anchorRect:n,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const T4=200;function M4({icon:e,count:n,title:a,plan:r,tooltip:s=!0,className:i="",onClick:l,onMouseEnter:u,onMouseLeave:c}){const d=Be("count-tile",l&&"count-tile--clickable",i),m=o.useRef(null),[p,h]=o.useState(null),b=o.useRef(null),v=o.useRef(null),f=!!(p&&r&&s),y=o.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),v.current&&(clearTimeout(v.current),v.current=null)},[]),_=o.useCallback(()=>{y(),h(null)},[y]),C=o.useCallback(()=>{!s||!r||(y(),b.current=setTimeout(()=>{b.current=null,h(m.current?.getBoundingClientRect()??null)},Rl))},[s,r,y]),B=o.useCallback(()=>{b.current&&(clearTimeout(b.current),b.current=null),!v.current&&(v.current=setTimeout(()=>{v.current=null,h(null)},T4))},[]);return o.useEffect(()=>()=>{y()},[y]),o.useEffect(()=>{(!s||!r)&&_()},[s,r,_]),o.useEffect(()=>{if(!f)return;const g=x=>x instanceof Element&&(m.current?.contains(x)||!!x.closest(".tooltip-training")),w=x=>{g(x.target)?y():B()};return document.addEventListener("pointerover",w,!0),()=>document.removeEventListener("pointerover",w,!0)},[f,y,B]),t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:m,className:d,onClick:l?g=>{_(),l(g)}:void 0,onKeyDown:l?g=>{g.key!=="Enter"&&g.key!==" "||(g.preventDefault(),g.currentTarget.click())}:void 0,onPointerEnter:g=>{g.pointerType==="touch"||g.pointerType==="pen"?_():C()},onMouseEnter:u,onMouseLeave:g=>{B(),c?.(g)},role:l?"button":"img",tabIndex:l?0:void 0,"aria-label":`${a} ${n}`,children:[t.jsx(Qe,{icon:e,size:20,className:"count-tile__icon"}),t.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:n})]}),p&&r&&t.jsx(Pl,{plan:r,anchorRect:p,onClose:_})]})}let ja=0,Il="",ho="",Ta=0;function Fl(){return Ol(!1)}function L4(){return Ol(!0)}function Ol(e){const n=typeof document<"u";ja===0&&n&&(Il=document.body.style.overflow,document.body.style.overflow="hidden"),e&&n&&(Ta===0&&(ho=document.body.style.paddingRight),Ta++,document.body.style.paddingRight="0px"),ja++;let a=!1;return()=>{a||(a=!0,ja=Math.max(0,ja-1),e&&n&&(Ta=Math.max(0,Ta-1),Ta===0&&(ho?document.body.style.paddingRight=ho:document.body.style.removeProperty("padding-right"))),ja===0&&n&&(document.body.style.overflow=Il))}}function $4(){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 R4({open:e,onClose:n,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:c=!0,className:d,contentClassName:m}){const{t:p}=ve.useTranslation(),h=o.useId(),b=o.useRef(null),v=o.useCallback(()=>n(),[n]);o.useEffect(()=>{if(!e)return;const C=document.activeElement,B=Fl(),g=b.current;return Yr(g,C),g?.focus(),()=>{B();const w=document.activeElement;(!w||w===document.body||g&&g.contains(w))&&Zr(C)?.focus?.()}},[e]);const f=o.useRef(v),y=o.useRef(u);o.useEffect(()=>{f.current=v,y.current=u}),o.useEffect(()=>{if(e)return Vn(()=>{y.current&&f.current()})},[e]);const _=o.useRef(!1);return Gr(b,e),!e||typeof document>"u"?null:Qt.createPortal(t.jsx("div",{className:Be("dialog",d),onPointerDown:l?C=>{_.current=C.target===C.currentTarget}:void 0,onMouseDown:C=>{C.target===C.currentTarget&&C.preventDefault()},onClick:l?C=>{const B=_.current;_.current=!1,B&&C.target===C.currentTarget&&v()}:void 0,children:t.jsxs("div",{ref:b,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Be("dialog__surface",`dialog__surface--${i}`,m),onClick:C=>C.stopPropagation(),children:[r?t.jsx("div",{className:"dialog__header",children:t.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,c?t.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:v,children:t.jsx($4,{})}):null,t.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function P4({columns:e,rows:n,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:u,className:c=""}){const{t:d}=ve.useTranslation(),m=!l&&n.length===0;return t.jsxs("div",{className:Be("board",c),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(p=>t.jsx("th",{scope:"col",className:Be("board__th",`board__cell--${p.headerAlign??p.align??"left"}`),style:p.width?{width:p.width}:void 0,children:p.header},p.key))})}),t.jsx("tbody",{children:l?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):m?t.jsx("tr",{children:t.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):n.map((p,h)=>t.jsx("tr",{className:"board__row",children:e.map(b=>t.jsx("td",{className:Be("board__td",`board__cell--${b.align??"left"}`),children:b.render(p,h)},b.key))},a(p,h)))})]})]})}function I4({name:e,role:n,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return t.jsxs("div",{className:Be("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 F4({groups:e,className:n=""}){return t.jsx("div",{className:Be("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 O4({title:e,kind:n,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:u=""}){const c=r??(s?t.jsx("img",{src:s,alt:""}):null);return t.jsxs("div",{className:Be("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[c?t.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:c}):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 H4({logo:e,alt:n,onDone:a,durationMs:r=3e3}){const s=_a(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 z4({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:Be("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 V4({items:e,className:n=""}){return t.jsx("ul",{className:Be("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 Hl(e){return typeof e=="string"?e:e.label}function zl({value:e,onChange:n,suggestions:a,openOnFocus:r=!1,filterSuggestions:s,onSelectSuggestion:i,autoActiveFirst:l=!1}){const u=o.useId(),[c,d]=o.useState(!1),[m,p]=o.useState(-1),h=o.useRef(null),b=o.useMemo(()=>{if(!a.length)return[];const S=e??"";return s===!1?a:S?typeof s=="function"?s(a,S):a.filter(I=>Hl(I).toLowerCase().includes(S.toLowerCase())):r?a:[]},[a,e,r,s]),[v,f]=o.useState(!1),y=o.useRef([]),_=v&&b.length===0?y.current:b;o.useEffect(()=>{_.length&&(y.current=_)},[_]);const C=o.useCallback(()=>f(!0),[]),B=o.useCallback(()=>f(!1),[]),g=l?0:-1;o.useEffect(()=>{c||p(g)},[c,g]),o.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]);const w=m<_.length?m:g<_.length?g:-1,x=o.useCallback(S=>{i?i(S):n?.(Hl(S)),d(!1)},[n,i]),A=o.useCallback(()=>d(!0),[]),k=o.useCallback(()=>{d(!0),p(g)},[g]),N=o.useCallback(()=>{h.current=setTimeout(()=>d(!1),120)},[]),E=o.useCallback(S=>{S.nativeEvent.isComposing||S.keyCode===229||(S.key==="ArrowDown"?(S.preventDefault(),d(!0),p(I=>Math.min(_.length-1,(I<_.length?I:g)+1))):S.key==="ArrowUp"?(S.preventDefault(),p(I=>Math.max(g,(I<_.length?I:_.length)-1))):S.key==="Enter"?w>=0&&x(_[w]):S.key==="Escape"&&c&&(S.preventDefault(),d(!1)))},[_,w,c,x,g]);return{listId:u,open:c,activeIdx:w,filtered:_,handleFocus:A,handleBlur:N,handleInput:k,handleKeyDown:E,handleSelect:x,handleCompositionStart:C,handleCompositionEnd:B}}const Co=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Gn(e){const{value:n,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:u,ariaDescribedBy:c,required:d,placeholder:m,ghostText:p,ghostHint:h,type:b="text",disabled:v=!1,readOnly:f=!1,error:y,helperText:_,maxLength:C,size:B=48,variant:g="input",fullWidth:w=!1,newline:x=!1,multiline:A=!1,rows:k=3,leftIcon:N,rightIcon:E,clearable:S=!1,list:I,showCount:$=!0,className:W="",onFocus:j,onBlur:M,onKeyDown:H,onEnter:Q,inputMode:te,autoComplete:V,autoFocus:U,suggestions:P,filterSuggestions:F,onSelectSuggestion:D,autoActiveFirst:O,openOnFocus:L=!1}=e,R=f||v?void 0:P,{t:z}=ve.useTranslation(),X=o.useId();!l&&!u&&an(`TextField:unnamed:${X}`,"[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 K=`tf-${X}`,Y=`tf-helper-${X}`,ae=o.useRef(null),le=zl({value:n??"",onChange:i,suggestions:R??[],openOnFocus:L,filterSuggestions:F,onSelectSuggestion:D,autoActiveFirst:O}),se=!!R&&le.open&&le.filtered.length>0,ke=o.useRef(null),[q,ne]=o.useState(null),fe=o.useCallback(()=>{const Ae=ke.current;if(!Ae||typeof window>"u")return;const Ie=Ae.getBoundingClientRect(),we=230,rt=window.innerHeight-Ie.bottom<we+8&&Ie.top>we+8;ne({position:"fixed",left:Ie.left,width:Ie.width,...rt?{bottom:window.innerHeight-Ie.top+8}:{top:Ie.bottom+8},zIndex:Aa(Ae)})},[]);Co(()=>{if(!se)return;fe();const Ae=Ie=>{const we=Ie.target;we&&we.nodeType===1&&we.closest?.(".text-field__suggestions")||fe()};return window.addEventListener("scroll",Ae,!0),window.addEventListener("resize",fe),()=>{window.removeEventListener("scroll",Ae,!0),window.removeEventListener("resize",fe)}},[se,fe]);const xe=o.useCallback(Ae=>{ae.current=Ae,typeof s=="function"?s(Ae):s&&(s.current=Ae)},[s]),he=p?`${p}${h??z("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:m,ie=n!==void 0,ce=ie&&b==="password",[ue,ge]=o.useState((a??"").length),Ne=ie?(n??"").length:ue,De=o.useRef(n);Co(()=>{De.current=n}),o.useEffect(()=>{const Ae=ae.current;if(!ce||!Ae)return;const Ie=n??"";Ae.value!==Ie&&(Ae.value=Ie)},[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,ue,x]);const Ke=C!=null&&Ne>C,ze=B===32?16:20,qe=Be("text-field",`text-field--s${B}`,g==="display"?"text-field--display":"",w?"text-field--full-width":"",v?"text-field--disabled":"",f?"text-field--readonly":"",y?"text-field--error":"",N?"text-field--has-left-icon":"",E||S?"text-field--has-right-icon":"",W),He={id:K,...ce?{}:ie?{value:n}:{defaultValue:a},ref:xe,placeholder:he,name:r,disabled:v,readOnly:f,autoFocus:U,maxLength:C,list:I,inputMode:te,autoComplete:V,"aria-label":!l&&u?u:void 0,"aria-required":d,"aria-invalid":!!y,"aria-describedby":[_||y?Y:null,c].filter(Boolean).join(" ")||void 0,role:R?"combobox":void 0,"aria-autocomplete":R?"list":void 0,"aria-haspopup":R?"listbox":void 0,"aria-expanded":R?se:void 0,"aria-controls":se?le.listId:void 0,"aria-activedescendant":se&&le.activeIdx>=0?`${le.listId}-option-${le.activeIdx}`:void 0,onChange:Ae=>{const Ie=Ae.target;ie||ge(Ie.value.length),i?.(Ie.value),R&&le.handleInput(),ce&&queueMicrotask(()=>{const we=De.current??"";Ie.value!==we&&(Ie.value=we)})},onCompositionStart:R?le.handleCompositionStart:void 0,onCompositionEnd:R?le.handleCompositionEnd:void 0,onFocus:(Ae=>{j?.(Ae),R&&le.handleFocus()}),onBlur:(Ae=>{M?.(Ae),R&&le.handleBlur()}),onKeyDown:(Ae=>{const Ie=(Ae.key==="Tab"&&!Ae.shiftKey||Ae.key===" ")&&!Ae.nativeEvent.isComposing;if(p&&Ie&&!f&&!v&&!(Ae.currentTarget.value??"").trim()){Ae.preventDefault();const we=Ae.currentTarget;ie||(we.value=p,ge(p.length)),i?.(p);return}R&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&le.activeIdx>=0?Ae.preventDefault():Q&&Ae.key==="Enter"&&!Ae.nativeEvent.isComposing&&(Ae.preventDefault(),Q()),H?.(Ae),R&&le.handleKeyDown(Ae)})},dt=S&&!v&&!f&&Ne>0,ot=()=>x?t.jsx("textarea",{...He,className:"text-field__input text-field__input--auto body-2",rows:1}):A?t.jsx("textarea",{...He,className:"text-field__input text-field__input--textarea body-2",rows:k}):t.jsx("input",{...He,type:b,className:"text-field__input body-2"}),st=g==="display"&&!x&&!A&&!!he,ht=()=>t.jsxs(t.Fragment,{children:[ot(),st&&t.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:he})]});return t.jsxs("div",{ref:ke,className:qe,children:[l&&t.jsxs("label",{htmlFor:K,className:"text-field__label caption-1",children:[l,d&&t.jsx("span",{className:"text-field__required",children:"*"})]}),t.jsxs("div",{className:"text-field__wrap",children:[N&&t.jsx("span",{className:"text-field__icon text-field__icon--left",children:t.jsx(Qe,{icon:N,label:"",className:"",svgClassName:"text-field__icon-svg",size:ze})}),ht(),C!=null&&$&&t.jsxs("span",{className:`text-field__count caption-2${Ke?" text-field__count--over":""}`,children:[Ne,"/",C]}),dt&&t.jsx(me,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:z("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ae=>{Ae.preventDefault()},onClick:()=>{!ie&&ae.current&&(ae.current.value="",ge(0)),i?.("")},tabIndex:-1}),E&&!dt&&t.jsx("span",{className:"text-field__icon text-field__icon--right",children:t.jsx(Qe,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:ze})})]}),!!R&&t.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:le.open&&(n??"").length>0&&le.filtered.length===0?z("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),se&&(typeof document>"u"?null:Qt.createPortal(t.jsx("ul",{id:le.listId,className:"text-field__suggestions",role:"listbox",style:q??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:le.filtered.map((Ae,Ie)=>t.jsx("li",{id:`${le.listId}-option-${Ie}`,role:"option","aria-selected":Ie===le.activeIdx,className:`text-field__suggestion body-2${Ie===le.activeIdx?" is-active":""}`,onMouseDown:we=>we.preventDefault(),onClick:()=>{le.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}-${Ie}`:Ae.id))}),document.body)),(_||y)&&t.jsx("div",{className:"text-field__footer",children:t.jsx("span",{id:Y,className:"text-field__helper caption-1",role:y?"alert":void 0,children:y||_})})]})}function cn({options:e,value:n,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:u=!1,className:c="",ariaLabel:d,ariaDescribedBy:m}){const{t:p}=ve.useTranslation(),h=r??p("dropdown.placeholder","\uC120\uD0DD"),b=o.useId(),v=o.useId(),f=o.useRef(null),y=o.useCallback((j,M)=>{const H=window.innerHeight-j.bottom<260&&j.top>260;return{position:"fixed",left:j.left,minWidth:j.width,...H?{bottom:window.innerHeight-j.top+6}:{top:j.bottom+6},zIndex:Aa(M)}},[]),{open:_,setOpen:C,toggle:B,style:g,triggerRef:w,menuRef:x}=ka({computeStyle:y}),[A,k]=o.useState(-1),N=o.useCallback(()=>k(-1),[]),E=e.find(j=>j.value===n);o.useEffect(()=>{if(_){const j=e.findIndex(M=>M.value===n);k(j>=0?j:e.length?0:-1),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const H=M.querySelectorAll(".dropdown__option")[j];H&&(M.scrollTop=Math.max(0,H.offsetTop-M.clientHeight/2+H.clientHeight/2))})}},[_]),o.useEffect(()=>{_&&k(j=>{if(j>=0&&j<e.length)return j;const M=e.findIndex(H=>H.value===n);return M>=0?M:e.length?0:-1})},[_,e.length]);const S=o.useCallback(()=>{s||B()},[s,B]),I=o.useCallback(j=>{j.disabled||s||(j.value!==n&&a?.(j.value),C(!1))},[a,C,s,n]);o.useEffect(()=>{s&&C(!1)},[s,C]);const $=o.useCallback(j=>{if(!s){if(!_){(j.key==="Enter"||j.key===" "||j.key==="ArrowDown")&&(j.preventDefault(),C(!0));return}if(j.key==="Escape"){j.preventDefault(),C(!1);return}j.key==="ArrowDown"?(j.preventDefault(),k(M=>{let H=M+1;for(;H<e.length&&e[H].disabled;)H++;return H<e.length?H:M})):j.key==="ArrowUp"?(j.preventDefault(),k(M=>{let H=M-1;for(;H>=0&&e[H].disabled;)H--;return H>=0?H:M})):(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),e[A]?I(e[A]):C(!1))}},[s,_,e,A,I,C]),W=_?t.jsx("div",{ref:x,id:b,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:g,onMouseLeave:N,onMouseDown:j=>j.preventDefault(),children:e.map((j,M)=>t.jsxs("button",{id:`${b}-option-${M}`,type:"button",role:"option","aria-selected":j.value===n,className:Be("dropdown__option body-2",j.value===n?"dropdown__option--active":"",M===A?"dropdown__option--active":"",j.disabled?"dropdown__option--disabled":""),onMouseDown:H=>H.preventDefault(),onClick:()=>I(j),onMouseEnter:()=>k(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:Be("dropdown",`dropdown--s${l}`,_?"dropdown--open":"",i?"dropdown--block":"",u?"dropdown--error":"",c),onKeyDown:$,children:[t.jsxs("button",{ref:w,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":_,"aria-controls":_?b:void 0,"aria-activedescendant":_&&A>=0?`${b}-option-${A}`:void 0,"aria-label":d,"aria-describedby":[d&&E?v:"",m??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:s,onClick:S,onBlur:j=>{_&&!x.current?.contains(j.relatedTarget)&&C(!1)},children:[t.jsx("span",{id:v,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:h}),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"&&Qt.createPortal(W,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function nr({page:e,totalPages:n,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=ve.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),c=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,n),m=()=>a(Math.max(1,Math.min(d,e-1))),p=()=>a(Math.min(d,e+1));return t.jsxs("div",{className:Be("pagination",i),children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:u,disabled:e<=1,onClick:m}),t.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),t.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:c,disabled:e>=n,onClick:p})]})}const Ma=new Map;function An(e){const{t:n}=ve.useTranslation(),{options:a=[],value:r=a.find(g=>!g.disabled)?.key??a[0]?.key,onChange:s=g=>{},className:i="",size:l=40,shape:u="pill",useBG:c=!0,fullWidth:d=!1,minButtonWidth:m,ariaLabel:p}=e||{},h=o.useRef(null),b=a.filter(g=>!g.disabled),v=o.useId(),f=a.map(g=>g.key).join("\xB7");o.useEffect(()=>{if(!(!Oa||p!=null&&p!=="")){if(Ma.set(v,f||"(\uBCF4\uAE30 \uC5C6\uC74C)"),Ma.size>1){const g=[...Ma.values()].sort();an(`segmented-control-unnamed:${g.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${Ma.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${g.join(" / ")}`)}return()=>{Ma.delete(v)}}},[p,f,v]);const y=g=>{if(!b.length)return;const w=Math.max(0,b.findIndex(A=>A.key===r)),x=g==="first"?b[0]:g==="last"?b[b.length-1]:b[(w+g+b.length)%b.length];x&&(s(x.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(A=>A.dataset.segkey===x.key)?.focus())},_=g=>{switch(g.key){case"ArrowRight":case"ArrowDown":y(1);break;case"ArrowLeft":case"ArrowUp":y(-1);break;case"Home":y("first");break;case"End":y("last");break;default:return}g.preventDefault()},C=g=>{const w=x=>typeof x=="string"||typeof x=="number";if(!(!w(g.label)||g.count==null||g.count===!1||!w(g.count)))return`${g.label}, ${g.count}`},B=b.some(g=>g.key===r)?r:b[0]?.key;return t.jsx("div",{ref:h,onKeyDown:_,className:Be("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,d&&"segmented-control--full",!c&&"segmented-control--no-bg",m!=null&&"segmented-control--min",i),style:m!=null?{"--segmented-min-button-w":`${m}px`}:void 0,role:"radiogroup","aria-label":p??n("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(g=>t.jsx(me,{htmlType:"button",role:"radio","aria-checked":g.key===r,"data-segkey":g.key,tabIndex:g.key===B?0:-1,label:g.label,count:g.count,ariaLabel:C(g),disabled:g.disabled,className:g.key===r?"is-selected":"",onClick:()=>{g.disabled||s(g.key)},size:l,shape:u,useBorder:!1,useBG:!1},g.key))})}function fo({count:e,search:n,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:u}){const{t:c}=ve.useTranslation(),d=e!=null&&t.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??c("common.totalPrefix","\uCD1D "),t.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),m=!!(n||r?.length||s||i||l);return t.jsxs("div",{className:Be("toolbar",u),children:[t.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((p,h)=>t.jsx(An,{size:40,...p},p.ariaLabel??h))]}),m&&t.jsx("div",{className:"toolbar__row",children:t.jsxs("div",{className:"toolbar__row-end",children:[n&&t.jsx(Gn,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??c("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??c("common.search","\uAC80\uC0C9"),autoFocus:n.autoFocus,clearable:!0}),r?.map((p,h)=>t.jsx(cn,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},h)),(s||i)&&t.jsxs("div",{className:"toolbar__pager",children:[s&&t.jsx(cn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??c("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&t.jsx(nr,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}function Vl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Vl).join(""):""}function W4(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 q4=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),U4=/^(?: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 G4(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
- `),g=v===-1?a:a.slice(0,v);i("comment",g),a=a.slice(g.length);continue}if(s&&a.startsWith("#")){const v=a.indexOf(`
859
- `),g=v===-1?a:a.slice(0,v);i("comment",g),a=a.slice(g.length);continue}const u=a.match(/^\/\*[\s\S]*?\*\//);if(u){i("comment",u[0]),a=a.slice(u[0].length);continue}const c=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(c){i("string",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){i("number",d[0]),a=a.slice(d[0].length);continue}const p=a.match(U4);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&&q4.has(v)?"command":"identifier",v),a=a.slice(v.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){i("operator",h[0]),a=a.slice(h[0].length);continue}const b=a.match(/^[()[\]{};.,]/);if(b){i("punctuation",b[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function K4({children:e,language:n="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=ve.useTranslation(),[u,c]=o.useState(!1),d=W4(Vl(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await PC(d))return;c(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>c(!1),2e3)}catch{}},h=G4(d,n),b=s==="small"?"caption-1":"body-3";return t.jsxs("div",{className:Be("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(me,{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:h.map((v,g)=>t.jsx("span",{className:`code-token ${v.type} ${b}`,children:v.content},g))})})]})}const Y4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function La(e){const{t:n}=ve.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||n("loader.loading","Loading");if(a==="bar"){const c=s==null||!Number.isFinite(Number(s)),d=c?0:Math.max(0,Math.min(100,Number(s)));return t.jsx("div",{className:`loader-bar${c?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":c?void 0:d,"aria-label":l,children:t.jsx("div",{className:"loader-bar__inner",style:c?void 0:{width:`${d}%`}})})}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:Y4,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 Wl({checked:e,onChange:n,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:u}){const c=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"&&c,t.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>n?.(d.target.checked),"aria-label":!r&&s?s:void 0}),t.jsx("span",{className:"toggle__slider"}),i==="right"&&c]})}function ql({checked:e=!1,onChange:n,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:u,ariaLabel:c}){const d=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),t.jsxs("label",{className:Be("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:u,children:[t.jsx("input",{ref:d,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{n?.(h.target.checked),d.current&&(d.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&c?c:void 0}),t.jsx("span",{className:"checkbox__box"}),s&&t.jsx("span",{className:"checkbox__label body-3",children:s})]})}function Z4({count:e,actions:n,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:u}=ve.useTranslation(),c=s!==void 0?s:e>0,d=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),h=o.useRef(null),b=o.useRef(c);o.useLayoutEffect(()=>{const C=m.current,w=b.current;if(b.current=c,c&&!w){const f=typeof document<"u"?document.activeElement:null;h.current=f&&f!==document.body&&!C?.contains(f)?f:null}else!c&&w&&C&&C.contains(document.activeElement)&&Ya(C,h.current)},[c]);const[v,g]=o.useState(!1),y=o.useRef(!1),_=o.useRef(null);return o.useEffect(()=>{const C=p.current;if(!C)return;const w=A=>{y.current=A,g(A)},f=()=>{const A=C.firstElementChild??C,E=Array.from(A.children);if(E.length<2){w(!1);return}const j=E[0].offsetTop,z=E.some(O=>O.offsetTop!==j);if(!y.current){_.current=C.clientWidth,z&&w(!0);return}if(z)return;const P=E[0],W=E[E.length-1],S=W.offsetLeft+W.offsetWidth-P.offsetLeft,M=_.current;(M==null||S<=M)&&w(!1)};if(f(),typeof ResizeObserver>"u")return;const B=new ResizeObserver(f);B.observe(C);const x=C.parentElement;let D=x?.clientWidth??0;const k=new ResizeObserver(()=>{const A=x?.clientWidth??0;A!==D&&(D=A,_.current=null,f())});return x&&k.observe(x),()=>{B.disconnect(),k.disconnect()}},[i,e]),t.jsxs("div",{ref:m,className:`bulk-bar ${c?"bulk-bar--visible":""}`,inert:!c||void 0,"aria-hidden":c?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(At,{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(me,{htmlType:"button",size:40,label:d,onClick:a}),n.map((C,w)=>t.jsx(me,{htmlType:"button",size:40,variant:C.variant??"default",icon:C.icon,label:C.label,onClick:C.onClick},w))]})]})}const X4=[{\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 J4(e){const{onClose:n,className:a}=e;return t.jsx("div",{className:Be("item-actions",a),children:X4.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(me,{htmlType:"button",size:40,type:"dot",icon:s,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{i&&n(),u.onClick()}},r)})})}function Ul(e,n){const a=()=>{if(e){const[g,y]=e.split("-");return{y:+g,m:+y-1}}const[b,v]=Wr(n).split("-");return{y:+b,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 b=a();s(b.y),l(b.m)},[e]);const c=o.useRef({y:r,m:i});o.useEffect(()=>{c.current={y:r,m:i}},[r,i]);const d=o.useCallback(b=>{const v=c.current.y*12+c.current.m+b,g=Math.floor(v/12),y=v-g*12;c.current={y:g,m:y},s(g),l(y)},[]),p=o.useCallback(()=>d(-1),[d]),m=o.useCallback(()=>d(1),[d]),h=o.useCallback((b,v)=>{c.current={y:b,m:v},s(b),l(v)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:h}}function ar(e,n){return new Date(e,n+1,0).getDate()}function Q4(e,n){return new Date(e,n,1).getDay()}function rr(e,n,a){return`${e}-${String(n+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function ey(e){if(!e)return"";const[n,a,r]=e.split("-");return`${n}. ${a}. ${r}.`}function ty(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 c=0;c<12;c++){const d=`${u}-${String(c+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:n(u,c+1)})}return l}function ny({value:e,onChange:n,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:u,today:c}){const{t:d}=ve.useTranslation(),p=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Wr(c),{viewY:b,viewM:v,prevMonth:g,nextMonth:y,setViewYM:_}=Ul(e,c),C=o.useId(),w=o.useCallback((N,I)=>{const L=window.innerHeight,$=window.innerWidth,H=typeof document<"u"?document.getElementById(C):null,X=Math.max(H?.offsetHeight||0,H?.scrollHeight||0)||300,K=Math.max(N.width,H?.offsetWidth||0,260),Y=L-N.bottom,ae=N.top,le=Y<X&&ae>Y,se=8,ke=(q,ne)=>Math.min(Math.max(se,q),Math.max(se,ne));return{position:"fixed",left:ke(N.left,$-K-se),width:N.width,minWidth:260,...le?{top:"auto",bottom:ke(L-N.top+6,L-X-se)}:{bottom:"auto",top:ke(N.bottom+6,L-X-se)},zIndex:Aa(I)}},[C]),{open:f,setOpen:B,toggle:x,style:D,triggerRef:k,menuRef:A}=ka({computeStyle:w,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!f)return;const N=A.current;return(N?.querySelector(".date-picker__day--selected:not(:disabled)")??N?.querySelector(".date-picker__day--today:not(:disabled)")??N?.querySelector(".date-picker__day:not(:disabled)")??N?.querySelector(hn)??N)?.focus?.(),()=>{const I=document.activeElement;(!I||I===document.body)&&k.current?.focus?.()}},[f,A,k]);const[E,j]=o.useState(1),z=o.useRef(null),P=o.useRef(null);o.useEffect(()=>{if(!f)return;const N=e&&e.slice(0,7)===`${b}-${String(v+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${b}-${String(v+1).padStart(2,"0")}`?+h.slice(8):1;j(N)},[f]),o.useEffect(()=>{if(P.current==null)return;const N=P.current;P.current=null,z.current?.querySelector(`[data-day="${N}"]`)?.focus()}),o.useEffect(()=>{j(N=>Math.min(N,ar(b,v)))},[b,v]);const W=o.useCallback(N=>{let I=rr(N.getFullYear(),N.getMonth(),N.getDate());r&&I<r&&(I=r),s&&I>s&&(I=s);const[L,$,H]=I.split("-").map(Number);(L!==b||$-1!==v)&&_(L,$-1),j(H),P.current=H},[r,s,b,v,_]),S=o.useCallback(N=>{const I=new Date(b,v,E),L=H=>{I.setDate(I.getDate()+H),W(I)},$=H=>{const X=I.getFullYear()*12+I.getMonth()+H,K=Math.floor(X/12),Y=X-K*12;W(new Date(K,Y,Math.min(I.getDate(),ar(K,Y))))};switch(N.key){case"ArrowLeft":L(-1);break;case"ArrowRight":L(1);break;case"ArrowUp":L(-7);break;case"ArrowDown":L(7);break;case"Home":L(-I.getDay());break;case"End":L(6-I.getDay());break;case"PageUp":N.shiftKey?$(-12):$(-1);break;case"PageDown":N.shiftKey?$(12):$(1);break;default:return}N.preventDefault()},[b,v,E,W]),M=o.useCallback(N=>{i||(n(rr(b,v,N)),B(!1))},[b,v,n,B,i]);o.useEffect(()=>{i&&B(!1)},[i,B]);const O=N=>{const I=rr(b,v,N);return!!(r&&I<r||s&&I>s)},Q=(()=>{const N=ar(b,v);if(E>=1&&E<=N&&!O(E))return E;for(let I=1;I<=N;I++)if(!O(I))return I;return-1})(),te=[];for(let N=0;N<Q4(b,v);N++)te.push(null);for(let N=1;N<=ar(b,v);N++)te.push(N);const V=a===64?20:a===40?16:18,U=ty(b,(N,I)=>d("calendar.yearMonth",{year:N,month:I,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),R=`${b}-${String(v+1).padStart(2,"0")}`,F=f?Qt.createPortal(t.jsxs("div",{ref:A,id:C,className:"date-picker__dropdown",style:D,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("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:g,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(cs,{size:16,strokeWidth:2})}),t.jsx(cn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:U,value:R,onChange:N=>{const[I,L]=N.split("-");_(+I,+L-1)},block:!0,size:40}),t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:y,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(ds,{size:16,strokeWidth:2})})]}),t.jsxs("div",{className:"date-picker__grid",ref:z,onKeyDown:S,children:[m.map(N=>t.jsx("div",{className:"date-picker__dow caption-1",children:N},N)),te.map((N,I)=>{if(N===null)return t.jsx("div",{},`e${I}`);const L=rr(b,v,N),$=L===e,H=L===h,X=O(N),K=I%7;return t.jsx("button",{type:"button",disabled:X,"data-day":N,tabIndex:N===Q?0:-1,"aria-current":H?"date":void 0,onClick:()=>!X&&M(N),className:Be("date-picker__day caption-1",$&&"date-picker__day--selected",H&&!$&&"date-picker__day--today",X&&"date-picker__day--disabled",K===0&&"date-picker__day--sun",K===6&&"date-picker__day--sat"),children:N},N)})]})]}),document.body):null;return t.jsxs("div",{className:Be("date-picker",`date-picker--s${a}`,f&&"date-picker--open",u),children:[t.jsxs("button",{ref:k,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&x(),disabled:i,"aria-haspopup":"true","aria-expanded":f,children:[t.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?ey(e):p}),t.jsx(vs,{size:V,className:"date-picker__icon",strokeWidth:1.5})]}),F]})}function Gl({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 c=typeof window<"u"&&window.getComputedStyle(i).position==="absolute"?Math.ceil(i.getBoundingClientRect().width):0;c>0?r.style.setProperty("--section-head-float-w",`${c}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:Be("section-head-float",n),children:e})}function go({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 $a({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 bo({title:e,titleClassName:n="h3",titleLevel:a=3,icon:r,disc:s,headRight:i,headFloat:l,headSegment:u,headMenuItems:c,collapseBelow:d=420,onClick:p,ariaLabel:m,tooltip:h,totalNum:b,totalUnit:v,totalLabel:g,subRow:y,subRowAlign:_="start",className:C,inGrid:w=!1,children:f}){const{t:B}=ve.useTranslation(),x=o.useRef(null),{anchorRect:D,openAt:k,close:A}=Ba(),E=o.useCallback(()=>{h&&x.current&&k(x.current)},[h,k]),[j,z]=o.useState(!1);Co(()=>{const L=x.current;if(!L||!u)return;const $=X=>z(X>0&&X<d);if($(L.clientWidth),typeof ResizeObserver>"u")return;const H=new ResizeObserver(X=>$(X[0].contentRect.width));return H.observe(L),()=>H.disconnect()},[u,d]);const[P,W]=o.useState(null),S=o.useCallback(()=>W(null),[]),M=o.useCallback(L=>{const $=L.currentTarget.getBoundingClientRect();W(H=>H?null:{left:$.left,right:$.right,top:$.top,bottom:$.bottom,width:$.width,height:$.height,x:$.x,y:$.y})},[]),O=!!u&&j;o.useEffect(()=>{O||W(null)},[O]);const Q=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})),...(c??[]).map((L,$)=>$===0?{...L,separatorBefore:!0}:L)]:[],te=o.useCallback(L=>{if(!p)return;const $=L.target;$&&typeof $.closest=="function"&&$.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,R=b!=null||g?t.jsxs($a,{label:g,children:[b!=null&&t.jsx("span",{className:"barchart-total__num h0",children:b}),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(me,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??B("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??B("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!P,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,N=o.useId(),I=a?`h${a}`:"div";return t.jsxs("section",{ref:x,className:["manager-section",w&&"manager-section--grid",p&&"manager-section--clickable",C].filter(Boolean).join(" "),onClick:p?te:void 0,onKeyDown:p?V:void 0,onPointerEnter:h?E:void 0,onPointerLeave:h?A:void 0,onFocus:h?E:void 0,onBlur:h?A: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?N:void 0,children:[h&&D&&t.jsx(xn,{anchorRect:{left:D.left,top:D.top+21,right:D.right,bottom:D.bottom,width:D.width,height:D.height},text:h}),l&&t.jsx(Gl,{children:l}),t.jsxs("div",{className:"manager-section__head",children:[t.jsxs("div",{className:"manager-section__title-row",children:[r&&t.jsx(Qe,{icon:r,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),t.jsx(I,{id:N,className:["manager-section__title",n].filter(Boolean).join(" "),children:e})]}),F,s&&t.jsx("div",{className:"manager-section__disc body-3",children:s})]}),(R||y)&&t.jsxs("div",{className:["barchart-sub-row",_!=="start"&&`barchart-sub-row--${_}`].filter(Boolean).join(" "),children:[R,y]}),f,P&&t.jsx(ln,{anchorRect:P,onClose:S,ariaLabel:u?.ariaLabel??B("tooltip.menu","\uBA54\uB274"),children:t.jsx(Na,{columns:[{items:Q}],onClose:S,size:"small"})})]})}function Cn(e,n){const a=new Date(e,n,1).getDay();return 1+(8-(a===0?7:a))%7}function ay(){const e=Qn();let n=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<Cn(n,a)){const l=new Date(n,a,0);n=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-Cn(n,a))/7),i=`${n}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function ry(e){const n=Qn(),a=`${n.getFullYear()}\uB144 ${n.getMonth()+1}\uC6D4`,r=(c,d)=>`${c}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const c of e){if(isNaN(c.date.getTime()))continue;const d=r(c.date.getFullYear(),c.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(c)}for(const[c,d]of[...s.entries()]){const p=c.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,b=Cn(m,h);if(!(c===a&&n.getDate()<b)&&!d.some(y=>y.date.getDate()<b))continue;const v=new Date(m,h,0),g=r(v.getFullYear(),v.getMonth());s.has(g)||s.set(g,[])}const i=new Map;for(const[c,d]of s){const p=c.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,b=new Date(m,h+1,0).getDate(),v=d.reduce((f,B)=>Math.max(f,B.parts?.length??0,B.partsB?.length??0),0),g=d.some(f=>f.partsB),y=new Array(b+1).fill(0),_=new Array(b+1).fill(0),C=Array.from({length:b+1},()=>new Array(v).fill(0)),w=Array.from({length:b+1},()=>new Array(v).fill(0));for(const f of d){const B=f.date.getDate();if(y[B]+=f.a,_[B]+=f.b,f.parts)for(let x=0;x<v;x++)C[B][x]+=f.parts[x]??0;if(f.partsB)for(let x=0;x<v;x++)w[B][x]+=f.partsB[x]??0}i.set(c,{year:m,month:h,daysInMonth:b,partsLen:v,hasPartsB:g,dayA:y,dayB:_,dayParts:C,dayPartsB:w})}const l=(c,d,p)=>new Date(c,d,p).getTime()>new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),u={};for(const[c,d]of i){const{year:p,month:m,daysInMonth:h,dayA:b,dayB:v,dayParts:g,dayPartsB:y}=d,_=p===n.getFullYear()&&m===n.getMonth(),C=n.getDate(),w=i.get(r(m===11?p+1:p,(m+1)%12)),f=d.partsLen,B=[];for(let D=1;D<=h;D++){const k=_&&D>C;B.push({label:String(D),...k&&b[D]===0&&v[D]===0?{future:!0}:{},a:k&&b[D]===0&&v[D]===0?-1:b[D],b:v[D],...f?{parts:g[D]}:{},...f&&d.hasPartsB?{partsB:y[D]}:{}})}const x=[];for(let D=Cn(p,m);D<=h;D+=7){const k=Math.max(0,D+6-h),A=k&&w?Math.max(f,w.partsLen):f,E=d.hasPartsB||!!(k&&w?.hasPartsB);let j=0,z=0;const P=new Array(A).fill(0),W=new Array(A).fill(0);for(let M=D;M<=Math.min(D+6,h);M++){j+=b[M],z+=v[M];for(let O=0;O<f;O++)P[O]+=g[M][O],W[O]+=y[M][O]}if(k&&w)for(let M=1;M<=k&&!l(w.year,w.month,M);M++){j+=w.dayA[M],z+=w.dayB[M];for(let O=0;O<w.partsLen;O++)P[O]+=w.dayParts[M][O],W[O]+=w.dayPartsB[M][O]}const S=k?`${(m+1)%12+1}/${k}`:`${D+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${D}\uC77C~${S}\uC77C]`,a:j,b:z,...A?{parts:P}:{},...A&&E?{partsB:W}:{}})}u[c]={weekly:x,daily:B}}return u}function Kl(){const e=Qn(),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()}Kl();function oy(){return Kl()}const Yl=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Zl(e){const{t:n,i18n:a}=ve.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>oy().filter(A=>A.value in e),[e]),l=o.useMemo(()=>{const A=[];for(const E of i){const j=new Date(E.year,E.month,0).getDate(),z=Cn(E.year,E.month-1),P=Math.ceil((j-z+1)/7);for(let W=P-1;W>=0;W--)A.push({value:`${E.value}#${W}`,monthKey:E.value,year:E.year,month:E.month,week:W})}return A},[i]),u=o.useCallback(A=>{const E=n("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${E} ${Yl[A.week]??`${A.week+1}`}\uC8FC`:`${E} Week ${A.week+1}`},[n,a.language]),c=o.useMemo(()=>i.map(A=>({value:A.value,label:n("calendar.yearMonth",{year:A.year,month:A.month})})),[n,i]),d=o.useMemo(()=>l.map(A=>({value:A.value,label:u(A)})),[l,u]),p=o.useMemo(()=>ay(),[e]),m=o.useMemo(()=>i.find(A=>A.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),h=o.useMemo(()=>l.find(A=>A.value===p.value)?.value??l[0]?.value??"",[l,p]),[b,v]=o.useState(""),[g,y]=o.useState("");o.useEffect(()=>{i.find(A=>A.value===b)||v(m)},[i,b,m]),o.useEffect(()=>{l.find(A=>A.value===g)||y(h)},[l,g,h]);const _=r==="month"?c:d,C=r==="month"?b:g,w=r==="month"?v:y,f=o.useMemo(()=>{const A=n("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[n]),B=_.findIndex(A=>A.value===C),x=o.useCallback(()=>{const A=_.findIndex(E=>E.value===C);A<_.length-1&&w(_[A+1].value)},[_,C,w]),D=o.useCallback(()=>{const A=_.findIndex(E=>E.value===C);A>0&&w(_[A-1].value)},[_,C,w]),k=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:C,setRange:w,activeOptions:_,activeIdx:B,handlePrev:x,handleNext:D,periodOptions:k,monthRange:b,weekRange:g,weekRanges:l,DOW:f}}const vt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,n=!0){return e.future===!0||n&&e.a===-1}function sy({data:e,colorA:n,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:u=140,maxOverride:c,tightMax:d,seriesColors:p,seriesLabels:m,rateLabels:h,grouped:b=!1,baseline:v,focusableBars:g=!1}){const y=!a,_=!!(p&&p.length>0),C=v,w=o.useMemo(()=>_?Math.max(0,...e.filter(V=>!kn(V,C==null)).map(V=>b?Math.max(0,...(V.parts??[]).map(vt)):(V.parts??[]).reduce((U,R)=>U+Math.max(0,vt(R)),0))):Math.max(0,...e.filter(V=>!kn(V,C==null)).flatMap(V=>y?[vt(V.a)]:[vt(V.a),vt(V.b)])),[e,y,_,b]),f=o.useMemo(()=>{if(C==null)return 0;const V=e.filter(U=>!kn(U,C==null)).flatMap(U=>_?(U.parts??[]).map(vt):y?[vt(U.a)]:[vt(U.a),vt(U.b)]);return Math.max(0,...V.map(U=>Math.abs(U-C)))},[e,C,_,y]),B=o.useMemo(()=>{const V=C!=null?f:w;return c??(d?V>0?V:10:Math.ceil(V/10)*10||10)},[w,f,C,c,d]),x=u,D=_?b?Math.max(1,p.length):1:y?1:2,k={"--bar-width":`${o.useMemo(()=>{const V=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(V*D)+6)))},[e.length,D,i])}px`},A={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const V=Math.round(B/2);return C!=null?[C+B,...V!==B?[C+V]:[],C,...V!==B?[C-V]:[],C-B]:V!==B?[B,V,0]:[B,0]},[B,C]),j=V=>C!=null?1-(V-(C-B))/(2*B):1-V/B,[z,P]=o.useState(null),W=o.useCallback(()=>P(null),[]),S=o.useCallback((V,U)=>{const R=[V.label,V.sublabel].filter(Boolean).join(" ");let F;if(_&&b&&V.rawPartsB)F=(m??[]).map((N,I)=>{const L=V.rawPartsB[I]??0;return{text:L>0?`${N}: ${U[I]??0}% (${V.rawParts?.[I]??0}/${L})`:`${N}: -`,color:(p??[])[I]}});else if(_&&b)F=(m??[]).map((N,I)=>({text:`${N}: ${Q(U[I]??0)}`,color:(p??[])[I]}));else if(_){const N=(m??[]).map((L,$)=>({text:`${L}: ${U[$]??0}`,color:(p??[])[$]})),I=N.filter((L,$)=>(U[$]??0)>0);F=I.length?I:N}else h&&!y?F=[{text:`${r} ${vt(V.a)}%`,color:n},{text:`${s} ${vt(V.b)}%`,color:a}]:h&&V.rawB!==void 0?F=[{text:`${h.total} ${V.rawB}`},{text:`${h.done} ${V.rawA??0}`,color:n}]:y?F=[{text:`${r}: ${vt(V.a)}`,color:n}]:F=[{text:`${r}: ${vt(V.a)}`,color:n},{text:`${s}: ${vt(V.b)}`,color:a}];return{title:R,items:F}},[_,b,m,p,h,y,r,s,n,a,C]),M=o.useCallback((V,U,R)=>{const F=V.getBoundingClientRect(),{title:N,items:I}=S(U,R);P({rect:{left:F.left,top:F.top,right:F.right,bottom:F.bottom,width:F.width,height:F.height},title:N,items:I})},[S]),O=o.useCallback((V,U)=>{const{title:R,items:F}=S(V,U);return[R,...F.map(N=>N.text)].filter(Boolean).join(", ")},[S]),Q=V=>C!=null&&V>C?`+${V}`:`${V}`,te=z!=null;return o.useEffect(()=>{if(!te)return;const V=()=>P(null),U=R=>{const F=R.target;F&&typeof F.closest=="function"&&F.closest(".manager-bar-chart-col")||P(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:A,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${C!=null&&V===C?" manager-bar-chart-gridline--baseline":""}`,style:{top:j(V)*x},children:t.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:V})},U)),e.map((V,U)=>{const R=kn(V,C==null),F=x/2,N=H=>C!=null?Math.min(F,Math.abs(vt(H)-C)/B*F):Math.min(x,Math.max(0,vt(H)/B*x)),I=R?0:N(V.a),L=R?0:N(V.b),$=(V.parts??[]).map(vt);return t.jsx("div",{className:`manager-bar-chart-col${b&&_?" manager-bar-chart-col--group":""}`,style:{cursor:R?"default":"pointer"},tabIndex:g&&!R?0:void 0,role:g&&!R?"img":void 0,"aria-label":g&&!R?O(V,$):void 0,onMouseEnter:R?void 0:H=>M(H.currentTarget,V,$),onFocus:R||!g?void 0:H=>M(H.currentTarget,V,$),onBlur:g?W:void 0,onMouseLeave:W,children:!R&&(_&&b?(p??[]).map((H,X)=>{const K=$[X]??0;if(C==null)return t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:N(K),background:H}},X);const Y=vt(K)<C;return t.jsxs("div",{className:"manager-bar-chart-slot",style:k,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!Y&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:N(K),background:H}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:Y&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:N(K),background:H}})})]},X)}):_?t.jsx("div",{className:"manager-bar-chart-stack",style:k,children:(()=>{const H=$.reduce((K,Y,ae)=>Y>0?ae:K,-1);let X=x;return $.map((K,Y)=>{if(K<=0)return null;const ae=Math.min(X,K/B*x);return X-=ae,t.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:ae,background:(p??[])[Y],borderRadius:Y===H?"6px 6px 0 0":void 0}},Y)})})()}):C!=null?t.jsx(t.Fragment,{children:[{v:vt(V.a),c:n},...y?[]:[{v:vt(V.b),c:a}]].map(({v:H,c:X},K)=>t.jsxs("div",{className:"manager-bar-chart-slot",style:k,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:H>=C&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:N(H),background:X}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:H<C&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:N(H),background:X}})})]},K))}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:I,background:n}}),!y&&t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:L,background:a}})]}))},U)})]}),t.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((V,U)=>{const R=kn(V,C==null);return t.jsxs("span",{className:`manager-bar-chart-x-axis__label${R?" 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(Wn,{anchorRect:z.rect,title:z.title,items:z.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Xl({control:e}){const{t:n}=ve.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:u,periodOptions:c,period:d,setPeriod:p}=e,m=d==="week"?n("calendar.prevWeek","\uC774\uC804 \uC8FC"):n("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?n("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):n("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return t.jsxs("div",{className:"manager-section-controls",children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),t.jsx(cn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:n("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),t.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:u}),t.jsx(An,{ariaLabel:n("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:c,value:d,onChange:b=>p(b),size:40})]})}function yo(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 c=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],d=c!=null&&kn(c,r)||u>s;return{dt:u,entry:c,isFuture:d}})}function iy(e,n,a,r,s=!0){const{period:i,monthRange:l,weekRange:u,weekRanges:c,DOW:d}=n,p=r?.startsWith("ko"),m=Qn(),h=m.getFullYear(),b=m.getMonth()+1,v=m.getDate();if(i==="month"){const _=e[l]??{weekly:[],daily:[]},C=l.match(/^(\d+)년 (\d+)월$/),w=C?Number(C[1]):null,f=C?Number(C[2]):null,B=w&&f?Cn(w,f-1):1;return _.weekly.map((x,D)=>{const k=D+1;let A=x.label,E=!1,j=!1;if(w&&f){const z=B+D*7,P=new Date(w,f-1,z+6),W=P.getMonth()+1,S=P.getDate(),M=W===f?`${S}`:`${W}/${S}`;A=a("manager.chart.weekRange",{start:z,end:M});const O=new Date(h,b-1,v).getTime();E=O>=new Date(w,f-1,z).getTime()&&O<=P.getTime(),j=w>h||w===h&&(f>b||f===b&&z>v)}return{...x,label:A,sublabel:p?`${Yl[k-1]??k}\uC8FC`:`Week ${k}`,isToday:E,future:x.future===!0||j||void 0,a:j?-1:x.a,b:j?0:x.b}})}const g=c.find(_=>_.value===u);if(!g)return[];const y=new Date(g.year,g.month-1,Cn(g.year,g.month-1)+g.week*7);return yo(e,y,m,s).map(({dt:_,entry:C,isFuture:w})=>{const f=_.getMonth()+1,B=_.getDate(),x=_.getFullYear();return{label:f===g.month&&x===g.year?`${B}`:`${f}/${B}`,sublabel:d[_.getDay()]??"",future:w||void 0,a:w?-1:C&&C.a>0?C.a:0,b:w?0:C&&C.b>0?C.b:0,isToday:x===h&&f===b&&B===v,...C?.parts?{parts:w?C.parts.map(()=>0):C.parts}:{},...C?.partsB?{partsB:w?C.partsB.map(()=>0):C.partsB}:{}}})}const ly={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function uy({focusableBars:e,size:n="medium",barWidth:a,titleKey:r,titleLevel:s,data:i,colorA:l,colorB:u,labelAKey:c,labelBKey:d,showTotal:p=!1,totalUnitKey:m,totalLabelKey:h,control:b,hideControls:v=!1,rate:g=!1,rateAgg:y="dayMean",tightMax:_=!1,avgMode:C=!1,totalFormat:w,series:f,seriesMode:B="stack",loading:x=!1,onDetail:D,headExtra:k,headSegment:A,icon:E,disc:j,onClick:z,cardAriaLabel:P,cardTooltip:W,detailSize:S=32,barGap:M,baseline:O,className:Q,inGrid:te=!1}){const{t:V,i18n:U}=ve.useTranslation(),R=ly[n],F=Zl(i),N=b??F,I=o.useMemo(()=>iy(i,N,V,U.language,O==null),[i,N,V,U.language,O]),L=B==="group"&&!!f&&f.length>0;M!=null&&!L&&an("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 $=o.useMemo(()=>{if(!g)return I;const ae=N.period==="month"?N.monthRange.match(/^(\d+)년 (\d+)월$/):null,le=Qn(),se=f?.length??0,ke=q=>{const ne=[],fe=[],xe=[];for(let he=0;he<se;he++){let ie=0,ce=0,ue=0;for(const ge of q){const Ee=vt(ge.a[he]),Ne=vt(ge.b[he]);Ne<=0||(ie+=Ee,ce+=Ne,ue+=Ee/Ne*100)}ne.push(y==="weighted"?ce>0?Math.round(ie/ce*100):0:q.length?Math.round(ue/q.length):0),fe.push(ie),xe.push(ce)}return{pct:ne,ra:fe,rb:xe}};return I.map((q,ne)=>{let fe=q.a===-1?-1:q.b>0?Math.round(q.a/q.b*100):0;if(ae&&!kn(q)){const he=Number(ae[1]),ie=Number(ae[2])-1,ce=yo(i,new Date(he,ie,Cn(he,ie)+ne*7),le).filter(ue=>!ue.isFuture);if(y==="weighted"){let ue=0,ge=0;for(const{entry:Ee}of ce)Ee&&Ee.b>0&&(ue+=Ee.a,ge+=Ee.b);fe=ge>0?Math.round(ue/ge*100):0}else fe=ce.length?Math.round(ce.reduce((ue,{entry:ge})=>ue+(ge&&ge.b>0?ge.a/ge.b*100:0),0)/ce.length):0}let xe=null;if(L&&!kn(q)){let he;if(ae){const ce=Number(ae[1]),ue=Number(ae[2])-1;he=yo(i,new Date(ce,ue,Cn(ce,ue)+ne*7),le).filter(ge=>!ge.isFuture).map(({entry:ge})=>({a:ge?.parts??[],b:ge?.partsB??[]}))}else he=[{a:q.parts??[],b:q.partsB??[]}];const ie=ke(he);xe={parts:ie.pct,rawParts:ie.ra,rawPartsB:ie.rb}}return{...q,a:fe,b:q.a===-1?0:d&&q.parts&&q.parts[1]>0?Math.round(q.parts[0]/q.parts[1]*100):0,rawA:q.a===-1?-1:q.a,rawB:q.b,...xe??{}}})},[I,g,y,d,N.period,N.monthRange,i,L,f?.length]),H=o.useMemo(()=>{if(g||C){const le=(N.period==="week"?I:i[N.monthRange]?.daily??[]).filter(ke=>ke.a!==-1);if(le.length===0)return 0;if(g&&y==="weighted"){let ke=0,q=0;for(const ne of le)ne.b>0&&(ke+=ne.a,q+=ne.b);return q>0?Math.round(ke/q*100):0}const se=g?le.reduce((ke,q)=>ke+(q.b>0?q.a/q.b*100:0),0):le.reduce((ke,q)=>ke+(q.a>0?q.a:0),0);return Math.round(se/le.length)}const ae=N.period==="month"?i[N.monthRange]?.daily??[]:$;return O!=null?ae.reduce((le,se)=>le+(kn(se,!1)?0:vt(se.a)+(d?vt(se.b):0)),0):ae.reduce((le,se)=>le+(se.a>0?se.a:0)+(d&&se.b>0?se.b:0),0)},[$,I,g,y,C,O,d,N.period,N.monthRange,i]),X=f&&f.length>0?f.map(ae=>({color:ae.color,label:ae.label})):[{color:l,label:V(c)},...d?[{color:u,label:V(d)}]:[]],K=n==="small",Y=[K?"manager-section--compact":n==="large"?"manager-section--full":void 0,Q].filter(Boolean).join(" ")||void 0;return t.jsx(bo,{className:Y,inGrid:te,icon:E,disc:j,onClick:z,ariaLabel:P,tooltip:W,headSegment:A,headMenuItems:D?[{label:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:D,closeOnSelect:!0}]:void 0,title:V(r),titleLevel:s,titleClassName:K?"h5 chart-section-title--small":void 0,headRight:K?k??void 0:({collapsed:ae})=>t.jsxs(t.Fragment,{children:[!v&&t.jsx(Xl,{control:N}),k,D&&!ae&&t.jsx("span",{className:"manager-bar-chart-detail-btn",children:t.jsx(me,{htmlType:"button",size:S,type:"dot",icon:"list",ariaLabel:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),showTooltipInfo:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:D})})]}),subRow:t.jsxs(t.Fragment,{children:[p?g||C||h&&w?t.jsx($a,{label:K?void 0:`${V(N.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${V(h??c)}`,children:w?(w(H).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((ae,le)=>/\d/.test(ae)?t.jsx("span",{className:"barchart-total__num h0",children:ae},le):t.jsx("span",{className:"barchart-total__unit h5",children:ae},le)):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"barchart-total__num h0",children:H}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]})}):t.jsxs($a,{children:[t.jsx("span",{className:"barchart-total__num h0",children:H}),t.jsx("span",{className:"barchart-total__unit h5",children:V(c)}),m&&t.jsx("span",{className:"barchart-total__unit h5",children:V(m)})]}):t.jsx("span",{}),t.jsx(go,{items:X,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:R.height},children:t.jsx(La,{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"}),$.some(ae=>!!ae.sublabel)&&t.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):t.jsx(sy,{focusableBars:e,data:$,colorA:l,colorB:d?u:void 0,labelA:V(c),labelB:d?V(d):void 0,barWidth:a??R.barWidth,barGap:M,baseline:O,height:R.height,maxOverride:g?100:void 0,tightMax:_,seriesColors:f?.map(ae=>ae.color),seriesLabels:f?.map(ae=>ae.label),rateLabels:g?{total:V("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:V("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:L})})}const Jl=120,cy={left:38,right:16,top:26,bottom:24};function dy({points:e=[],range:n,ticks:a=[],axisTitle:r,color:s,height:i=156,fallbackWidth:l=320,insets:u,overlay:c,ariaLabel:d,className:p}){const[m,h]=o.useState(null),[b,v]=o.useState(null);o.useEffect(()=>{if(!b)return;const O=te=>h(Math.round(te)||null);if(O(b.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const Q=new ResizeObserver(([te])=>O(te.contentRect.width));return Q.observe(b),()=>{Q.disconnect()}},[b]);const{payload:g,anchorRect:y,openAfterDelay:_,close:C}=Cb(Jl),w=o.useCallback((O,Q)=>{O&&_(O,Q.getBoundingClientRect())},[_]),f=m??l,B=i,{left:x,right:D,top:k,bottom:A}={...cy,...u},[E,j]=n,z=O=>j===E?x:x+(f-x-D)*(O-E)/(j-E),P=O=>k+(B-k-A)*(100-O)/100,W={x:z,y:P,plot:{left:x,right:f-D,top:k,bottom:B-A,width:Math.max(0,f-x-D),height:Math.max(0,B-k-A)}},S=e.filter(O=>!O.hollow),M=s??"var(--color-main)";return t.jsxs(t.Fragment,{children:[t.jsxs("svg",{ref:v,className:Be("line-chart",p),viewBox:`0 0 ${f} ${B}`,role:"img","aria-label":d??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:f-D,y1:P(O),y2:P(O)}),t.jsxs("text",{className:"line-chart__tick",x:x-6,y:P(O)+4,textAnchor:"end",children:[O,"%"]})]},O)),c?.(W),a.map(O=>t.jsx("text",{className:"line-chart__tick",x:z(O.x),y:B-5,textAnchor:"middle",children:O.label},O.x)),S.length>1&&t.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:M,points:S.map(O=>`${z(O.x)},${P(O.pct)}`).join(" ")}),e.map(O=>t.jsxs("g",{className:"line-chart__dot",onPointerEnter:Q=>w(O.description,Q.currentTarget),onPointerLeave:C,children:[t.jsx("circle",{className:"line-chart__dot-hit",cx:z(O.x),cy:P(O.pct),r:12}),t.jsx("circle",{className:Be("line-chart__dot-main",O.hollow&&"is-hollow"),cx:z(O.x),cy:P(O.pct),r:4,stroke:M,fill:O.hollow?void 0:M})]},O.x))]}),g!=null&&t.jsx(ln,{anchorRect:y,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:g,children:g})]})}function py({icon:e,iconSize:n=56,title:a,titleClass:r="h2",description:s,tipGroups:i,start:l,className:u}){return t.jsxs("div",{className:Be("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:Be("game-intro__title",r),children:a}),s!=null&&t.jsx("p",{className:"game-intro__description body-3",children:s}),i?.map((c,d)=>t.jsxs("div",{className:"game-intro__tips",children:[c.title!=null&&t.jsx("span",{className:"game-intro__tips-title body-3",children:c.title}),c.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))]},d)),l&&t.jsx(me,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const Ql=(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")}`},eu=(e,n,a,r)=>({from:di(e,n,a),to:new Date(di(e,n,a+r).getTime()-1),fromYmd:Ql(e,n,a),toYmd:Ql(e,n,a+r-1)});function my(e,n=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Qn(),l=s?Number(s[1]):i.getFullYear(),u=(s?Number(s[2]):i.getMonth()+1)-1+n,c=new Date(Date.UTC(l,u+1,0)).getUTCDate();return eu(l,u,1,c)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=xa();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=Cn(a.year,a.month-1);return eu(a.year,a.month-1,r+(a.week+n)*7,7)}const vo={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function tu(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function nu({done:e,total:n,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:u=!1,hideLabel:c=!1}){const d=typeof s=="number"?s:vo[s].diameter,p=i??(typeof s=="number"?12:vo[s].strokeWidth),m=d/2,h=(d-p)/2,b=2*Math.PI*h;if(a&&a.length>0){const _=a.reduce((C,w)=>{const f=C.length>0?C[C.length-1].acc:0,B=Number.isFinite(w.ratio)?w.ratio:0,x=Math.max(0,Math.min(B,1-f));return C.push({color:w.color,rotate:-90+f*360,dash:b*x,acc:f+x}),C},[]);return t.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:t.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),_.map((C,w)=>C.dash>0&&t.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:C.color,strokeWidth:p,strokeDasharray:`${C.dash} ${b}`,strokeLinecap:"round",transform:`rotate(${C.rotate} ${m} ${m})`},w))]})})}const v=(n??0)>0?Math.min((e??0)/n,1):0,g=b*v,y=b-g;return t.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[t.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),v>0&&t.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${g} ${y}`,strokeLinecap:v<.02||v>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!u&&t.jsxs("div",{className:`ring-chart__center${c?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[t.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:tu(v)}),!c&&t.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function hy({titleKey:e,titleLevel:n,headRight:a,icon:r,showTotal:s,totalLabelKey:i,legend:l,loading:u,className:c,inGrid:d=!1,onClick:p,ariaLabel:m,tooltip:h,...b}){const{t:v}=ve.useTranslation();if(!e)return t.jsx(nu,{...b});const g=(b.total??0)>0?tu(Math.min((b.done??0)/b.total,1)):0,y=b.size==="small",_=typeof b.size=="number"?b.size:vo[b.size??"medium"].diameter,C=b.size==="large",w=[c,y?"manager-section--compact":C?"manager-section--full":""].filter(Boolean).join(" ")||void 0,f=r&&t.jsx("span",{className:"chart-section-icon",children:t.jsx(Qe,{icon:r,className:"chart-section-icon-inner"})});return t.jsx(bo,{className:w,inGrid:d,onClick:p,ariaLabel:m,tooltip:h,title:v(e),titleLevel:n,titleClassName:y?"h5 chart-section-title--small":void 0,headRight:f||(y?void 0:a),subRow:(s||l)&&t.jsxs(t.Fragment,{children:[s?t.jsxs($a,{label:!y&&i?v(i):void 0,children:[t.jsx("span",{className:"barchart-total__num h0",children:g}),t.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):t.jsx("span",{}),l&&t.jsx(go,{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:_,height:_},"aria-busy":"true",children:t.jsx(La,{size:32})})}):t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx(nu,{...b,hideCenter:b.hideCenter??y})})})}function Cy({label:e,value:n,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:u}){const c=o.useRef(null),{anchorRect:d,openAt:p,close:m}=Ba(),h=o.useCallback(()=>{i&&c.current&&p(c.current)},[i,p]),b=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),v=a===void 0?void 0:a>0?`+${a}`:`${a}`,g=o.useCallback(y=>{l&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),l())},[l]);return t.jsxs("div",{ref:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?g:void 0,onPointerEnter:h,onPointerLeave:m,onFocus:h,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&&d&&t.jsx(xn,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.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(Qe,{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--${b??"neutral"} caption-1`,children:v})]}),u&&t.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function au({value:e,onChange:n,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:u=!1,ariaLabel:c,length:d,className:p,label:m,formatValue:h,labelPos:b,labelAlign:v="right",showMinMax:g=!1,minLabel:y,maxLabel:_,showBgTick:C=!1,showFillTick:w=!1,tickStep:f,tickShape:B="dot"}){n&&!c&&an("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)),D=r>a?(x-a)/(r-a):0,k=i==="vertical",A=!n,E=N=>n?.(Number(N.target.value)),j=typeof d=="number"?`${d}px`:d,z={"--slider-ratio":String(D),"--slider-thumb":`${l}px`,...j?k?{height:j}:{width:j}:{}},P=f??s,W=(C||w)&&P>0&&r>a?Math.floor((r-a)/P+1e-6):0;if(W>0&&W<=100){const N=B!=="dash",I=K=>N?`radial-gradient(circle, ${K} 0.5px, transparent 1px)`:k?`linear-gradient(to bottom, transparent calc(50% - 2px), ${K} calc(50% - 2px), ${K} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${K} calc(50% - 2px), ${K} calc(50% + 2px), transparent calc(50% + 2px))`,L=N?"2px":"4px",$=[],H=[],X=[];for(let K=0;K<=W;K++){const Y=K*P/(r-a);if(Y>1+1e-6)break;const ae=`${((k?1-Y:Y)*100).toFixed(4)}%`,le=Y<=D+1e-6;if(le?!w:!C)continue;const se=le?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";$.push(I(se)),H.push(k?`${L} var(--slider-thumb)`:`var(--slider-thumb) ${L}`),X.push(k?`center ${ae}`:`${ae} center`)}$.push(k?"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))"),H.push("100% 100%"),X.push("0 0"),z.backgroundImage=$.join(", "),z.backgroundSize=H.join(", "),z.backgroundPosition=X.join(", "),z.backgroundRepeat="no-repeat"}const S=h?h(x):m==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:m==="count"?`${x} / ${r}`:x===a&&y?y:x===r&&_?_:void 0,M=t.jsx("input",{type:"range",className:Be("slider",`slider--${i}`,A&&"slider--static",!m&&!g&&p),min:a,max:r,step:s,value:x,disabled:u,readOnly:A,tabIndex:A?-1:void 0,"aria-label":c,"aria-valuetext":S,"aria-orientation":i,onChange:E,style:z});if(!m&&!g)return M;const O=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??a}),Q=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??r}),te=g?t.jsxs("div",{className:Be("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[k?Q:O,M,k?O:Q]}):M;if(!m)return te;const V=b??(k?"bottom":"right"),U=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,R=h?h(x):m==="percent"?U:m==="count"?`${x} / ${r}`:String(x),F=t.jsx("span",{className:"slider-wrap__value body-3b",children:R});return t.jsxs("div",{className:Be("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${V}`,`slider-wrap--align-${v}`,p),children:[te,F]})}const fy=.86,gy=250,xo=(e,n,a,r)=>Math.round(Math.min(r,Math.max(a,e-n))),_o=(e,n,a,r)=>{const s=xo(e,n,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function wo({analyser:e,audioElement:n,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:u=-60,refDb:c=-35,displayMin:d=-5,displayMax:p=25,className:m,ariaLabel:h}){const b=o.useRef(null),v=o.useRef(null),g=o.useRef(null),y=o.useRef(null),[_,C]=o.useState(null);o.useEffect(()=>{const x=M=>{const O=_o(M,c,d,p);g.current&&(g.current.textContent=O);const Q=b.current;Q&&(Q.setAttribute("aria-valuenow",String(xo(M,c,d,p))),Q.setAttribute("aria-valuetext",O))},D=e??uC(n)??(_&&_.el===n?_.node:null),k=v.current;if(!D||!k){k?.style.setProperty("--meter-level","0"),x(u);let M=!1;return!e&&n&&za(n).then(O=>{!M&&O&&C({el:n,node:O})}),()=>{M=!0}}Fr();const A=new Float32Array(D.fftSize);let E=0,j=0,z=0,P=0,W=null;const S=M=>{const O=cC(D,A);E=O>E?O:E*fy;const Q=E>1e-5?20*Math.log10(E):-1/0,te=Math.max(u,Q),V=te-c,U=Math.min(1,Math.max(0,(V-d)/(p-d)));if(k.style.setProperty("--meter-level",U.toFixed(3)),j+=te,z+=1,M-P>=gy){const R=j/z;W=W==null?R:W*.6+R*.4,x(W),j=0,z=0,P=M}y.current=requestAnimationFrame(S)};return y.current=requestAnimationFrame(S),()=>{y.current!=null&&cancelAnimationFrame(y.current),y.current=null}},[e,n,_,u,c,d,p]);const w=typeof r=="number"?`${r}px`:r,f=t.jsx("div",{className:"audio-meter__track",style:w?a==="vertical"?{height:w}:{width:w}:{},children:t.jsx("div",{ref:v,className:"audio-meter__fill"})}),B=i??(a==="vertical"?"bottom":"right");return t.jsxs("div",{ref:b,className:Be("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${B}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":p,"aria-valuenow":xo(u,c,d,p),"aria-valuetext":_o(u,c,d,p),children:[f,s&&t.jsx("span",{ref:g,className:"audio-meter__value caption-2",children:_o(u,c,d,p)})]})}const ru=260;function ou({message:e,position:n,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,u]=o.useState(!1),c=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{c.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),h=o.useRef(r);o.useEffect(()=>{h.current=r});const b=a,v=o.useRef(null),g=o.useRef(0),y=o.useRef(0),_=o.useRef(!1),C=o.useRef(null),w=o.useRef(null),f=o.useRef(null),B=o.useRef(null),x=o.useRef(()=>{});x.current=A=>{A<0||(g.current=Date.now(),y.current=A,v.current=setTimeout(()=>{v.current=null,i(!1),C.current=setTimeout(()=>{u(!1);try{h.current()}catch{}},ru)},A))};const D=o.useCallback(()=>{_.current||!v.current||(_.current=!0,clearTimeout(v.current),v.current=null,y.current=Math.max(0,y.current-(Date.now()-g.current)))},[]),k=o.useCallback(()=>{_.current&&(_.current=!1,x.current(y.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(v.current&&(clearTimeout(v.current),v.current=null),C.current&&(clearTimeout(C.current),C.current=null)),e){if(d.current)return b>0&&!v.current&&(_.current?y.current=b:x.current(b)),m.current=e,()=>{v.current&&(clearTimeout(v.current),v.current=null),C.current&&(clearTimeout(C.current),C.current=null)};const A=()=>{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"),B.current&&clearTimeout(B.current),B.current=setTimeout(()=>{B.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};c.current?(A(),i(!0)):(u(!0),w.current=requestAnimationFrame(()=>{f.current=requestAnimationFrame(()=>{A(),i(!0)})})),b>0&&(_.current=!1,x.current(b))}else i(!1),C.current=setTimeout(()=>u(!1),ru);return m.current=e,()=>{v.current&&clearTimeout(v.current),C.current&&clearTimeout(C.current),w.current&&cancelAnimationFrame(w.current),f.current&&cancelAnimationFrame(f.current),B.current&&clearTimeout(B.current),v.current=null,C.current=null,w.current=null,f.current=null,B.current=null}},[e,b,n]),{mounted:l,showing:s,popupRef:p,pause:D,resume:k}}function oa({message:e="",position:n="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:u,pause:c,resume:d}=ou({message:e,position:n,duration:s,onClose:r}),p=o.useRef(null),[m,h]=o.useState(!1);if(o.useEffect(()=>{l?h(!0):i||h(!1)},[l,i]),!i)return null;const b=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:g=>{p.current=g.pointerType},onMouseEnter:()=>{p.current!=="touch"&&c()},onMouseLeave:d,onFocusCapture:c,onBlurCapture:d,children:t.jsx("div",{className:`toast__inner toast__inner--${b} body-2`,"aria-hidden":m||l?void 0:!0,children:t.jsx("span",{className:"toast__text",children:e})})});return typeof document<"u"?Qt.createPortal(v,document.body):v}const by=24;function yy({value:e,max:n=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:u,labelAlign:c="right",ariaLabel:d,className:p}){const m=Number.isFinite(n)&&n>0?n:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),b=h/m*100,v=Number.isFinite(n)&&n>0?n:0,g=u??(a>=by?"inside":"bottom"),y=g==="center"?"inside":g,_=y==="inside"&&(c==="left"?b>=15:c==="center"?b>=50:b>=85),C={};return r&&(C["--progress-bar-fill"]=r),s&&(C["--progress-bar-track"]=s),t.jsxs("div",{className:Be("progress-bar",`progress-bar--${a}`,`progress-bar--label-${y}`,i&&`progress-bar--align-${c}`,i&&_&&"progress-bar--label-on-fill",p),style:C,children:[t.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":v,"aria-valuetext":i?l?l(h):i==="percent"?void 0:i==="raw"?String(h):`${h} / ${v}`:void 0,"aria-label":d,children:t.jsx("div",{className:"progress-bar__fill",style:{width:`${b}%`}})}),i&&t.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):i==="percent"?`${Math.round(b)}%`:i==="raw"?String(h):`${h} / ${v}`})]})}const su={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},vy="rgba(255, 255, 255, 0.16)";function iu({max:e,index:n,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:u}){const{t:c}=ve.useTranslation(),d=rn("(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??c("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),h={};if(a&&(h["--pi-inactive-bg"]=a),r&&(h["--pi-inactive-color"]=r),s&&(a||(h["--pi-inactive-bg"]=vy),r||(h["--pi-inactive-color"]="var(--color-white)")),i==="dot")return t.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&t.jsx("span",{style:su,children:m}),Array.from({length:e}).map((v,g)=>t.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${g<p?" done":g===p?" active":""}`},g))]});const b=l?t.jsx("span",{role:"status",style:su,children:m}):null;return d?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":m,children:t.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),b]}):t.jsxs(t.Fragment,{children:[b,t.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":m,children:Array.from({length:e}).map((v,g)=>t.jsx("span",{role:"listitem","aria-current":g===p?"step":void 0,className:`progress-indicator-dot ${g<p?" done":g===p?" active":""} body-3`,children:g+1},g))})]})}function xy(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 _y({children:e,className:n,style:a,rowLabel:r,onRowClick:s}){return t.jsx("div",{role:"cell",className:n?`table-cell ${n}`:"table-cell",style:a,children:r&&s?t.jsx("button",{type:"button",className:"table-cell__row-button","aria-label":r,children:e}):e})}function Bo({variant:e="default",children:n,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,expandedContent:d,colSpan:p,describedBy:m,rowHasButton:h}){const b=o.useCallback(v=>{s&&v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s())},[s]);return e==="loading"?t.jsx("div",{role:"presentation",className:"table-row-wrap",children:t.jsx("div",{role:"row",className:"table-row table-row--loading",children:t.jsx("div",{role:"cell","aria-colspan":p,className:"table-row__full-cell",children:t.jsx(La,{size:28})})})}):e==="empty"?t.jsx("div",{role:"presentation",className:"table-row-wrap",children:t.jsx("div",{role:"row",className:"table-row table-row--empty body-3",children:t.jsx("div",{role:"cell","aria-colspan":p,className:"table-row__full-cell",children:n})})}):t.jsxs("div",{role:"presentation",className:"table-row-wrap",children:[t.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?b:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,role:"row",tabIndex:s&&!h?0:void 0,"aria-describedby":s&&!h?m:void 0,children:n}),d&&t.jsx("div",{role:"row",className:"table-row-expand",children:t.jsx("div",{role:"cell","aria-colspan":p,className:"table-row-expand__cell",children:d})})]})}function wy({dir:e}){return t.jsx(e==="asc"?_s:xs,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function By({children:e,onClick:n,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=t.jsxs(t.Fragment,{children:[e,r&&t.jsx(wy,{dir:r})]});return t.jsxs("div",{onClick:n,role:"columnheader","aria-sort":s,className:Be("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 Ao({fields:e=[],headerGroups:n,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:c,onRowDragEnd:d,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:h,resizable:b=!1,resizeMode:v="grow",resizeStorageKey:g,size:y="small",title:_,icon:C,count:w,collapsed:f=!1,onToggleCollapse:B,headerActions:x,empty:D,loading:k,dragOver:A=!1,onDragOver:E,onDragLeave:j,onDrop:z,renderExpandedRow:P,expandedId:W}){const{t:S}=ve.useTranslation(),M=o.useId(),O=`table-title-${M}`,Q=`table-row-hint-${M}`,te=rn("(max-width: 767px)"),V=h&&te?h:null,U=b&&!te,R=48,F=o.useRef(()=>R),N=g?`table-cols:${g}`:null,I=o.useRef(null),L=o.useRef(null),$=o.useRef(null),H=o.useRef(null),[X,K]=o.useState(!1),Y=o.useCallback(()=>{const Z=$.current;Z&&K(Z.scrollWidth>Z.clientWidth+1)},[]),ae=o.useCallback((Z,re)=>{const pe=Z.current;pe&&L.current&&L.current.unobserve(pe),Z.current=re,re?(!L.current&&typeof ResizeObserver<"u"&&(L.current=new ResizeObserver(()=>Y())),L.current?.observe(re)):!$.current&&!H.current&&(L.current?.disconnect(),L.current=null),Y()},[Y]),le=o.useCallback(Z=>ae($,Z),[ae]),se=o.useCallback(Z=>ae(H,Z),[ae]);o.useEffect(()=>{Y()}),o.useEffect(()=>{if(typeof window>"u")return;const Z=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>Y()):null;return window.addEventListener("resize",Y),()=>{Z!=null&&cancelAnimationFrame(Z),window.removeEventListener("resize",Y)}},[Y]);const ke=o.useRef(()=>!1),q=o.useRef([]),ne=o.useRef(null),fe=Z=>{if(!Z||typeof window>"u")return null;try{const re=JSON.parse(window.localStorage.getItem(Z)??"null");return Array.isArray(re)&&re.length>0&&re.every(pe=>typeof pe=="number"&&Number.isFinite(pe)&&pe>0)?re:null}catch{return null}},[xe,he]=o.useState(()=>fe(N)),[ie,ce]=o.useState(N);ie!==N&&(ce(N),he(fe(N)));const ue=o.useRef(xe);o.useEffect(()=>{ue.current=xe},[xe]);const ge=o.useCallback(Z=>{const re=ne.current;if(!re)return;const pe=ue.current;if(pe){const Se=[...pe];if(re.next!=null&&re.startWNext!=null){const it=Z.clientX-re.startX,Ye=Math.max(F.current(re.index)-re.startW,Math.min(re.startWNext-F.current(re.next),it));Se[re.index]=re.startW+Ye,Se[re.next]=re.startWNext-Ye}else Se[re.index]=Math.max(F.current(re.index),re.startW+(Z.clientX-re.startX));ue.current=Se,he(Se)}},[]),Ee=o.useCallback(()=>{if(ne.current=null,window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",Ee),window.removeEventListener("pointercancel",Ee),document.body.style.cursor="",document.body.style.userSelect="",N&&ue.current)try{window.localStorage.setItem(N,JSON.stringify(ue.current))}catch{}},[ge,N]),Ne=o.useCallback((Z,re)=>{re.preventDefault(),re.stopPropagation();const pe=I.current;if(!pe)return;const Se=Array.from(pe.children).map(Ye=>Ye.getBoundingClientRect().width),it=v==="fit"?e.findIndex((Ye,xt)=>xt>Z&&Ye.resizable!==!1):-1;ne.current=it>=0?{index:Z,startX:re.clientX,startW:Se[Z],next:it,startWNext:Se[it]}:{index:Z,startX:re.clientX,startW:Se[Z]},ue.current=Se,he(Se),window.addEventListener("pointermove",ge),window.addEventListener("pointerup",Ee),window.addEventListener("pointercancel",Ee),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[ge,Ee,v,e]),Ke=o.useCallback(()=>{const Z=I.current,re=Z?.closest(".table-wrap");if(!Z||!re)return;const pe=re.style.getPropertyValue("--table-grid-cols");re.style.setProperty("--table-grid-cols",e.map((tt,$e)=>ke.current($e)?q.current[$e]:"max-content").join(" "));const Se=Array.from(re.querySelectorAll(".table-row")).filter(tt=>!tt.classList.contains("table-row--loading")&&!tt.classList.contains("table-row--empty")),it=e.map((tt,$e)=>{let Ge=Z.children[$e]?.getBoundingClientRect().width??0;for(const Ct of Se){const Mt=Ct.children[$e];Mt&&(Ge=Math.max(Ge,Mt.getBoundingClientRect().width))}const Pe=ke.current($e)?parseFloat(q.current[$e]):NaN;return Number.isFinite(Pe)?Pe:Math.max(F.current($e),Math.ceil(Ge))}),Ye=window.getComputedStyle(Z),xt=Z.clientWidth-(parseFloat(Ye.paddingLeft)||0)-(parseFloat(Ye.paddingRight)||0);pe?re.style.setProperty("--table-grid-cols",pe):re.style.removeProperty("--table-grid-cols");let bt=it;const dt=it.reduce((tt,$e,Ge)=>tt+(ke.current(Ge)?$e:0),0),rt=it.reduce((tt,$e,Ge)=>tt+(ke.current(Ge)?0:$e),0),et=xt-dt;if(xt>0&&rt>0&&et>0){const tt=et/rt;bt=it.map((Ge,Pe)=>ke.current(Pe)?Ge:Math.max(F.current(Pe),Math.round(Ge*tt)));const $e=Math.round(et-bt.reduce((Ge,Pe,Ct)=>Ge+(ke.current(Ct)?0:Pe),0));if($e!==0){let Ge=-1;bt.forEach((Pe,Ct)=>{!ke.current(Ct)&&(Ge<0||Pe>bt[Ge])&&(Ge=Ct)}),Ge>=0&&(bt[Ge]=Math.max(F.current(Ge),bt[Ge]+$e))}}if(he(bt),N)try{window.localStorage.setItem(N,JSON.stringify(bt))}catch{}},[e,v,N]);o.useEffect(()=>()=>{ne.current&&(window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",Ee),window.removeEventListener("pointercancel",Ee),document.body.style.cursor="",document.body.style.userSelect="")},[ge,Ee]);const ze=xy(m),qe=ze.filter(Z=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(Z));qe.length>0&&an(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${qe.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 He=e.findIndex(Z=>!!Z.sortDir);e.filter(Z=>!!Z.sortDir).length>1&&an("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 ct=Z=>Z===He?e[Z].sortDir==="asc"?"ascending":"descending":e[Z].onClick?"none":void 0,ot=Z=>/^\d+(\.\d+)?px$/.test(ze[Z]??""),st=Z=>{const re=ze[Z]??"",pe=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(re)??/^(\d+(?:\.\d+)?)px$/.exec(re);return pe?parseFloat(pe[1]):R};ke.current=ot,F.current=st,q.current=ze;const ht=Z=>v==="fit"&&!ot(Z)?"fr":"px",Ae=xe&&xe.length===e.length&&!te&&(v==="fit"||a.length>0),Fe=V??(Ae?e.map((Z,re)=>Z.resizable===!1&&ze[re]?ze[re]:`${xe[re]}${ht(re)}`).join(" "):m),we=Fe?{"--table-grid-cols":Fe}:void 0,at=_!==void 0;return t.jsxs("div",{ref:le,className:`table-wrap table-wrap--${y}${U?" table-wrap--resizable":""}${A?" table-wrap--dragover":""}${f?" table-wrap--collapsed":""}`,style:we,onDragOver:E,onDragLeave:j,onDrop:z,tabIndex:X?0:void 0,role:X?"region":void 0,"aria-label":X?typeof _=="string"?_:S("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:[!!s&&t.jsx("span",{id:Q,className:"table-row-hint",children:S("table.rowActionHint","\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4")}),t.jsxs("div",{ref:se,role:"table","aria-labelledby":at&&typeof _=="string"?O:void 0,className:"table body-2",children:[at&&t.jsxs("div",{className:Be("table-header",B&&"table-header--clickable"),onClick:B,role:"caption",children:[B&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:f?"chevron-right":"chevron-down",ariaLabel:f?S("common.expand","\uD3BC\uCE58\uAE30"):S("common.collapse","\uC811\uAE30"),ariaExpanded:!f,className:"table-header__chevron"}),C&&t.jsx(Qe,{icon:C,label:typeof _=="string"?_:void 0,className:"table-header__icon"}),t.jsx("span",{id:O,className:"table-header__title h5b",children:_}),w!==void 0&&t.jsx("span",{className:"table-header__count body-3b",children:w}),x&&t.jsx("span",{className:"table-header__actions",onClick:Z=>Z.stopPropagation(),children:x})]}),!f&&t.jsxs(t.Fragment,{children:[n&&n.length>0&&t.jsx("div",{role:"row",className:"table-fields table-fields--groups",children:n.map((Z,re)=>t.jsx("div",{role:"columnheader","aria-colspan":Z.span,className:Be("table-field body-3",Z.className),style:{gridColumn:`span ${Z.span}`},children:Z.label},re))}),t.jsxs("div",{role:"presentation",className:Be("table-fields-strip",U&&"table-fields-strip--resizable"),children:[t.jsx("div",{role:"row",className:"table-fields",ref:I,children:e.map((Z,re)=>t.jsx(By,{onClick:Z.onClick,className:Z.className,sortDir:Z.sortDir,ariaSort:ct(re),onResizeStart:U&&re<e.length-1&&Z.resizable!==!1&&(v!=="fit"||e.some((pe,Se)=>Se>re&&pe.resizable!==!1))?pe=>Ne(re,pe):void 0,children:Z.label},re))}),U&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ke})]}),t.jsx("div",{role:"rowgroup",className:"table-body",children:k?t.jsx(Bo,{variant:"loading",colSpan:e.length||void 0}):a.length===0&&D?t.jsx(Bo,{variant:"empty",colSpan:e.length||void 0,children:D}):a.map((Z,re)=>{const pe=p!=null&&Z.id===p,Se=!!s&&(i?i(Z):!0),it=W!=null&&Z.id!=null&&(W instanceof Set?W.has(Z.id)||[...W].some(Ye=>String(Ye)===String(Z.id)):String(Z.id)===String(W));return t.jsx(Bo,{className:`${Se?" table-row--clickable":""}${c?" table-row--draggable":""}${pe?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:Se?()=>s(Z):void 0,colSpan:e.length||void 0,rowHasButton:r(Z).some(Ye=>!!Ye.rowLabel),describedBy:Q,onMouseEnter:l?Ye=>l(Z,Ye):void 0,onMouseLeave:u?Ye=>u(Z,Ye):void 0,onDragStart:c?Ye=>c(Z,Ye):void 0,onDragEnd:d?Ye=>d(Z,Ye):void 0,expandedContent:it&&P?P(Z):void 0,children:r(Z).map((Ye,xt)=>t.jsx(_y,{className:Ye.className,style:Ye.style,rowLabel:Se?Ye.rowLabel:void 0,onRowClick:Se?()=>s(Z):void 0,children:Ye.content},xt))},Z.id!=null?`${typeof Z.id}:${Z.id}`:`__idx:${re}`)})})]})]})]})}function lu(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const sa=e=>e==null?"":String(e).trim();function ko(e,n,a){const r=[sa(e),sa(n),sa(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function Ay(e,n,a){const r=sa(e);return r?`${r}-${sa(n).padStart(2,"0")}-${sa(a).padStart(2,"0")}`:""}const ky={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function Ny(e,n){const a=ky[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}function uu(e,n){return n!=="wornAt"?String(e[n]??""):Ay(e.wornYear,e.wornMonth,e.wornDay)}function Dy({rows:e,loading:n,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:u}=ve.useTranslation(),c=g=>g==="\uC88C"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:d,\uCE78:p}=ob(),m=o.useMemo(()=>{if(!d)return e;const{key:g,asc:y}=d;return[...e].sort((_,C)=>{if(g==="worn"){const w=Number(C.worn)-Number(_.worn);return y?w:-w}return ro(uu(_,g),uu(C,g),y)})},[e,d]),{pageRows:h,pageSizeProps:b,paginationProps:v}=rb(m,d);return t.jsxs("div",{className:"dlp-side-table",children:[t.jsx(fo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:b,pagination:v,actions:l&&t.jsx(me,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),t.jsx(Ao,{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:h.map((g,y)=>({id:g.id??`${g.side}-${y}`,row:g})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:g})=>[{content:t.jsx("span",{className:"dlp-worn-check",onClick:y=>y.stopPropagation(),children:t.jsx(ql,{checked:g.worn,disabled:g.worn?!i:!s,ariaLabel:g.worn?u("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):u("customers.device.wear","\uCC29\uC6A9"),onChange:y=>{y?s?.(g):i?.(g)}})})},{content:t.jsx("span",{children:c(g.side)})},{content:g.device?t.jsx(At,{size:"small",variant:lu(g.device),fill:"soft",label:Ny(g.device,u)}):t.jsx("span",{})},{content:t.jsx("span",{children:g.brand})},{content:t.jsx("span",{children:g.fitType||"-"})},{content:t.jsx("span",{children:g.productName||"-"})},{content:t.jsx("span",{className:"dlp-date",children:ko(g.wornYear,g.wornMonth,g.wornDay)||"-"})},...r?[{content:t.jsx("span",{className:"dlp-row-actions",children:t.jsx(me,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:u("common.delete","\uC0AD\uC81C"),onClick:y=>{y?.stopPropagation(),r(g)}})})}]:[]],onRowClick:({row:g})=>a(g),empty:u("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function cu(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 Ey(e,n){return new Date(e,n+1,0).getDate()}function Sy(e,n){return new Date(e,n,1).getDay()}function jy({visits:e=[],onVisitClick:n,onVisitMove:a,onDayClick:r,today:s}){const{t:i,i18n:l}=ve.useTranslation(),u=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Wr(s),[d,p]=o.useState(()=>Number(c.slice(0,4))),[m,h]=o.useState(()=>Number(c.slice(5,7))-1),[b,v]=o.useState(null),g=o.useRef(null),y=o.useMemo(()=>{const x={};return e.forEach(D=>{x[D.date]||(x[D.date]=[]),x[D.date].push(D)}),x},[e]),_=o.useMemo(()=>{const x=Ey(d,m),D=Sy(d,m),k=[];for(let A=0;A<D;A++)k.push(null);for(let A=1;A<=x;A++)k.push(A);for(;k.length<35;)k.push(null);return k},[d,m]),C=o.useCallback(()=>{m===0?(p(x=>x-1),h(11)):h(x=>x-1)},[m]),w=o.useCallback(()=>{m===11?(p(x=>x+1),h(0)):h(x=>x+1)},[m]),f=x=>`${d}-${String(m+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,B=x=>f(x)===c;return t.jsxs("div",{children:[t.jsxs("div",{className:"calendar-nav",children:[t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:C,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(Qe,{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:d,month:m+1})}),t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:w,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(Qe,{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)),_.map((x,D)=>{if(x===null)return t.jsx("div",{className:"calendar-cell empty"},`empty-${D}`);const k=x,A=f(k),E=y[A]??[],j=HC(A,l.language),z=b===A;return t.jsxs("div",{className:`calendar-cell${B(k)?" 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:A}):void 0,"aria-current":B(k)?"date":void 0,onClick:r?()=>r(A):void 0,onKeyDown:r?P=>{P.target===P.currentTarget&&(P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),r(A)))}:void 0,onDragOver:a?P=>{P.preventDefault(),v(A)}:void 0,onDragLeave:a?P=>{P.currentTarget.contains(P.relatedTarget)||v(null)}:void 0,onDrop:a?P=>{P.preventDefault(),g.current!=null&&(a(g.current,A),g.current=null),v(null)}:void 0,children:[t.jsx("div",{className:"calendar-cell__number body-3",children:k}),E.length>0&&(()=>{const P=[{key:"visited",\uB9D0:i("calendar.legend.visited","\uBC29\uBB38"),\uC218:E.filter(S=>(S.status??"visited")==="visited").length},{key:"scheduled",\uB9D0:i("calendar.legend.scheduled","\uC608\uC57D"),\uC218:E.filter(S=>S.status==="scheduled").length},{key:"noVisit",\uB9D0:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38"),\uC218:E.filter(S=>S.status==="noVisit").length}].filter(S=>S.\uC218>0),W=P.length===1&&P[0].key==="visited"?i("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"}):P.map(S=>i("calendar.statusCount",{label:S.\uB9D0,count:S.\uC218,defaultValue:"{{label}} {{count}}\uAC74"})).join(" \xB7 ");return t.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${j} ${W}`,children:[P.map(S=>t.jsx("span",{className:`calendar-cell__visit-dot calendar-cell__visit-dot--${S.key}`,"aria-hidden":"true"},S.key)),E.length]})})(),t.jsx("div",{className:"calendar-cell__badges",children:E.map((P,W)=>t.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${P.status==="noVisit"?" calendar-visit-badge--no-visit":P.status==="scheduled"?" calendar-visit-badge--scheduled":""}${n?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?S=>{g.current=P.id,S.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{g.current=null,v(null)}:void 0,onClick:n?S=>{S.stopPropagation(),n(P)}:void 0,...cu(n?()=>n(P):void 0),"aria-label":[j,P.time?hi(P.time,i):null,P.customer,i(P.status==="noVisit"?"calendar.legend.noVisit":P.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[P.time&&t.jsx("span",{className:"calendar-visit-badge__time body-3",children:hi(P.time,i)}),t.jsx("span",{className:"calendar-visit-badge__name body-3",children:P.customer}),P.status==="noVisit"&&t.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},P.id??W))})]},k)})]})]})}const Ty={page:"h3",pagePopup:"h4",popup:"h5"};function ia({type:e="page",title:n,headingLevel:a=2,icon:r,action:s,disc:i,children:l,inGrid:u=!1,className:c,style:d}){const p=Ty[e],m=n||i||s||r,h=a?`h${a}`:"div";return t.jsxs("div",{className:Be("section",`section--${e}`,u&&"section--in-grid",c),style:d,children:[m&&t.jsxs("div",{className:"section__header",children:[t.jsxs("div",{className:"section__title-row",children:[r&&t.jsx(Qe,{icon:r,label:typeof n=="string"?n:void 0,className:"section__icon"}),t.jsxs("div",{className:"section__title-group",children:[n&&t.jsx(h,{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 No=null,du=!1;function pu(){if(du||typeof document>"u")return;du=!0,document.addEventListener("keydown",n=>{n.metaKey||n.ctrlKey||n.altKey||(No="keyboard")},!0);const e=()=>{No="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}pu();function or(){return pu(),No==="keyboard"}const sr=20;function My(e){const{t:n}=ve.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:u,onItemComplete:c,size:d,useDescriptionTooltip:p,onRemove:m,onMore:h,sectionType:b="page"}=e||{},[,v]=o.useState(0),g=typeof r<"u"?Array.isArray(r)?r:[]:[],y=g.length,[_,C]=o.useState(Math.min(y,sr)),w=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{C(Math.min(y,sr))},[y]),rl("speechear.data.updated",()=>v(D=>D+1));const f=o.useRef(null),B=o.useRef(null);function x(){const D=document.activeElement;B.current=or()&&D&&D.closest?.(".training-block__more")?_:null,C(k=>Math.min(y,k+sr))}return o.useEffect(()=>{const D=B.current;if(D==null)return;B.current=null;const k=document.activeElement;k&&k!==document.body||f.current?.querySelectorAll(".training-block-button")[D]?.focus()},[_]),t.jsxs(ia,{type:b,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[t.jsx("div",{className:"training-list",ref:f,children:(g||[]).slice(0,_).map((D,k)=>{const A=D;return t.jsx(mo,{index:k,type:a,trainingData:A,depth:w,renderPopup:i,completedIds:l,selectedIds:u,size:d,useDescriptionTooltip:p,onRemove:typeof m=="function"&&u!=null&&A?.id!=null&&u.has(String(A.id))?()=>m(A):void 0,onComplete:typeof c=="function"&&A?.id!=null?()=>c(String(A.id)):void 0,onMore:typeof h=="function"?E=>h(A,E):void 0},A?.id!=null?`${a?.key||"t"}-${String(A.id)}`:`${a?.key||"t"}-${k}`)})}),y>sr&&_<y&&t.jsx("div",{className:"training-block__more",children:t.jsx(me,{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 Do(e){const n=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const c=n.current;r(!!e&&!(c?.complete&&c.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 Ly='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 $y=Ly,Eo=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:c=!1,orderRank:d=null},p){const{t:m}=ve.useTranslation(),h=e.word||e.title||"",b=n||!h,v=e.audio??e.sound??e.audioKey,g=e.subLabel||e.pronunciation||"",y=e.colloquialLabel||"",[_,C]=o.useState({label:h,subLabel:g,colloquialLabel:y,homonum:e.homonum});h&&(_.label!==h||_.subLabel!==g||_.colloquialLabel!==y||!Object.is(_.homonum,e.homonum))&&C({label:h,subLabel:g,colloquialLabel:y,homonum:e.homonum});const w=o.useRef(null),f=rn("(max-width: 767px)"),[B,x]=o.useState(!1),D=`${typeof v=="string"?v:v?.src??""}\0${h}`,[k,A]=o.useState({for:"",url:""}),E=k.for===D?k.url:"",j=ii(),z=e.textOnly??(!e.image&&!!_.label&&!!j&&j.entries.length>0&&!j.byWord.has(_.label)),P=z?"":Jn()?.(_.label,_.homonum)??e.image??"",{imgRef:W,loading:S,hasImage:M,onLoad:O,onError:Q}=Do(P);o.useEffect(()=>{let $=!1;return(async()=>{if(v){if(typeof v=="string"){if(v.startsWith("http")||v.includes("/")){A({for:D,url:v});return}}else if(typeof v=="object"&&!Array.isArray(v)){const X=v.src;if(X){A({for:D,url:X});return}}}const H=$r();if(H&&h)try{const X=await Promise.resolve(H(h));!$&&X&&A({for:D,url:X})}catch{}})(),()=>{$=!0}},[v,h,D]);const te=o.useRef(!0),V=o.useRef(null);o.useEffect(()=>(te.current=!0,()=>{te.current=!1,V.current&&tr(V.current),V.current=null;try{w.current?.pause()}catch{}w.current=null}),[]);const U=o.useCallback(()=>new Promise($=>{if(typeof window<"u"&&window.speechSynthesis&&h){x(!0),window.speechSynthesis.cancel();const H=new SpeechSynthesisUtterance(h);H.lang="ko-KR",H.onend=()=>{x(!1);try{a?.()}catch{}$()},H.onerror=()=>{x(!1),$()},window.speechSynthesis.speak(H)}else $()}),[h,a]),R=o.useCallback($=>new Promise(H=>{let X=!1;const K=()=>{X||(X=!0,x(!1),H(!1))};try{const Y=new Audio($);w.current=Y,Y.onended=()=>{if(!X){X=!0,x(!1);try{a?.()}catch{}H(!0)}},Y.onerror=K,Y.play().catch(K)}catch{K()}}),[a]),F=o.useCallback(async()=>{if(n||!te.current)return;const $=()=>{V.current===$&&(V.current=null);try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},H=er($);V.current=$;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await R(E)))return;const X=oC();if(X&&h)try{const K=await Promise.resolve(X(h));if(!te.current||V.current!==$||K&&(x(!0),await R(K)))return}catch{}if(!te.current||V.current!==$)return;await U()}finally{H(),V.current===$&&(V.current=null)}},[n,E,h,R,U]);o.useImperativeHandle(p,()=>({play:()=>F()}),[F]);const N=$=>$.stopPropagation(),I=o.useCallback($=>{if($.stopPropagation(),!n){if(B){try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}F()}},[n,B,F]),L=Be("training-word-card",n?"training-word-card--disabled":"",b?"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?$=>{$.target===$.currentTarget&&($.key==="Enter"||$.key===" "||$.key==="Spacebar")&&($.preventDefault(),i?.())}:void 0,children:t.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:b?"0ms":`${l}ms`},children:[t.jsxs("div",{className:"training-word-card__front",children:[s&&t.jsx("div",{className:"training-word-card__selected-badge",onClick:N,children:t.jsx(At,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?m("training.nthSelected",{n:d}):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:_.label}):M?t.jsxs(t.Fragment,{children:[S&&t.jsx("div",{className:"training-word-card__spinner"}),t.jsx("img",{ref:W,className:"training-word-card__image",src:P,alt:_.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:S?0:1},onLoad:O,onError:Q})]}):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:_.label}),_.subLabel&&t.jsxs("div",{className:"training-word-card__pronunciation",children:["[",_.subLabel,"]"]}),_.colloquialLabel&&t.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",_.colloquialLabel,"]"]})]}),!c&&t.jsx("div",{className:"training-word-card__bottom",onClick:r?N:void 0,children:t.jsx(me,{htmlType:"button",size:f?40:48,type:f?"dot":"bar",icon:B?"pause":"play",label:f?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:B,onClick:I,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:$y,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),Ry=260;function Mn(e){const{t:n}=ve.useTranslation(),{title:a,subtitle:r,headerActions:s,headerSegment:i,children:l,buttons:u,footer:c,footerStart:d,footerEnd:p,footerClassName:m="",footerLayout:h="center",onClose:b,closeDisabled:v=!1,beforeClose:g,closeOnBackdrop:y=!0,className:_="",ariaLabel:C,useTitle:w=!0,inline:f=!1,size:B,layer:x="modal",height:D,fillBody:k=!1,resetScrollKey:A}=e||{},[E,j]=o.useState(!1),z=o.useRef(!1),P=o.useRef(null),W=o.useId(),S=o.useRef(null);o.useEffect(()=>{},[f,a,C,_]),o.useEffect(()=>{A!==void 0&&S.current&&(S.current.scrollTop=0)},[A]);const[M,O]=o.useState(!1);o.useEffect(()=>{const Y=S.current;if(!Y)return;const ae=()=>O(Y.scrollHeight>Y.clientHeight+1);if(ae(),typeof ResizeObserver>"u")return;const le=new ResizeObserver(ae);le.observe(Y);const se=Y.firstElementChild;return se&&le.observe(se),()=>le.disconnect()},[l,A]),o.useEffect(()=>{if(!f)return Il()},[f]),o.useEffect(()=>{if(f)return;const Y=document.activeElement,ae=P.current;return Yr(ae,Y),ae&&!ae.contains(document.activeElement)&&(ae.querySelector(hn)??ae).focus(),()=>{const le=document.activeElement;(!le||le===document.body||ae&&ae.contains(le))&&Zr(Y)?.focus?.()}},[f]),Gr(P,!f);const Q=o.useRef(!0),te=Xr(),V=o.useRef(null);o.useEffect(()=>(Q.current=!0,()=>{Q.current=!1,V.current&&(clearTimeout(V.current),V.current=null)}),[]);const U=o.useCallback(()=>{!Q.current||!z.current||(z.current=!1,j(!1))},[]),R=o.useCallback((Y,ae=!1)=>{if(ae&&!Q.current||z.current)return;z.current=!0,j(!0);const le=setTimeout(()=>{V.current===le&&(V.current=null);let se;try{se=Y?Y():void 0}catch{U();return}se&&typeof se.then=="function"&&se.then(()=>{setTimeout(U,120)},U)},te?0:Ry);ae&&(V.current=le)},[U,te]),F=o.useCallback(()=>{v||g&&g()===!1||R(b,!0)},[R,b,v,g]),N=o.useRef(F);o.useEffect(()=>{N.current=F});const I=!f&&!!b;o.useEffect(()=>{if(I)return Vn(()=>N.current())},[I]);const L=I&&y,$=o.useRef(!1),H=Y=>{$.current=Y.target===Y.currentTarget},X=Y=>{const ae=$.current;$.current=!1,ae&&Y.target===Y.currentTarget&&F()},K=t.jsx("div",{className:`popup ${f?"popup--inline":""} ${x==="belowPagePopup"?"popup--below-page-popup":""} ${E?"popup--closing":""} ${_}`,onPointerDown:L?H:void 0,onClick:L?X:void 0,onMouseDown:f?void 0:Y=>{Y.target===Y.currentTarget&&Y.preventDefault()},children:t.jsxs("div",{ref:P,className:`popup-panel${B?` popup-panel--${B}`:""}${D!=null?" popup-panel--has-height":""}${k?" popup-panel--fill-body":""}`,style:D!=null?{"--popup-height":typeof D=="number"?`${D}px`:D}:void 0,tabIndex:-1,role:f?void 0:"dialog","aria-modal":f?void 0:!0,"aria-labelledby":!f&&w&&a?W:void 0,"aria-label":!f&&!(w&&a)?C??(typeof a=="string"?a:void 0):void 0,children:[!w&&(s||b)?t.jsxs("div",{className:"popup-close-float",children:[s,b&&t.jsx(me,{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||b?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:W,className:"popup-title popup-title--left h2",children:a}):t.jsx("span",{id:W,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(Y=>({key:Y.key,label:Y.label,disabled:Y.disabled})),value:i.value,onChange:i.onChange})}),t.jsxs("div",{className:"popup-header-actions",children:[s,b&&t.jsx(me,{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:S,tabIndex:M?0:void 0,children:t.jsx("div",{className:"popup-content__inner",children:typeof l=="function"?l({animateThen:R,closeWithAnimation:F}):l})}),d||p?t.jsxs("div",{className:`popup-footer popup-footer--bar${m?` ${m}`:""}`,children:[t.jsx("div",{className:"popup-footer__start",children:typeof d=="function"?d({animateThen:R,closeWithAnimation:F}):d}),t.jsx("div",{className:"popup-footer__end",children:typeof p=="function"?p({animateThen:R,closeWithAnimation:F}):p})]}):u?.length?t.jsx("div",{className:`popup-footer popup-footer--buttons${h!=="center"?` popup-footer--${h}`:""}`,children:u.map((Y,ae)=>t.jsx(me,{htmlType:"button",size:48,variant:Y.variant??"default",label:Y.label,disabled:Y.disabled,onClick:()=>Y.onClick?.({animateThen:R,closeWithAnimation:F})},ae))}):c?t.jsx("div",{className:`popup-footer${h!=="center"?` popup-footer--${h}`:""}${m?` ${m}`:""}`,children:typeof c=="function"?c({animateThen:R,closeWithAnimation:F}):c}):null]})});return f||typeof document>"u"?K:Qt.createPortal(K,document.body)}function ir(e){return String(e)}const lr=["o","triangle","x"];function mu(e,n){return e===n?null:n}const hu={o:"circle",triangle:"triangle",x:"x"},Cu={o:"main",triangle:"warn",x:"danger"};function Py(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 So(e){const n={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(n[a]=r);return n}function fu(e){const n=[];let a=0;for(const r of e)n.push(a),a+=r;return n}function Fy(e,n){return!n&&e>0}const la={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 Iy(e="landscape"){an("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}=la[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 gu(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 Oy={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 Hy(e,n){const a=Oy[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 zy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},bu={\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"},yu={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function jo(e,n){return e?e.split("/").map(a=>n[a]??a).join("/"):""}function vu(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 c="#ddd",d=b=>`repeating-linear-gradient(to ${b}, ${c} 0, ${c} 5px, transparent 5px, transparent 10px)`,p=[],m=[],h=[];return l&&(p.push(d("bottom")),m.push("1px 100%"),h.push("right center")),u&&(p.push(d("right")),m.push("100% 1px"),h.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:h.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const Vy=280,Wy=240,qy=280,Uy=400,Gy=120,Ky=280;function xu(e,n){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),u=o.useCallback((c,d)=>{if(!(c>0))return;const p=c/e,m=n&&d>0?d/n:1/0,h=Math.min(1,p,m);s(h),l(Math.max(0,(c-e*h)/2))},[e,n]);return o.useEffect(()=>{const c=a.current;if(!c)return;const d=n?c.parentElement??c:c;if(u(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>u(m.contentRect.width,m.contentRect.height));return p.observe(d),()=>p.disconnect()},[u,n]),{scalerRef:a,scale:r,offset:i}}const Yy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Zy=400,_u=8;function wu({label:e,subLabel:n,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:c=40,wordInfo:d}){const{t:p}=ve.useTranslation(),m=o.useRef(null),h=o.useRef(null),b=o.useRef(null),[v,g]=o.useState(1),[y,_]=o.useState(!1),[C,w]=o.useState({for:"",url:""}),[f,B]=o.useState(null),x=n&&n.length>0?n:iC()?.(e,r)??"",D=Jn()?.(e,r)??"",{imgRef:k,loading:A,failed:E,onLoad:j,onError:z}=Do(D),P=o.useCallback(()=>B(h.current?.getBoundingClientRect()??null),[]),W=o.useCallback(()=>B(null),[]),S=Qr(!!f,I=>{I?P():W()},h),M=o.useMemo(()=>{if(!d)return null;const I=[];return d.grade&&I.push(p("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&I.push(p("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&I.push(p("wordTable.info.pos",{v:jo(d.pos,Xy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&I.push(p("wordTable.info.wordType",{v:jo(d.wordType,Jy(p)),defaultValue:"\uC720\uD615: {{v}}"})),I.length?I:null},[d,p]),O=x||e,Q=C.for===O?C.url:"";o.useEffect(()=>{const I=$r(),L=x||e;if(!I||!L)return;let $=!1;return Promise.resolve(I(L)).then(H=>{!$&&H&&w({for:L,url:H})}),()=>{$=!0}},[x,e]);const te=o.useRef(null),V=o.useRef(null);o.useEffect(()=>()=>{b.current?.pause(),V.current?.()},[]);const U=o.useCallback(async I=>{if(I.stopPropagation(),y){te.current?.();return}if(Q){_(!0);try{const L=new Audio(Q);b.current=L;const $=()=>{_(!1),V.current?.()},H=()=>{L.pause(),$()};te.current=H;const X=er(H);V.current=X,L.onended=$,L.onerror=$,await L.play()}catch{_(!1),V.current?.()}}},[y,Q]),R=i&&!!D&&!E,F=R&&s?Vy:R?qy:Wy,N=R&&s?Uy:R?Ky:Gy;return o.useEffect(()=>{const I=m.current;if(!I||typeof ResizeObserver>"u")return;const L=new ResizeObserver(([$])=>{const{width:H,height:X}=$.contentRect;g(Math.min(H/F,X/N))});return L.observe(I),()=>L.disconnect()},[F,N]),t.jsxs("div",{ref:m,className:Be("word-table-cell",R?"word-table-cell--with-image":""),"data-ref-w":F,"data-ref-h":N,children:[t.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${v})`},children:[R&&t.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&t.jsx("div",{className:"word-table-cell__spinner"}),t.jsx("img",{ref:k,className:"word-table-cell__image",src:D,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:j,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":Q,children:[t.jsx("span",{"data-play-state":"play",style:{display:y?"none":void 0},children:t.jsx(me,{htmlType:"button",size:c,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(me,{htmlType:"button",size:c,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})})]}),d&&t.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:I=>{na(I)||P()},onPointerLeave:I=>{na(I)||W()},onFocus:()=>{aa()||P()},onBlur:W,children:[t.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:I=>{I.stopPropagation(),S.touchPress()}}),f&&M&&t.jsx(Wn,{anchorRect:f,items:M,showIndex:!1})]})]})}const Bu={\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"},Au={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Xy(e){return Object.fromEntries(Object.entries(bu).map(([n,a])=>[n,Bu[n]?e(`wordTable.pos.${Bu[n]}`,{defaultValue:a}):a]))}function Jy(e){return Object.fromEntries(Object.entries(yu).map(([n,a])=>[n,Au[n]?e(`wordSearch.filter.type.${Au[n]}`,{defaultValue:a}):a]))}function ua({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:c=!0,items:d,editCells:p,count:m,activeCell:h=null,onActivateCell:b,onRemoveCell:v,onRemoveItem:g,onReorder:y,renderCellAction:_,showFillerAdd:C=!1,contentRef:w,buttonSize:f=40,brand:B,code:x,pageNumber:D,pageNumberPosition:k="right",fitHeight:A=!1,scoring:E=!1,marks:j,onMarkClick:z,scoreIndexOffset:P=0}){const W=o.useCallback((Z,re)=>{z?.(P+Z,re)},[z,P]),S=(Z,re)=>{const pe=j?.[ir(P+Z)]??null;return t.jsx("div",{className:Be("word-table-cell__score",pe?"word-table-cell__score--marked":""),style:Fe>1?{transform:`translateX(-50%) scale(${Fe})`,transformOrigin:"bottom center"}:void 0,children:lr.map(Se=>t.jsx("span",{className:Be("word-table-cell__score-slot",pe===Se?"word-table-cell__score-slot--on":""),children:t.jsx(me,{htmlType:"button",size:f,type:"dot",shape:"pill",icon:hu[Se],variant:pe===Se?Cu[Se]:"default",selected:pe===Se,useBorder:!1,...Ae?{}:{tabIndex:-1,role:"img"},showTooltipInfo:M(`wordTable.scoring.markName.${Se}`,{defaultValue:Se}),ariaLabel:M(`wordTable.scoring.${Se}`,{word:re,defaultValue:`${re} ${Se}`}),onClick:Ae?it=>{it.stopPropagation(),W(Z,Se)}:void 0})},Se))})},{t:M}=ve.useTranslation(),O=p!==void 0,Q=e!=null||!!n||!!a,te=rn("(max-width: 767px)"),V=o.useRef(null),[U,R]=o.useState(null),F=d?.length??0,[N,I]=o.useState(null),[L,$]=o.useState(""),H=o.useRef(null),X=o.useRef(null),K=o.useRef(null),Y=o.useRef(null),ae=o.useCallback(Z=>{X.current=Z,typeof w=="function"?w(Z):w&&(w.current=Z)},[w]),le=o.useCallback((Z,re)=>{H.current=re,y?.(Z,re),$(M("wordTable.reorder.moved",{n:re+1,total:F,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[y,M,F]);o.useEffect(()=>{const Z=H.current;Z!=null&&(H.current=null,X.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[Z]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{Y.current?.()},[]);const se=o.useCallback((Z,re)=>{if(!y||!Z.altKey||Z.ctrlKey||Z.metaKey)return;const pe=Z.key==="ArrowRight";if(!pe&&Z.key!=="ArrowLeft")return;Z.preventDefault();const Se=re+(pe?1:-1);Se<0||Se>=F||le(re,Se)},[y,F,le]),ke=o.useCallback((Z,re)=>{if(!y||Z.pointerType==="mouse")return;const pe=Z.target.closest?.("button");if(pe&&!pe.closest(".word-table-block__card-handle"))return;Y.current?.();const Se={x:Z.clientX,y:Z.clientY};let it=!1;const Ye=et=>{it&&et.cancelable&&et.preventDefault()},xt=et=>{if(!it){(Math.abs(et.clientX-Se.x)>_u||Math.abs(et.clientY-Se.y)>_u)&&rt();return}const tt=document.elementFromPoint?.(et.clientX,et.clientY)?.closest?.("[data-wordtable-cell]"),$e=tt?Number(tt.dataset.wordtableCell):NaN,Ge=Number.isInteger($e)?$e:null;K.current=Ge,R(Ge)},bt=()=>{const et=K.current,tt=it;rt(),tt&&et!=null&&et!==re&&le(re,et)},dt=setTimeout(()=>{it=!0,I(re),K.current=re,R(re),window.addEventListener("touchmove",Ye,{passive:!1})},Zy);function rt(){clearTimeout(dt),window.removeEventListener("pointermove",xt),window.removeEventListener("pointerup",bt),window.removeEventListener("pointercancel",bt),window.removeEventListener("touchmove",Ye),it=!1,K.current=null,Y.current=null,I(null),R(null)}Y.current=rt,window.addEventListener("pointermove",xt),window.addEventListener("pointerup",bt),window.addEventListener("pointercancel",bt)},[y,le]),{width:q,height:ne}=la[s],fe=typeof A=="number"?A:A&&typeof A=="object"?te?A.narrow:A.wide:null,{scalerRef:xe,scale:he,offset:ie}=xu(q,A?ne:void 0),ce=O?p?.length??0:d?.length??0,ue=Math.max(m??ce,1),{cols:ge,rows:Ee}=Hy(s,ue),Ne={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")},Ke=O?(p??[]).some(Z=>Z!==null&&Z.length>1):(d??[]).some(Z=>(Z.words??[]).length>1),ze=!!B?.show,qe=!!B?.show&&B?.top!==!1,He=!!B?.show&&B?.bottom!==!1,ct=B?.copyright??"\xA9 IHAB, Inc. All rights reserved.",ot=Be("word-table-block__content",zy[l],u&&"word-table-block__content--outline",c&&Ke&&"word-table-block__content--div-line",!ze&&D&&k!=="none"&&"word-table-block__content--page-number",qe&&"word-table-block__content--brand-top",He&&"word-table-block__content--brand-bottom"),st={transform:`scale(${1/he})`,transformOrigin:"center center"},ht=f*lr.length+4*(lr.length-1),Ae=!!z,Fe=Ae?Math.max(1,Math.min(1/he,q/ge/ht)):1,we=t.jsxs("div",{ref:xe,className:"word-table__scaler",style:{height:ne*he},children:[t.jsx("div",{className:Be("word-table",E&&!Ae&&"word-table--score-readonly",!Q&&r),style:{width:q,height:ne,transform:`scale(${he})`,transformOrigin:"top left",marginLeft:ie},children:t.jsxs("div",{ref:ae,className:ot,style:{gridTemplateColumns:`repeat(${ge}, 1fr)`,gridTemplateRows:`repeat(${Ee}, 1fr)`},children:[O?t.jsx(t.Fragment,{children:(p??[]).map((Z,re)=>t.jsx("div",{className:Be("word-table-block__edit-cell",Z?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===re?"word-table-block__edit-cell--active":""),style:vu(re,ge,Ee,l),children:Z?t.jsxs(t.Fragment,{children:[Z.map((pe,Se)=>t.jsxs(o.Fragment,{children:[Se>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(wu,{label:pe.word,subLabel:pe.pronunciation,colloquialLabel:pe.colloquialPronunciation,homonum:pe.homonum,showWord:Ne.word,showImage:Ne.image,showPronunciation:Ne.pron,showColloquial:Ne.colloq,buttonSize:f})]},Se)),E&&S(re,Z.map(pe=>pe.word).join(" / ")),v&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(me,{htmlType:"button",size:f,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:Z.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:Z.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>v(re)})})]}):b&&t.jsx("div",{style:st,children:t.jsx(me,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b(re)})})},re))}):t.jsxs(t.Fragment,{children:[(d??[]).map((Z,re)=>t.jsxs("div",{"data-wordtable-cell":y?re:void 0,className:`word-table-block__card${y?" word-table-block__card--draggable":""}${U===re?" word-table-block__card--drag-over":""}${N===re?" word-table-block__card--dragging":""}`,style:vu(re,ge,Ee,l),draggable:!!y,onPointerDown:y?pe=>ke(pe,re):void 0,onKeyDown:y?pe=>se(pe,re):void 0,onDragStart:y?()=>{V.current=re}:void 0,onDragOver:y?pe=>{pe.preventDefault(),R(re)}:void 0,onDragLeave:y?()=>R(null):void 0,onDrop:y?pe=>{pe.preventDefault(),V.current!==null&&V.current!==re&&y(V.current,re),V.current=null,R(null)}:void 0,onDragEnd:y?()=>{V.current=null,R(null)}:void 0,children:[(Z.words??[]).map((pe,Se)=>t.jsxs(o.Fragment,{children:[Se>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(wu,{label:pe.label,subLabel:pe.subLabel,colloquialLabel:pe.colloquialLabel,homonum:pe.homonum,showWord:Ne.word,showImage:Ne.image,showPronunciation:Ne.pron,showColloquial:Ne.colloq,buttonSize:f,wordInfo:pe.grade||pe.syllables!=null||pe.pos||pe.wordType?{grade:pe.grade,syllables:pe.syllables,pos:pe.pos,wordType:pe.wordType}:void 0})]},Se)),E&&S(re,(Z.words??[]).map(pe=>pe.label).join(" / ")),y&&t.jsx("div",{className:"word-table-block__card-handle",children:t.jsx(me,{htmlType:"button",size:f,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:(Z.words??[]).map(pe=>pe.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(_||g)&&t.jsxs("div",{className:"word-table-block__card-actions",children:[_?.(re,Z),g&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(me,{htmlType:"button",size:f,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(Z.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(Z.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>g(Z.id)})})]})]},Z.id)),Array.from({length:Math.max(0,ge*Ee-(d?.length??0))}).map((Z,re)=>{const pe=(d?.length??0)+re<ue;return t.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:C&&b&&pe&&t.jsx("div",{style:st,children:t.jsx(me,{htmlType:"button",size:f,type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b((d?.length??0)+re)})})},`filler-${re}`)})]}),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:B?.topLogo?.src??Qa,alt:B?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const Z=[B?.title&&t.jsx("span",{className:"word-table__paper-title",children:B.title},"t"),B?.owner&&t.jsx("span",{className:"word-table__owner",children:B.owner},"o"),x&&t.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return Z.length===0?null:t.jsx("span",{className:"word-table__ident",children:Z.map((re,pe)=>t.jsxs(o.Fragment,{children:[pe>0&&t.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),re]},pe))})})()]})}),He&&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:[B?.bottomLogo?t.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:B.bottomLogo.src,alt:B.bottomLogo.alt}):t.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),t.jsx("span",{className:"word-table__copyright",children:ct})]}),t.jsxs("span",{className:"word-table__band-end",children:[B?.link&&t.jsx("span",{className:"word-table__link",children:B.link}),D&&k!=="none"&&t.jsx("span",{className:"word-table__page-count",children:M("wordTable.filter.pageIndicator",{current:D.current,total:D.total})})]})]})}),!ze&&D&&k!=="none"&&t.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:M("wordTable.filter.pageIndicator",{current:D.current,total:D.total})})]})}),y&&t.jsx("span",{role:"status",style:Yy,children:L})]}),at=fe==null?we:t.jsx("div",{className:"word-table__frame",style:{height:fe},children:we});return Q?t.jsx(ia,{type:"page",icon:n,title:e,disc:a,className:Be("word-table-block",r),children:at}):at}function Qy(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=e5(s,n?.[s.label],a);l!==null&&r.push(`${i} ${l}`)}return r.join(" \xB7 ")}function e5(e,n,a){const r=(Array.isArray(n)?n:n===void 0?[]:[n]).filter(s=>s!==un);return r.length===0?e.allOption?e.allLabel??a:null:r.map(s=>t5(e,s)).join(", ")}function t5(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 Nn({title:e,titleLevel:n=2,headerAction:a,headerSummary:r,collapsible:s=!1,defaultCollapsed:i=!1,collapsed:l,onCollapsedChange:u,footer:c,sections:d,selected:p={},onSelect:m,align:h,sectionAlign:b,className:v}){const g=(h??(b==="vertical"?"newline":"inline"))==="inline",{t:y}=ve.useTranslation(),[_,C]=o.useState(i),w=l??_,f=()=>{const j=!w;C(j),u?.(j)},B=j=>{if(!s)return;const z=j.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"]')||f()},x=o.useMemo(()=>r!==void 0||!w?"":Qy(d,p,y("common.all","\uC804\uCCB4")),[r,w,d,p,y]),D=r??(x?t.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),k=e||a||r||s,A=o.useId(),E=n?`h${n}`:"span";return t.jsxs("div",{className:Be("filter-panel",s?"filter-panel--collapsible":"",w?"filter-panel--collapsed":"",v),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?A:void 0,children:[k&&t.jsxs("div",{className:"filter-panel__header",onClick:s?B:void 0,children:[t.jsx("div",{className:"filter-panel__title-row",children:e&&t.jsx(E,{id:A,className:"filter-panel__title h4",children:e})}),t.jsxs("div",{className:"filter-panel__header-actions",children:[w?D:a,s&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:w?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:w?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),"aria-expanded":!w,onClick:f})]})]}),!w&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Be("filter-panel__sections",g?"filter-panel__sections--row":""),children:d.map(j=>{const z=p[j.label],P=z===void 0||(Array.isArray(z)?z.length===0:!1),W=(j.items??[]).filter(M=>M!=null);j.allOption&&W.some(M=>(typeof M=="string"?M:M.value)===un)&&an(`filter-panel-all-value:${j.label}`,`[FilterPanel] '${j.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${un}' \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 S=M=>{const O=typeof M=="string"?M:M.value,Q=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,R=typeof M!="string"?M.descriptionTooltip:void 0,F=typeof M!="string"?M.shape:void 0,N=Array.isArray(z)?z.includes(O):z===O;return t.jsx(me,{htmlType:"button",size:"keyboard",label:te??V??O,type:j.itemType??(te?"bar":O.length===1?"dot":void 0),selected:N,disabled:Q,shape:F,showTooltipInfo:!!U,tooltipInfoText:U,tooltipDescription:R,onClick:()=>m?.(O,j.label)},O)};return t.jsxs(o.Fragment,{children:[j.groupLabel&&t.jsxs("div",{className:"filter-panel__group-label-row",children:[t.jsx("div",{className:"filter-panel__group-label body-2",children:j.groupLabel}),j.groupAction]}),t.jsxs("div",{className:Be("filter-panel__section",j.layout==="row"?"filter-panel__section--row":"",j.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:j.displayLabel??j.label}),j.labelAction??(j.labelInfo?t.jsx(Sa,{...j.labelInfo}):null)]}),j.type==="note"?t.jsx("div",{className:"filter-panel__note body-3",children:j.content}):j.type==="input"?t.jsx(Gn,{className:"filter-panel__textfield",placeholder:j.placeholder,ariaLabel:j.displayLabel??j.label,value:p[j.label]??"",onChange:M=>m?.(M,j.label),error:j.error}):!j.multiple&&j.display==="segmented"?t.jsx(An,{ariaLabel:j.displayLabel??j.label,options:[...j.allOption?[{key:un,label:j.allLabel??y("common.all","\uC804\uCCB4"),disabled:j.allOptionDisabled}]:[],...W.map(M=>{const O=typeof M=="string"?M:M.value,Q=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{key:O,label:Q??O,disabled:te}})],value:P&&j.allOption?un:p[j.label]??"",onChange:M=>m?.(M,j.label),size:32}):!j.multiple&&j.display==="dropdown"?t.jsx(cn,{className:"filter-panel__dropdown",ariaLabel:typeof j.label=="string"?j.label:void 0,size:40,options:[...j.allOption?[{value:un,label:j.allLabel??y("common.all","\uC804\uCCB4"),disabled:j.allOptionDisabled}]:[],...W.map(M=>{const O=typeof M=="string"?M:M.value,Q=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{value:O,label:Q??O,disabled:te}})],value:P&&j.allOption?un:p[j.label],onChange:M=>m?.(M,j.label)}):t.jsxs("div",{className:j.groups?"filter-panel__item-groups":"filter-panel__items",children:[j.allOption&&!j.groups&&t.jsx(me,{htmlType:"button",size:"keyboard",label:j.allLabel??y("common.all","\uC804\uCCB4"),selected:P,disabled:j.allOptionDisabled,onClick:()=>m?.(un,j.label)}),j.groups?j.groups.map((M,O)=>t.jsxs("div",{className:"filter-panel__item-group",children:[O===0&&j.allOption&&t.jsx(me,{htmlType:"button",size:"keyboard",label:j.allLabel??y("common.all","\uC804\uCCB4"),selected:P,disabled:j.allOptionDisabled,onClick:()=>m?.(un,j.label)}),M.filter(Q=>Q!=null).map(S)]},O)):W.map(S)]})]})]},j.label)})}),c!=null&&c!==!1&&t.jsx("div",{className:"filter-panel__footer body-3",children:c})]})]})}const n5=[1,2,3,4,5,6,7,8,9,10,11,12],ku=[8,4,2,1];function Nu(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 Du(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 Eu(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 Su(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 ju(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 Tu(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 Mu(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 Lu(e,n){return{label:e(n.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[n.itemCount,...ku.filter(a=>a<n.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function $u(e,n){return e===n||!ku.includes(e)?Number.POSITIVE_INFINITY:e}function a5(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 Ru={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Pu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Fu(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 Iu(e,n,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?n===un?(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 r5(e){return"sections"in e}function To(e){const{t:n}=ve.useTranslation(),{title:a,className:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c}=e,d={collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c};if(r5(e))return t.jsx(Nn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...d,align:"inline"});const{hasImage:p,hasColloquial:m,contentTypes:h,orientation:b,showOutline:v,cutLine:g,showDivLine:y,setters:_,showCutLine:C=!1,showDivLine2:w=!1,middleSections:f=[],extraSelected:B={},onExtraSelect:x,showPaperBands:D=!1,showTopInfo:k=!0,showBottomInfo:A=!0}=e,E=[Nu(n,{hasImage:p,hasColloquial:m}),Du(n),...f,Eu(n),...C?[Tu(n)]:[],...w?[Mu(n)]:[],...D?[Su(n),ju(n)]:[]],j={...Fu(n,{contentTypes:h,orientation:b,showOutline:v,cutLine:g,showDivLine:y,showTopInfo:k,showBottomInfo:A}),...B},z=(P,W)=>{Iu(n,P,W,_)||x?.(P,W)};return t.jsx(Nn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:j,onSelect:z,...d,sectionAlign:"horizontal"})}function Ou(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Mo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let ur=null,ca=null;function o5(e,n,a,r="",s=""){if(e.length===0||ca&&ca.iframe.isConnected&&Date.now()-ca.at<1e4)return;const i=r?Mo(r):"";ur?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),ur===l&&(ur=null)},ur=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 c=u.contentDocument;if(!c){u.remove();return}ca={iframe:u,at:Date.now()},c.open(),c.write(Lo(e,n,a,!0,i,s)),c.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),ca?.iframe===u&&(ca=null)},0)})}function Lo(e,n,a,r=!1,s="",i=""){s=s?Mo(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
860
- `),u="light",c=i?`<div class="paper-head">${Ou(i)}</div>`:"",d=e.map(p=>{const m=p.cloneNode(!0);return m.querySelectorAll('[data-play-state="play"]').forEach(h=>h.style.display=""),m.querySelectorAll('[data-play-state="pause"]').forEach(h=>h.style.display="none"),m.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(h=>h.remove()),m.querySelectorAll(".word-table-cell__spinner").forEach(h=>h.remove()),m.querySelectorAll("img").forEach(h=>{h.style.opacity==="0"&&(h.setAttribute("onload","this.style.opacity=''"),h.setAttribute("onerror","this.style.visibility='hidden'"))}),`<div class="paper-wrap">${c}${m.outerHTML}</div>`}).join(`
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 c=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(c){i("string",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){i("number",d[0]),a=a.slice(d[0].length);continue}const m=a.match(U4);if(m){i("keyword",m[0]),a=a.slice(m[0].length);continue}const p=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(p){const v=p[0];i(s&&q4.has(v)?"command":"identifier",v),a=a.slice(v.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){i("operator",h[0]),a=a.slice(h[0].length);continue}const b=a.match(/^[()[\]{};.,]/);if(b){i("punctuation",b[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function K4({children:e,language:n="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=ve.useTranslation(),[u,c]=o.useState(!1),d=W4(Vl(e)),m=o.useRef(null);o.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const p=async()=>{try{if(!await PC(d))return;c(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>c(!1),2e3)}catch{}},h=G4(d,n),b=s==="small"?"caption-1":"body-3";return t.jsxs("div",{className:Be("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(me,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:u?"check":"copy",onClick:p,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:h.map((v,f)=>t.jsx("span",{className:`code-token ${v.type} ${b}`,children:v.content},f))})})]})}const Y4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function La(e){const{t:n}=ve.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||n("loader.loading","Loading");if(a==="bar"){const c=s==null||!Number.isFinite(Number(s)),d=c?0:Math.max(0,Math.min(100,Number(s)));return t.jsx("div",{className:`loader-bar${c?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":c?void 0:d,"aria-label":l,children:t.jsx("div",{className:"loader-bar__inner",style:c?void 0:{width:`${d}%`}})})}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:Y4,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 Wl({checked:e,onChange:n,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:u}){const c=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"&&c,t.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>n?.(d.target.checked),"aria-label":!r&&s?s:void 0}),t.jsx("span",{className:"toggle__slider"}),i==="right"&&c]})}function ql({checked:e=!1,onChange:n,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:u,ariaLabel:c}){const d=o.useRef(null),m=o.useId(),p=o.useRef(!!r);return p.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),t.jsxs("label",{className:Be("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:m,title:u,children:[t.jsx("input",{ref:d,id:m,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{n?.(h.target.checked),d.current&&(d.current.indeterminate=p.current)},disabled:a,"aria-label":!s&&c?c:void 0}),t.jsx("span",{className:"checkbox__box"}),s&&t.jsx("span",{className:"checkbox__label body-3",children:s})]})}function Z4({count:e,actions:n,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:u}=ve.useTranslation(),c=s!==void 0?s:e>0,d=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),m=o.useRef(null),p=o.useRef(null),h=o.useRef(null),b=o.useRef(c);o.useLayoutEffect(()=>{const C=p.current,B=b.current;if(b.current=c,c&&!B){const g=typeof document<"u"?document.activeElement:null;h.current=g&&g!==document.body&&!C?.contains(g)?g:null}else!c&&B&&C&&C.contains(document.activeElement)&&Ya(C,h.current)},[c]);const[v,f]=o.useState(!1),y=o.useRef(!1),_=o.useRef(null);return o.useEffect(()=>{const C=m.current;if(!C)return;const B=N=>{y.current=N,f(N)},g=()=>{const N=C.firstElementChild??C,E=Array.from(N.children);if(E.length<2){B(!1);return}const S=E[0].offsetTop,I=E.some(H=>H.offsetTop!==S);if(!y.current){_.current=C.clientWidth,I&&B(!0);return}if(I)return;const $=E[0],W=E[E.length-1],j=W.offsetLeft+W.offsetWidth-$.offsetLeft,M=_.current;(M==null||j<=M)&&B(!1)};if(g(),typeof ResizeObserver>"u")return;const w=new ResizeObserver(g);w.observe(C);const x=C.parentElement;let A=x?.clientWidth??0;const k=new ResizeObserver(()=>{const N=x?.clientWidth??0;N!==A&&(A=N,_.current=null,g())});return x&&k.observe(x),()=>{w.disconnect(),k.disconnect()}},[i,e]),t.jsxs("div",{ref:p,className:`bulk-bar ${c?"bulk-bar--visible":""}`,inert:!c||void 0,"aria-hidden":c?void 0:!0,children:[t.jsx("span",{ref:m,className:"bulk-bar__count body-2",role:"status",children:i??t.jsx("b",{children:u("common.selectedCount",{count:e})})}),l!==void 0&&t.jsx(At,{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(me,{htmlType:"button",size:40,label:d,onClick:a}),n.map((C,B)=>t.jsx(me,{htmlType:"button",size:40,variant:C.variant??"default",icon:C.icon,label:C.label,onClick:C.onClick},B))]})]})}const X4=[{\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 J4(e){const{onClose:n,className:a}=e;return t.jsx("div",{className:Be("item-actions",a),children:X4.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(me,{htmlType:"button",size:40,type:"dot",icon:s,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{i&&n(),u.onClick()}},r)})})}function Ul(e,n){const a=()=>{if(e){const[f,y]=e.split("-");return{y:+f,m:+y-1}}const[b,v]=Wr(n).split("-");return{y:+b,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 b=a();s(b.y),l(b.m)},[e]);const c=o.useRef({y:r,m:i});o.useEffect(()=>{c.current={y:r,m:i}},[r,i]);const d=o.useCallback(b=>{const v=c.current.y*12+c.current.m+b,f=Math.floor(v/12),y=v-f*12;c.current={y:f,m:y},s(f),l(y)},[]),m=o.useCallback(()=>d(-1),[d]),p=o.useCallback(()=>d(1),[d]),h=o.useCallback((b,v)=>{c.current={y:b,m:v},s(b),l(v)},[]);return{viewY:r,viewM:i,prevMonth:m,nextMonth:p,setViewYM:h}}function ar(e,n){return new Date(e,n+1,0).getDate()}function Q4(e,n){return new Date(e,n,1).getDay()}function rr(e,n,a){return`${e}-${String(n+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function ey(e){if(!e)return"";const[n,a,r]=e.split("-");return`${n}. ${a}. ${r}.`}function ty(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 c=0;c<12;c++){const d=`${u}-${String(c+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:n(u,c+1)})}return l}function ny({value:e,onChange:n,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:u,today:c}){const{t:d}=ve.useTranslation(),m=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),p=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Wr(c),{viewY:b,viewM:v,prevMonth:f,nextMonth:y,setViewYM:_}=Ul(e,c),C=o.useId(),B=o.useCallback((D,O)=>{const L=window.innerHeight,R=window.innerWidth,z=typeof document<"u"?document.getElementById(C):null,X=Math.max(z?.offsetHeight||0,z?.scrollHeight||0)||300,K=Math.max(D.width,z?.offsetWidth||0,260),Y=L-D.bottom,ae=D.top,le=Y<X&&ae>Y,se=8,ke=(q,ne)=>Math.min(Math.max(se,q),Math.max(se,ne));return{position:"fixed",left:ke(D.left,R-K-se),width:D.width,minWidth:260,...le?{top:"auto",bottom:ke(L-D.top+6,L-X-se)}:{bottom:"auto",top:ke(D.bottom+6,L-X-se)},zIndex:Aa(O)}},[C]),{open:g,setOpen:w,toggle:x,style:A,triggerRef:k,menuRef:N}=ka({computeStyle:B,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!g)return;const D=N.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(hn)??D)?.focus?.(),()=>{const O=document.activeElement;(!O||O===document.body)&&k.current?.focus?.()}},[g,N,k]);const[E,S]=o.useState(1),I=o.useRef(null),$=o.useRef(null);o.useEffect(()=>{if(!g)return;const D=e&&e.slice(0,7)===`${b}-${String(v+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${b}-${String(v+1).padStart(2,"0")}`?+h.slice(8):1;S(D)},[g]),o.useEffect(()=>{if($.current==null)return;const D=$.current;$.current=null,I.current?.querySelector(`[data-day="${D}"]`)?.focus()}),o.useEffect(()=>{S(D=>Math.min(D,ar(b,v)))},[b,v]);const W=o.useCallback(D=>{let O=rr(D.getFullYear(),D.getMonth(),D.getDate());r&&O<r&&(O=r),s&&O>s&&(O=s);const[L,R,z]=O.split("-").map(Number);(L!==b||R-1!==v)&&_(L,R-1),S(z),$.current=z},[r,s,b,v,_]),j=o.useCallback(D=>{const O=new Date(b,v,E),L=z=>{O.setDate(O.getDate()+z),W(O)},R=z=>{const X=O.getFullYear()*12+O.getMonth()+z,K=Math.floor(X/12),Y=X-K*12;W(new Date(K,Y,Math.min(O.getDate(),ar(K,Y))))};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(-O.getDay());break;case"End":L(6-O.getDay());break;case"PageUp":D.shiftKey?R(-12):R(-1);break;case"PageDown":D.shiftKey?R(12):R(1);break;default:return}D.preventDefault()},[b,v,E,W]),M=o.useCallback(D=>{i||(n(rr(b,v,D)),w(!1))},[b,v,n,w,i]);o.useEffect(()=>{i&&w(!1)},[i,w]);const H=D=>{const O=rr(b,v,D);return!!(r&&O<r||s&&O>s)},Q=(()=>{const D=ar(b,v);if(E>=1&&E<=D&&!H(E))return E;for(let O=1;O<=D;O++)if(!H(O))return O;return-1})(),te=[];for(let D=0;D<Q4(b,v);D++)te.push(null);for(let D=1;D<=ar(b,v);D++)te.push(D);const V=a===64?20:a===40?16:18,U=ty(b,(D,O)=>d("calendar.yearMonth",{year:D,month:O,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),P=`${b}-${String(v+1).padStart(2,"0")}`,F=g?Qt.createPortal(t.jsxs("div",{ref:N,id:C,className:"date-picker__dropdown",style:A,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("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":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(cs,{size:16,strokeWidth:2})}),t.jsx(cn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:U,value:P,onChange:D=>{const[O,L]=D.split("-");_(+O,+L-1)},block:!0,size:40}),t.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:y,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(ds,{size:16,strokeWidth:2})})]}),t.jsxs("div",{className:"date-picker__grid",ref:I,onKeyDown:j,children:[p.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 L=rr(b,v,D),R=L===e,z=L===h,X=H(D),K=O%7;return t.jsx("button",{type:"button",disabled:X,"data-day":D,tabIndex:D===Q?0:-1,"aria-current":z?"date":void 0,onClick:()=>!X&&M(D),className:Be("date-picker__day caption-1",R&&"date-picker__day--selected",z&&!R&&"date-picker__day--today",X&&"date-picker__day--disabled",K===0&&"date-picker__day--sun",K===6&&"date-picker__day--sat"),children:D},D)})]})]}),document.body):null;return t.jsxs("div",{className:Be("date-picker",`date-picker--s${a}`,g&&"date-picker--open",u),children:[t.jsxs("button",{ref:k,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&x(),disabled:i,"aria-haspopup":"true","aria-expanded":g,children:[t.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?ey(e):m}),t.jsx(vs,{size:V,className:"date-picker__icon",strokeWidth:1.5})]}),F]})}function Gl({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 c=typeof window<"u"&&window.getComputedStyle(i).position==="absolute"?Math.ceil(i.getBoundingClientRect().width):0;c>0?r.style.setProperty("--section-head-float-w",`${c}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:Be("section-head-float",n),children:e})}function go({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 $a({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 bo({title:e,titleClassName:n="h3",titleLevel:a=3,icon:r,disc:s,headRight:i,headFloat:l,headSegment:u,headMenuItems:c,collapseBelow:d=420,onClick:m,ariaLabel:p,tooltip:h,totalNum:b,totalUnit:v,totalLabel:f,subRow:y,subRowAlign:_="start",className:C,inGrid:B=!1,children:g}){const{t:w}=ve.useTranslation(),x=o.useRef(null),{anchorRect:A,openAt:k,close:N}=Ba(),E=o.useCallback(()=>{h&&x.current&&k(x.current)},[h,k]),[S,I]=o.useState(!1);Co(()=>{const L=x.current;if(!L||!u)return;const R=X=>I(X>0&&X<d);if(R(L.clientWidth),typeof ResizeObserver>"u")return;const z=new ResizeObserver(X=>R(X[0].contentRect.width));return z.observe(L),()=>z.disconnect()},[u,d]);const[$,W]=o.useState(null),j=o.useCallback(()=>W(null),[]),M=o.useCallback(L=>{const R=L.currentTarget.getBoundingClientRect();W(z=>z?null:{left:R.left,right:R.right,top:R.top,bottom:R.bottom,width:R.width,height:R.height,x:R.x,y:R.y})},[]),H=!!u&&S;o.useEffect(()=>{H||W(null)},[H]);const Q=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})),...(c??[]).map((L,R)=>R===0?{...L,separatorBefore:!0}:L)]:[],te=o.useCallback(L=>{if(!m)return;const R=L.target;R&&typeof R.closest=="function"&&R.closest('button, a, input, select, textarea, [role="radiogroup"]')||m()},[m]),V=o.useCallback(L=>{m&&L.target===L.currentTarget&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),m())},[m]),U=typeof i=="function"?i({collapsed:H}):i,P=b!=null||f?t.jsxs($a,{label:f,children:[b!=null&&t.jsx("span",{className:"barchart-total__num h0",children:b}),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&&(H?t.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??w("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??w("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!$,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(),O=a?`h${a}`:"div";return t.jsxs("section",{ref:x,className:["manager-section",B&&"manager-section--grid",m&&"manager-section--clickable",C].filter(Boolean).join(" "),onClick:m?te:void 0,onKeyDown:m?V:void 0,onPointerEnter:h?E:void 0,onPointerLeave:h?N:void 0,onFocus:h?E:void 0,onBlur:h?N:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,"aria-label":m?p??(typeof e=="string"?e:void 0):void 0,"aria-labelledby":!m&&e!=null?D:void 0,children:[h&&A&&t.jsx(xn,{anchorRect:{left:A.left,top:A.top+21,right:A.right,bottom:A.bottom,width:A.width,height:A.height},text:h}),l&&t.jsx(Gl,{children:l}),t.jsxs("div",{className:"manager-section__head",children:[t.jsxs("div",{className:"manager-section__title-row",children:[r&&t.jsx(Qe,{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})]}),F,s&&t.jsx("div",{className:"manager-section__disc body-3",children:s})]}),(P||y)&&t.jsxs("div",{className:["barchart-sub-row",_!=="start"&&`barchart-sub-row--${_}`].filter(Boolean).join(" "),children:[P,y]}),g,$&&t.jsx(ln,{anchorRect:$,onClose:j,ariaLabel:u?.ariaLabel??w("tooltip.menu","\uBA54\uB274"),children:t.jsx(Na,{columns:[{items:Q}],onClose:j,size:"small"})})]})}function Cn(e,n){const a=new Date(e,n,1).getDay();return 1+(8-(a===0?7:a))%7}function ay(){const e=Qn();let n=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<Cn(n,a)){const l=new Date(n,a,0);n=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-Cn(n,a))/7),i=`${n}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function ry(e){const n=Qn(),a=`${n.getFullYear()}\uB144 ${n.getMonth()+1}\uC6D4`,r=(c,d)=>`${c}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const c of e){if(isNaN(c.date.getTime()))continue;const d=r(c.date.getFullYear(),c.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(c)}for(const[c,d]of[...s.entries()]){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),h=Number(m[2])-1,b=Cn(p,h);if(!(c===a&&n.getDate()<b)&&!d.some(y=>y.date.getDate()<b))continue;const v=new Date(p,h,0),f=r(v.getFullYear(),v.getMonth());s.has(f)||s.set(f,[])}const i=new Map;for(const[c,d]of s){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),h=Number(m[2])-1,b=new Date(p,h+1,0).getDate(),v=d.reduce((g,w)=>Math.max(g,w.parts?.length??0,w.partsB?.length??0),0),f=d.some(g=>g.partsB),y=new Array(b+1).fill(0),_=new Array(b+1).fill(0),C=Array.from({length:b+1},()=>new Array(v).fill(0)),B=Array.from({length:b+1},()=>new Array(v).fill(0));for(const g of d){const w=g.date.getDate();if(y[w]+=g.a,_[w]+=g.b,g.parts)for(let x=0;x<v;x++)C[w][x]+=g.parts[x]??0;if(g.partsB)for(let x=0;x<v;x++)B[w][x]+=g.partsB[x]??0}i.set(c,{year:p,month:h,daysInMonth:b,partsLen:v,hasPartsB:f,dayA:y,dayB:_,dayParts:C,dayPartsB:B})}const l=(c,d,m)=>new Date(c,d,m).getTime()>new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),u={};for(const[c,d]of i){const{year:m,month:p,daysInMonth:h,dayA:b,dayB:v,dayParts:f,dayPartsB:y}=d,_=m===n.getFullYear()&&p===n.getMonth(),C=n.getDate(),B=i.get(r(p===11?m+1:m,(p+1)%12)),g=d.partsLen,w=[];for(let A=1;A<=h;A++){const k=_&&A>C;w.push({label:String(A),...k&&b[A]===0&&v[A]===0?{future:!0}:{},a:k&&b[A]===0&&v[A]===0?-1:b[A],b:v[A],...g?{parts:f[A]}:{},...g&&d.hasPartsB?{partsB:y[A]}:{}})}const x=[];for(let A=Cn(m,p);A<=h;A+=7){const k=Math.max(0,A+6-h),N=k&&B?Math.max(g,B.partsLen):g,E=d.hasPartsB||!!(k&&B?.hasPartsB);let S=0,I=0;const $=new Array(N).fill(0),W=new Array(N).fill(0);for(let M=A;M<=Math.min(A+6,h);M++){S+=b[M],I+=v[M];for(let H=0;H<g;H++)$[H]+=f[M][H],W[H]+=y[M][H]}if(k&&B)for(let M=1;M<=k&&!l(B.year,B.month,M);M++){S+=B.dayA[M],I+=B.dayB[M];for(let H=0;H<B.partsLen;H++)$[H]+=B.dayParts[M][H],W[H]+=B.dayPartsB[M][H]}const j=k?`${(p+1)%12+1}/${k}`:`${A+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${A}\uC77C~${j}\uC77C]`,a:S,b:I,...N?{parts:$}:{},...N&&E?{partsB:W}:{}})}u[c]={weekly:x,daily:w}}return u}function Kl(){const e=Qn(),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()}Kl();function oy(){return Kl()}const Yl=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Zl(e){const{t:n,i18n:a}=ve.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>oy().filter(N=>N.value in e),[e]),l=o.useMemo(()=>{const N=[];for(const E of i){const S=new Date(E.year,E.month,0).getDate(),I=Cn(E.year,E.month-1),$=Math.ceil((S-I+1)/7);for(let W=$-1;W>=0;W--)N.push({value:`${E.value}#${W}`,monthKey:E.value,year:E.year,month:E.month,week:W})}return N},[i]),u=o.useCallback(N=>{const E=n("calendar.yearMonth",{year:N.year,month:N.month});return a.language?.startsWith("ko")?`${E} ${Yl[N.week]??`${N.week+1}`}\uC8FC`:`${E} Week ${N.week+1}`},[n,a.language]),c=o.useMemo(()=>i.map(N=>({value:N.value,label:n("calendar.yearMonth",{year:N.year,month:N.month})})),[n,i]),d=o.useMemo(()=>l.map(N=>({value:N.value,label:u(N)})),[l,u]),m=o.useMemo(()=>ay(),[e]),p=o.useMemo(()=>i.find(N=>N.value===m.monthKey)?.value??i[0]?.value??"",[i,m]),h=o.useMemo(()=>l.find(N=>N.value===m.value)?.value??l[0]?.value??"",[l,m]),[b,v]=o.useState(""),[f,y]=o.useState("");o.useEffect(()=>{i.find(N=>N.value===b)||v(p)},[i,b,p]),o.useEffect(()=>{l.find(N=>N.value===f)||y(h)},[l,f,h]);const _=r==="month"?c:d,C=r==="month"?b:f,B=r==="month"?v:y,g=o.useMemo(()=>{const N=n("calendar.dow",{returnObjects:!0});return Array.isArray(N)?N:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[n]),w=_.findIndex(N=>N.value===C),x=o.useCallback(()=>{const N=_.findIndex(E=>E.value===C);N<_.length-1&&B(_[N+1].value)},[_,C,B]),A=o.useCallback(()=>{const N=_.findIndex(E=>E.value===C);N>0&&B(_[N-1].value)},[_,C,B]),k=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:C,setRange:B,activeOptions:_,activeIdx:w,handlePrev:x,handleNext:A,periodOptions:k,monthRange:b,weekRange:f,weekRanges:l,DOW:g}}const vt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,n=!0){return e.future===!0||n&&e.a===-1}function sy({data:e,colorA:n,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:u=140,maxOverride:c,tightMax:d,seriesColors:m,seriesLabels:p,rateLabels:h,grouped:b=!1,baseline:v,focusableBars:f=!1}){const y=!a,_=!!(m&&m.length>0),C=v,B=o.useMemo(()=>_?Math.max(0,...e.filter(V=>!kn(V,C==null)).map(V=>b?Math.max(0,...(V.parts??[]).map(vt)):(V.parts??[]).reduce((U,P)=>U+Math.max(0,vt(P)),0))):Math.max(0,...e.filter(V=>!kn(V,C==null)).flatMap(V=>y?[vt(V.a)]:[vt(V.a),vt(V.b)])),[e,y,_,b]),g=o.useMemo(()=>{if(C==null)return 0;const V=e.filter(U=>!kn(U,C==null)).flatMap(U=>_?(U.parts??[]).map(vt):y?[vt(U.a)]:[vt(U.a),vt(U.b)]);return Math.max(0,...V.map(U=>Math.abs(U-C)))},[e,C,_,y]),w=o.useMemo(()=>{const V=C!=null?g:B;return c??(d?V>0?V:10:Math.ceil(V/10)*10||10)},[B,g,C,c,d]),x=u,A=_?b?Math.max(1,m.length):1:y?1:2,k={"--bar-width":`${o.useMemo(()=>{const V=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(V*A)+6)))},[e.length,A,i])}px`},N={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const V=Math.round(w/2);return C!=null?[C+w,...V!==w?[C+V]:[],C,...V!==w?[C-V]:[],C-w]:V!==w?[w,V,0]:[w,0]},[w,C]),S=V=>C!=null?1-(V-(C-w))/(2*w):1-V/w,[I,$]=o.useState(null),W=o.useCallback(()=>$(null),[]),j=o.useCallback((V,U)=>{const P=[V.label,V.sublabel].filter(Boolean).join(" ");let F;if(_&&b&&V.rawPartsB)F=(p??[]).map((D,O)=>{const L=V.rawPartsB[O]??0;return{text:L>0?`${D}: ${U[O]??0}% (${V.rawParts?.[O]??0}/${L})`:`${D}: -`,color:(m??[])[O]}});else if(_&&b)F=(p??[]).map((D,O)=>({text:`${D}: ${Q(U[O]??0)}`,color:(m??[])[O]}));else if(_){const D=(p??[]).map((L,R)=>({text:`${L}: ${U[R]??0}`,color:(m??[])[R]})),O=D.filter((L,R)=>(U[R]??0)>0);F=O.length?O:D}else h&&!y?F=[{text:`${r} ${vt(V.a)}%`,color:n},{text:`${s} ${vt(V.b)}%`,color:a}]:h&&V.rawB!==void 0?F=[{text:`${h.total} ${V.rawB}`},{text:`${h.done} ${V.rawA??0}`,color:n}]:y?F=[{text:`${r}: ${vt(V.a)}`,color:n}]:F=[{text:`${r}: ${vt(V.a)}`,color:n},{text:`${s}: ${vt(V.b)}`,color:a}];return{title:P,items:F}},[_,b,p,m,h,y,r,s,n,a,C]),M=o.useCallback((V,U,P)=>{const F=V.getBoundingClientRect(),{title:D,items:O}=j(U,P);$({rect:{left:F.left,top:F.top,right:F.right,bottom:F.bottom,width:F.width,height:F.height},title:D,items:O})},[j]),H=o.useCallback((V,U)=>{const{title:P,items:F}=j(V,U);return[P,...F.map(D=>D.text)].filter(Boolean).join(", ")},[j]),Q=V=>C!=null&&V>C?`+${V}`:`${V}`,te=I!=null;return o.useEffect(()=>{if(!te)return;const V=()=>$(null),U=P=>{const F=P.target;F&&typeof F.closest=="function"&&F.closest(".manager-bar-chart-col")||$(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:N,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${C!=null&&V===C?" 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,C==null),F=x/2,D=z=>C!=null?Math.min(F,Math.abs(vt(z)-C)/w*F):Math.min(x,Math.max(0,vt(z)/w*x)),O=P?0:D(V.a),L=P?0:D(V.b),R=(V.parts??[]).map(vt);return t.jsx("div",{className:`manager-bar-chart-col${b&&_?" 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?H(V,R):void 0,onMouseEnter:P?void 0:z=>M(z.currentTarget,V,R),onFocus:P||!f?void 0:z=>M(z.currentTarget,V,R),onBlur:f?W:void 0,onMouseLeave:W,children:!P&&(_&&b?(m??[]).map((z,X)=>{const K=R[X]??0;if(C==null)return t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:D(K),background:z}},X);const Y=vt(K)<C;return t.jsxs("div",{className:"manager-bar-chart-slot",style:k,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!Y&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D(K),background:z}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:Y&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D(K),background:z}})})]},X)}):_?t.jsx("div",{className:"manager-bar-chart-stack",style:k,children:(()=>{const z=R.reduce((K,Y,ae)=>Y>0?ae:K,-1);let X=x;return R.map((K,Y)=>{if(K<=0)return null;const ae=Math.min(X,K/w*x);return X-=ae,t.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:ae,background:(m??[])[Y],borderRadius:Y===z?"6px 6px 0 0":void 0}},Y)})})()}):C!=null?t.jsx(t.Fragment,{children:[{v:vt(V.a),c:n},...y?[]:[{v:vt(V.b),c:a}]].map(({v:z,c:X},K)=>t.jsxs("div",{className:"manager-bar-chart-slot",style:k,children:[t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:z>=C&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:D(z),background:X}})}),t.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:z<C&&t.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:D(z),background:X}})})]},K))}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:O,background:n}}),!y&&t.jsx("div",{className:"manager-bar-chart-bar",style:{...k,height:L,background:a}})]}))},U)})]}),t.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((V,U)=>{const P=kn(V,C==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)})})]})})}),I&&t.jsx(Wn,{anchorRect:I.rect,title:I.title,items:I.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Xl({control:e}){const{t:n}=ve.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:u,periodOptions:c,period:d,setPeriod:m}=e,p=d==="week"?n("calendar.prevWeek","\uC774\uC804 \uC8FC"):n("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?n("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):n("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return t.jsxs("div",{className:"manager-section-controls",children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:p,showTooltipInfo:p,disabled:r===a.length-1,onClick:l}),t.jsx(cn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:n("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),t.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:u}),t.jsx(An,{ariaLabel:n("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:c,value:d,onChange:b=>m(b),size:40})]})}function yo(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 c=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],d=c!=null&&kn(c,r)||u>s;return{dt:u,entry:c,isFuture:d}})}function iy(e,n,a,r,s=!0){const{period:i,monthRange:l,weekRange:u,weekRanges:c,DOW:d}=n,m=r?.startsWith("ko"),p=Qn(),h=p.getFullYear(),b=p.getMonth()+1,v=p.getDate();if(i==="month"){const _=e[l]??{weekly:[],daily:[]},C=l.match(/^(\d+)년 (\d+)월$/),B=C?Number(C[1]):null,g=C?Number(C[2]):null,w=B&&g?Cn(B,g-1):1;return _.weekly.map((x,A)=>{const k=A+1;let N=x.label,E=!1,S=!1;if(B&&g){const I=w+A*7,$=new Date(B,g-1,I+6),W=$.getMonth()+1,j=$.getDate(),M=W===g?`${j}`:`${W}/${j}`;N=a("manager.chart.weekRange",{start:I,end:M});const H=new Date(h,b-1,v).getTime();E=H>=new Date(B,g-1,I).getTime()&&H<=$.getTime(),S=B>h||B===h&&(g>b||g===b&&I>v)}return{...x,label:N,sublabel:m?`${Yl[k-1]??k}\uC8FC`:`Week ${k}`,isToday:E,future:x.future===!0||S||void 0,a:S?-1:x.a,b:S?0:x.b}})}const f=c.find(_=>_.value===u);if(!f)return[];const y=new Date(f.year,f.month-1,Cn(f.year,f.month-1)+f.week*7);return yo(e,y,p,s).map(({dt:_,entry:C,isFuture:B})=>{const g=_.getMonth()+1,w=_.getDate(),x=_.getFullYear();return{label:g===f.month&&x===f.year?`${w}`:`${g}/${w}`,sublabel:d[_.getDay()]??"",future:B||void 0,a:B?-1:C&&C.a>0?C.a:0,b:B?0:C&&C.b>0?C.b:0,isToday:x===h&&g===b&&w===v,...C?.parts?{parts:B?C.parts.map(()=>0):C.parts}:{},...C?.partsB?{partsB:B?C.partsB.map(()=>0):C.partsB}:{}}})}const ly={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function uy({focusableBars:e,size:n="medium",barWidth:a,titleKey:r,titleLevel:s,data:i,colorA:l,colorB:u,labelAKey:c,labelBKey:d,showTotal:m=!1,totalUnitKey:p,totalLabelKey:h,control:b,hideControls:v=!1,rate:f=!1,rateAgg:y="dayMean",tightMax:_=!1,avgMode:C=!1,totalFormat:B,series:g,seriesMode:w="stack",loading:x=!1,onDetail:A,headExtra:k,headSegment:N,icon:E,disc:S,onClick:I,cardAriaLabel:$,cardTooltip:W,detailSize:j=32,barGap:M,baseline:H,className:Q,inGrid:te=!1}){const{t:V,i18n:U}=ve.useTranslation(),P=ly[n],F=Zl(i),D=b??F,O=o.useMemo(()=>iy(i,D,V,U.language,H==null),[i,D,V,U.language,H]),L=w==="group"&&!!g&&g.length>0;M!=null&&!L&&an("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 R=o.useMemo(()=>{if(!f)return O;const ae=D.period==="month"?D.monthRange.match(/^(\d+)년 (\d+)월$/):null,le=Qn(),se=g?.length??0,ke=q=>{const ne=[],fe=[],xe=[];for(let he=0;he<se;he++){let ie=0,ce=0,ue=0;for(const ge of q){const Ne=vt(ge.a[he]),De=vt(ge.b[he]);De<=0||(ie+=Ne,ce+=De,ue+=Ne/De*100)}ne.push(y==="weighted"?ce>0?Math.round(ie/ce*100):0:q.length?Math.round(ue/q.length):0),fe.push(ie),xe.push(ce)}return{pct:ne,ra:fe,rb:xe}};return O.map((q,ne)=>{let fe=q.a===-1?-1:q.b>0?Math.round(q.a/q.b*100):0;if(ae&&!kn(q)){const he=Number(ae[1]),ie=Number(ae[2])-1,ce=yo(i,new Date(he,ie,Cn(he,ie)+ne*7),le).filter(ue=>!ue.isFuture);if(y==="weighted"){let ue=0,ge=0;for(const{entry:Ne}of ce)Ne&&Ne.b>0&&(ue+=Ne.a,ge+=Ne.b);fe=ge>0?Math.round(ue/ge*100):0}else fe=ce.length?Math.round(ce.reduce((ue,{entry:ge})=>ue+(ge&&ge.b>0?ge.a/ge.b*100:0),0)/ce.length):0}let xe=null;if(L&&!kn(q)){let he;if(ae){const ce=Number(ae[1]),ue=Number(ae[2])-1;he=yo(i,new Date(ce,ue,Cn(ce,ue)+ne*7),le).filter(ge=>!ge.isFuture).map(({entry:ge})=>({a:ge?.parts??[],b:ge?.partsB??[]}))}else he=[{a:q.parts??[],b:q.partsB??[]}];const ie=ke(he);xe={parts:ie.pct,rawParts:ie.ra,rawPartsB:ie.rb}}return{...q,a:fe,b:q.a===-1?0:d&&q.parts&&q.parts[1]>0?Math.round(q.parts[0]/q.parts[1]*100):0,rawA:q.a===-1?-1:q.a,rawB:q.b,...xe??{}}})},[O,f,y,d,D.period,D.monthRange,i,L,g?.length]),z=o.useMemo(()=>{if(f||C){const le=(D.period==="week"?O:i[D.monthRange]?.daily??[]).filter(ke=>ke.a!==-1);if(le.length===0)return 0;if(f&&y==="weighted"){let ke=0,q=0;for(const ne of le)ne.b>0&&(ke+=ne.a,q+=ne.b);return q>0?Math.round(ke/q*100):0}const se=f?le.reduce((ke,q)=>ke+(q.b>0?q.a/q.b*100:0),0):le.reduce((ke,q)=>ke+(q.a>0?q.a:0),0);return Math.round(se/le.length)}const ae=D.period==="month"?i[D.monthRange]?.daily??[]:R;return H!=null?ae.reduce((le,se)=>le+(kn(se,!1)?0:vt(se.a)+(d?vt(se.b):0)),0):ae.reduce((le,se)=>le+(se.a>0?se.a:0)+(d&&se.b>0?se.b:0),0)},[R,O,f,y,C,H,d,D.period,D.monthRange,i]),X=g&&g.length>0?g.map(ae=>({color:ae.color,label:ae.label})):[{color:l,label:V(c)},...d?[{color:u,label:V(d)}]:[]],K=n==="small",Y=[K?"manager-section--compact":n==="large"?"manager-section--full":void 0,Q].filter(Boolean).join(" ")||void 0;return t.jsx(bo,{className:Y,inGrid:te,icon:E,disc:S,onClick:I,ariaLabel:$,tooltip:W,headSegment:N,headMenuItems:A?[{label:V("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:A,closeOnSelect:!0}]:void 0,title:V(r),titleLevel:s,titleClassName:K?"h5 chart-section-title--small":void 0,headRight:K?k??void 0:({collapsed:ae})=>t.jsxs(t.Fragment,{children:[!v&&t.jsx(Xl,{control:D}),k,A&&!ae&&t.jsx("span",{className:"manager-bar-chart-detail-btn",children:t.jsx(me,{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:A})})]}),subRow:t.jsxs(t.Fragment,{children:[m?f||C||h&&B?t.jsx($a,{label:K?void 0:`${V(D.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${V(h??c)}`,children:B?(B(z).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((ae,le)=>/\d/.test(ae)?t.jsx("span",{className:"barchart-total__num h0",children:ae},le):t.jsx("span",{className:"barchart-total__unit h5",children:ae},le)):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"barchart-total__num h0",children:z}),p&&t.jsx("span",{className:"barchart-total__unit h5",children:V(p)})]})}):t.jsxs($a,{children:[t.jsx("span",{className:"barchart-total__num h0",children:z}),t.jsx("span",{className:"barchart-total__unit h5",children:V(c)}),p&&t.jsx("span",{className:"barchart-total__unit h5",children:V(p)})]}):t.jsx("span",{}),t.jsx(go,{items:X,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(La,{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"}),R.some(ae=>!!ae.sublabel)&&t.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):t.jsx(sy,{focusableBars:e,data:R,colorA:l,colorB:d?u:void 0,labelA:V(c),labelB:d?V(d):void 0,barWidth:a??P.barWidth,barGap:M,baseline:H,height:P.height,maxOverride:f?100:void 0,tightMax:_,seriesColors:g?.map(ae=>ae.color),seriesLabels:g?.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 Jl=120,cy={left:38,right:16,top:26,bottom:24};function dy({points:e=[],range:n,ticks:a=[],axisTitle:r,color:s,height:i=156,fallbackWidth:l=320,insets:u,overlay:c,ariaLabel:d,className:m}){const[p,h]=o.useState(null),[b,v]=o.useState(null);o.useEffect(()=>{if(!b)return;const H=te=>h(Math.round(te)||null);if(H(b.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const Q=new ResizeObserver(([te])=>H(te.contentRect.width));return Q.observe(b),()=>{Q.disconnect()}},[b]);const{payload:f,anchorRect:y,openAfterDelay:_,close:C}=Cb(Jl),B=o.useCallback((H,Q)=>{H&&_(H,Q.getBoundingClientRect())},[_]),g=p??l,w=i,{left:x,right:A,top:k,bottom:N}={...cy,...u},[E,S]=n,I=H=>S===E?x:x+(g-x-A)*(H-E)/(S-E),$=H=>k+(w-k-N)*(100-H)/100,W={x:I,y:$,plot:{left:x,right:g-A,top:k,bottom:w-N,width:Math.max(0,g-x-A),height:Math.max(0,w-k-N)}},j=e.filter(H=>!H.hollow),M=s??"var(--color-main)";return t.jsxs(t.Fragment,{children:[t.jsxs("svg",{ref:v,className:Be("line-chart",m),viewBox:`0 0 ${g} ${w}`,role:"img","aria-label":d??e.map(H=>H.description).filter(Boolean).join(", "),children:[r&&t.jsx("text",{className:"line-chart__axis-title",x:0,y:12,children:r}),[0,100].map(H=>t.jsxs("g",{children:[t.jsx("line",{className:"line-chart__grid",x1:x,x2:g-A,y1:$(H),y2:$(H)}),t.jsxs("text",{className:"line-chart__tick",x:x-6,y:$(H)+4,textAnchor:"end",children:[H,"%"]})]},H)),c?.(W),a.map(H=>t.jsx("text",{className:"line-chart__tick",x:I(H.x),y:w-5,textAnchor:"middle",children:H.label},H.x)),j.length>1&&t.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:M,points:j.map(H=>`${I(H.x)},${$(H.pct)}`).join(" ")}),e.map(H=>t.jsxs("g",{className:"line-chart__dot",onPointerEnter:Q=>B(H.description,Q.currentTarget),onPointerLeave:C,children:[t.jsx("circle",{className:"line-chart__dot-hit",cx:I(H.x),cy:$(H.pct),r:12}),t.jsx("circle",{className:Be("line-chart__dot-main",H.hollow&&"is-hollow"),cx:I(H.x),cy:$(H.pct),r:4,stroke:M,fill:H.hollow?void 0:M})]},H.x))]}),f!=null&&t.jsx(ln,{anchorRect:y,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:f,children:f})]})}function py({icon:e,iconSize:n=56,title:a,titleClass:r="h2",description:s,tipGroups:i,start:l,className:u}){return t.jsxs("div",{className:Be("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:Be("game-intro__title",r),children:a}),s!=null&&t.jsx("p",{className:"game-intro__description body-3",children:s}),i?.map((c,d)=>t.jsxs("div",{className:"game-intro__tips",children:[c.title!=null&&t.jsx("span",{className:"game-intro__tips-title body-3",children:c.title}),c.tips.map((m,p)=>t.jsxs("span",{className:"game-intro__tip body-3",children:[m.icon!=null&&t.jsx("span",{"aria-hidden":"true",children:m.icon}),t.jsx("span",{children:m.text})]},p))]},d)),l&&t.jsx(me,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const Ql=(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")}`},eu=(e,n,a,r)=>({from:di(e,n,a),to:new Date(di(e,n,a+r).getTime()-1),fromYmd:Ql(e,n,a),toYmd:Ql(e,n,a+r-1)});function my(e,n=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Qn(),l=s?Number(s[1]):i.getFullYear(),u=(s?Number(s[2]):i.getMonth()+1)-1+n,c=new Date(Date.UTC(l,u+1,0)).getUTCDate();return eu(l,u,1,c)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=xa();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=Cn(a.year,a.month-1);return eu(a.year,a.month-1,r+(a.week+n)*7,7)}const vo={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function tu(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function nu({done:e,total:n,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:u=!1,hideLabel:c=!1}){const d=typeof s=="number"?s:vo[s].diameter,m=i??(typeof s=="number"?12:vo[s].strokeWidth),p=d/2,h=(d-m)/2,b=2*Math.PI*h;if(a&&a.length>0){const _=a.reduce((C,B)=>{const g=C.length>0?C[C.length-1].acc:0,w=Number.isFinite(B.ratio)?B.ratio:0,x=Math.max(0,Math.min(w,1-g));return C.push({color:B.color,rotate:-90+g*360,dash:b*x,acc:g+x}),C},[]);return t.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:t.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),_.map((C,B)=>C.dash>0&&t.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:C.color,strokeWidth:m,strokeDasharray:`${C.dash} ${b}`,strokeLinecap:"round",transform:`rotate(${C.rotate} ${p} ${p})`},B))]})})}const v=(n??0)>0?Math.min((e??0)/n,1):0,f=b*v,y=b-f;return t.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[t.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[t.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),v>0&&t.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:r,strokeWidth:m,strokeDasharray:`${f} ${y}`,strokeLinecap:v<.02||v>.98?"butt":"round",transform:`rotate(-90 ${p} ${p})`})]}),!u&&t.jsxs("div",{className:`ring-chart__center${c?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[t.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:tu(v)}),!c&&t.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function hy({titleKey:e,titleLevel:n,headRight:a,icon:r,showTotal:s,totalLabelKey:i,legend:l,loading:u,className:c,inGrid:d=!1,onClick:m,ariaLabel:p,tooltip:h,...b}){const{t:v}=ve.useTranslation();if(!e)return t.jsx(nu,{...b});const f=(b.total??0)>0?tu(Math.min((b.done??0)/b.total,1)):0,y=b.size==="small",_=typeof b.size=="number"?b.size:vo[b.size??"medium"].diameter,C=b.size==="large",B=[c,y?"manager-section--compact":C?"manager-section--full":""].filter(Boolean).join(" ")||void 0,g=r&&t.jsx("span",{className:"chart-section-icon",children:t.jsx(Qe,{icon:r,className:"chart-section-icon-inner"})});return t.jsx(bo,{className:B,inGrid:d,onClick:m,ariaLabel:p,tooltip:h,title:v(e),titleLevel:n,titleClassName:y?"h5 chart-section-title--small":void 0,headRight:g||(y?void 0:a),subRow:(s||l)&&t.jsxs(t.Fragment,{children:[s?t.jsxs($a,{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(go,{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:_,height:_},"aria-busy":"true",children:t.jsx(La,{size:32})})}):t.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:t.jsx(nu,{...b,hideCenter:b.hideCenter??y})})})}function Cy({label:e,value:n,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:u}){const c=o.useRef(null),{anchorRect:d,openAt:m,close:p}=Ba(),h=o.useCallback(()=>{i&&c.current&&m(c.current)},[i,m]),b=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:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?f:void 0,onPointerEnter:h,onPointerLeave:p,onFocus:h,onBlur:p,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&&d&&t.jsx(xn,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.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(Qe,{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--${b??"neutral"} caption-1`,children:v})]}),u&&t.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function au({value:e,onChange:n,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:u=!1,ariaLabel:c,length:d,className:m,label:p,formatValue:h,labelPos:b,labelAlign:v="right",showMinMax:f=!1,minLabel:y,maxLabel:_,showBgTick:C=!1,showFillTick:B=!1,tickStep:g,tickShape:w="dot"}){n&&!c&&an("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)),A=r>a?(x-a)/(r-a):0,k=i==="vertical",N=!n,E=D=>n?.(Number(D.target.value)),S=typeof d=="number"?`${d}px`:d,I={"--slider-ratio":String(A),"--slider-thumb":`${l}px`,...S?k?{height:S}:{width:S}:{}},$=g??s,W=(C||B)&&$>0&&r>a?Math.floor((r-a)/$+1e-6):0;if(W>0&&W<=100){const D=w!=="dash",O=K=>D?`radial-gradient(circle, ${K} 0.5px, transparent 1px)`:k?`linear-gradient(to bottom, transparent calc(50% - 2px), ${K} calc(50% - 2px), ${K} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${K} calc(50% - 2px), ${K} calc(50% + 2px), transparent calc(50% + 2px))`,L=D?"2px":"4px",R=[],z=[],X=[];for(let K=0;K<=W;K++){const Y=K*$/(r-a);if(Y>1+1e-6)break;const ae=`${((k?1-Y:Y)*100).toFixed(4)}%`,le=Y<=A+1e-6;if(le?!B:!C)continue;const se=le?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";R.push(O(se)),z.push(k?`${L} var(--slider-thumb)`:`var(--slider-thumb) ${L}`),X.push(k?`center ${ae}`:`${ae} center`)}R.push(k?"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))"),z.push("100% 100%"),X.push("0 0"),I.backgroundImage=R.join(", "),I.backgroundSize=z.join(", "),I.backgroundPosition=X.join(", "),I.backgroundRepeat="no-repeat"}const j=h?h(x):p==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:p==="count"?`${x} / ${r}`:x===a&&y?y:x===r&&_?_:void 0,M=t.jsx("input",{type:"range",className:Be("slider",`slider--${i}`,N&&"slider--static",!p&&!f&&m),min:a,max:r,step:s,value:x,disabled:u,readOnly:N,tabIndex:N?-1:void 0,"aria-label":c,"aria-valuetext":j,"aria-orientation":i,onChange:E,style:I});if(!p&&!f)return M;const H=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??a}),Q=t.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??r}),te=f?t.jsxs("div",{className:Be("slider-track-group",`slider-track-group--${i}`,!p&&m),children:[k?Q:H,M,k?H:Q]}):M;if(!p)return te;const V=b??(k?"bottom":"right"),U=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,P=h?h(x):p==="percent"?U:p==="count"?`${x} / ${r}`:String(x),F=t.jsx("span",{className:"slider-wrap__value body-3b",children:P});return t.jsxs("div",{className:Be("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${V}`,`slider-wrap--align-${v}`,m),children:[te,F]})}const fy=.86,gy=250,xo=(e,n,a,r)=>Math.round(Math.min(r,Math.max(a,e-n))),_o=(e,n,a,r)=>{const s=xo(e,n,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function wo({analyser:e,audioElement:n,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:u=-60,refDb:c=-35,displayMin:d=-5,displayMax:m=25,className:p,ariaLabel:h}){const b=o.useRef(null),v=o.useRef(null),f=o.useRef(null),y=o.useRef(null),[_,C]=o.useState(null);o.useEffect(()=>{const x=M=>{const H=_o(M,c,d,m);f.current&&(f.current.textContent=H);const Q=b.current;Q&&(Q.setAttribute("aria-valuenow",String(xo(M,c,d,m))),Q.setAttribute("aria-valuetext",H))},A=e??uC(n)??(_&&_.el===n?_.node:null),k=v.current;if(!A||!k){k?.style.setProperty("--meter-level","0"),x(u);let M=!1;return!e&&n&&za(n).then(H=>{!M&&H&&C({el:n,node:H})}),()=>{M=!0}}Ir();const N=new Float32Array(A.fftSize);let E=0,S=0,I=0,$=0,W=null;const j=M=>{const H=cC(A,N);E=H>E?H:E*fy;const Q=E>1e-5?20*Math.log10(E):-1/0,te=Math.max(u,Q),V=te-c,U=Math.min(1,Math.max(0,(V-d)/(m-d)));if(k.style.setProperty("--meter-level",U.toFixed(3)),S+=te,I+=1,M-$>=gy){const P=S/I;W=W==null?P:W*.6+P*.4,x(W),S=0,I=0,$=M}y.current=requestAnimationFrame(j)};return y.current=requestAnimationFrame(j),()=>{y.current!=null&&cancelAnimationFrame(y.current),y.current=null}},[e,n,_,u,c,d,m]);const B=typeof r=="number"?`${r}px`:r,g=t.jsx("div",{className:"audio-meter__track",style:B?a==="vertical"?{height:B}:{width:B}:{},children:t.jsx("div",{ref:v,className:"audio-meter__fill"})}),w=i??(a==="vertical"?"bottom":"right");return t.jsxs("div",{ref:b,className:Be("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${w}`,s&&`audio-meter--align-${l}`,p),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":m,"aria-valuenow":xo(u,c,d,m),"aria-valuetext":_o(u,c,d,m),children:[g,s&&t.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:_o(u,c,d,m)})]})}const ru=260;function ou({message:e,position:n,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,u]=o.useState(!1),c=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{c.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const m=o.useRef(null),p=o.useRef(""),h=o.useRef(r);o.useEffect(()=>{h.current=r});const b=a,v=o.useRef(null),f=o.useRef(0),y=o.useRef(0),_=o.useRef(!1),C=o.useRef(null),B=o.useRef(null),g=o.useRef(null),w=o.useRef(null),x=o.useRef(()=>{});x.current=N=>{N<0||(f.current=Date.now(),y.current=N,v.current=setTimeout(()=>{v.current=null,i(!1),C.current=setTimeout(()=>{u(!1);try{h.current()}catch{}},ru)},N))};const A=o.useCallback(()=>{_.current||!v.current||(_.current=!0,clearTimeout(v.current),v.current=null,y.current=Math.max(0,y.current-(Date.now()-f.current)))},[]),k=o.useCallback(()=>{_.current&&(_.current=!1,x.current(y.current))},[]);return o.useEffect(()=>{if(e!==p.current&&(v.current&&(clearTimeout(v.current),v.current=null),C.current&&(clearTimeout(C.current),C.current=null)),e){if(d.current)return b>0&&!v.current&&(_.current?y.current=b:x.current(b)),p.current=e,()=>{v.current&&(clearTimeout(v.current),v.current=null),C.current&&(clearTimeout(C.current),C.current=null)};const N=()=>{const E=m.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"),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{w.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};c.current?(N(),i(!0)):(u(!0),B.current=requestAnimationFrame(()=>{g.current=requestAnimationFrame(()=>{N(),i(!0)})})),b>0&&(_.current=!1,x.current(b))}else i(!1),C.current=setTimeout(()=>u(!1),ru);return p.current=e,()=>{v.current&&clearTimeout(v.current),C.current&&clearTimeout(C.current),B.current&&cancelAnimationFrame(B.current),g.current&&cancelAnimationFrame(g.current),w.current&&clearTimeout(w.current),v.current=null,C.current=null,B.current=null,g.current=null,w.current=null}},[e,b,n]),{mounted:l,showing:s,popupRef:m,pause:A,resume:k}}function oa({message:e="",position:n="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:u,pause:c,resume:d}=ou({message:e,position:n,duration:s,onClose:r}),m=o.useRef(null),[p,h]=o.useState(!1);if(o.useEffect(()=>{l?h(!0):i||h(!1)},[l,i]),!i)return null;const b=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=>{m.current=f.pointerType},onMouseEnter:()=>{m.current!=="touch"&&c()},onMouseLeave:d,onFocusCapture:c,onBlurCapture:d,children:t.jsx("div",{className:`toast__inner toast__inner--${b} body-2`,"aria-hidden":p||l?void 0:!0,children:t.jsx("span",{className:"toast__text",children:e})})});return typeof document<"u"?Qt.createPortal(v,document.body):v}const by=24;function yy({value:e,max:n=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:u,labelAlign:c="right",ariaLabel:d,className:m}){const p=Number.isFinite(n)&&n>0?n:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,p)),b=h/p*100,v=Number.isFinite(n)&&n>0?n:0,f=u??(a>=by?"inside":"bottom"),y=f==="center"?"inside":f,_=y==="inside"&&(c==="left"?b>=15:c==="center"?b>=50:b>=85),C={};return r&&(C["--progress-bar-fill"]=r),s&&(C["--progress-bar-track"]=s),t.jsxs("div",{className:Be("progress-bar",`progress-bar--${a}`,`progress-bar--label-${y}`,i&&`progress-bar--align-${c}`,i&&_&&"progress-bar--label-on-fill",m),style:C,children:[t.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":v,"aria-valuetext":i?l?l(h):i==="percent"?void 0:i==="raw"?String(h):`${h} / ${v}`:void 0,"aria-label":d,children:t.jsx("div",{className:"progress-bar__fill",style:{width:`${b}%`}})}),i&&t.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):i==="percent"?`${Math.round(b)}%`:i==="raw"?String(h):`${h} / ${v}`})]})}const su={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},vy="rgba(255, 255, 255, 0.16)";function iu({max:e,index:n,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:u}){const{t:c}=ve.useTranslation(),d=rn("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const m=Number.isInteger(n)?Math.max(0,Math.min(n,e-1)):0,p=u??c("progress.steps",{current:m+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),h={};if(a&&(h["--pi-inactive-bg"]=a),r&&(h["--pi-inactive-color"]=r),s&&(a||(h["--pi-inactive-bg"]=vy),r||(h["--pi-inactive-color"]="var(--color-white)")),i==="dot")return t.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:p,children:[l&&t.jsx("span",{style:su,children:p}),Array.from({length:e}).map((v,f)=>t.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<m?" done":f===m?" active":""}`},f))]});const b=l?t.jsx("span",{role:"status",style:su,children:p}):null;return d?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":p,children:t.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[m+1," / ",e]})}),b]}):t.jsxs(t.Fragment,{children:[b,t.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":p,children:Array.from({length:e}).map((v,f)=>t.jsx("span",{role:"listitem","aria-current":f===m?"step":void 0,className:`progress-indicator-dot ${f<m?" done":f===m?" active":""} body-3`,children:f+1},f))})]})}function xy(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 _y({children:e,className:n,style:a,rowLabel:r,onRowClick:s}){return t.jsx("div",{role:"cell",className:n?`table-cell ${n}`:"table-cell",style:a,children:r&&s?t.jsx("button",{type:"button",className:"table-cell__row-button","aria-label":r,children:e}):e})}function Bo({variant:e="default",children:n,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,expandedContent:d,colSpan:m,describedBy:p,rowHasButton:h}){const b=o.useCallback(v=>{s&&v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s())},[s]);return e==="loading"?t.jsx("div",{role:"presentation",className:"table-row-wrap",children:t.jsx("div",{role:"row",className:"table-row table-row--loading",children:t.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:t.jsx(La,{size:28})})})}):e==="empty"?t.jsx("div",{role:"presentation",className:"table-row-wrap",children:t.jsx("div",{role:"row",className:"table-row table-row--empty body-3",children:t.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:n})})}):t.jsxs("div",{role:"presentation",className:"table-row-wrap",children:[t.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?b:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,role:"row",tabIndex:s&&!h?0:void 0,"aria-describedby":s&&!h?p:void 0,children:n}),d&&t.jsx("div",{role:"row",className:"table-row-expand",children:t.jsx("div",{role:"cell","aria-colspan":m,className:"table-row-expand__cell",children:d})})]})}function wy({dir:e}){return t.jsx(e==="asc"?_s:xs,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function By({children:e,onClick:n,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=t.jsxs(t.Fragment,{children:[e,r&&t.jsx(wy,{dir:r})]});return t.jsxs("div",{onClick:n,role:"columnheader","aria-sort":s,className:Be("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 Ao({fields:e=[],headerGroups:n,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:c,onRowDragEnd:d,draggingId:m,gridTemplateColumns:p,mobileGridTemplateColumns:h,resizable:b=!1,resizeMode:v="grow",resizeStorageKey:f,size:y="small",title:_,icon:C,count:B,collapsed:g=!1,onToggleCollapse:w,headerActions:x,empty:A,loading:k,dragOver:N=!1,onDragOver:E,onDragLeave:S,onDrop:I,renderExpandedRow:$,expandedId:W}){const{t:j}=ve.useTranslation(),M=o.useId(),H=`table-title-${M}`,Q=`table-row-hint-${M}`,te=rn("(max-width: 767px)"),V=h&&te?h:null,U=b&&!te,P=48,F=o.useRef(()=>P),D=f?`table-cols:${f}`:null,O=o.useRef(null),L=o.useRef(null),R=o.useRef(null),z=o.useRef(null),[X,K]=o.useState(!1),Y=o.useCallback(()=>{const Z=R.current;Z&&K(Z.scrollWidth>Z.clientWidth+1)},[]),ae=o.useCallback((Z,re)=>{const pe=Z.current;pe&&L.current&&L.current.unobserve(pe),Z.current=re,re?(!L.current&&typeof ResizeObserver<"u"&&(L.current=new ResizeObserver(()=>Y())),L.current?.observe(re)):!R.current&&!z.current&&(L.current?.disconnect(),L.current=null),Y()},[Y]),le=o.useCallback(Z=>ae(R,Z),[ae]),se=o.useCallback(Z=>ae(z,Z),[ae]);o.useEffect(()=>{Y()}),o.useEffect(()=>{if(typeof window>"u")return;const Z=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>Y()):null;return window.addEventListener("resize",Y),()=>{Z!=null&&cancelAnimationFrame(Z),window.removeEventListener("resize",Y)}},[Y]);const ke=o.useRef(()=>!1),q=o.useRef([]),ne=o.useRef(null),fe=Z=>{if(!Z||typeof window>"u")return null;try{const re=JSON.parse(window.localStorage.getItem(Z)??"null");return Array.isArray(re)&&re.length>0&&re.every(pe=>typeof pe=="number"&&Number.isFinite(pe)&&pe>0)?re:null}catch{return null}},[xe,he]=o.useState(()=>fe(D)),[ie,ce]=o.useState(D);ie!==D&&(ce(D),he(fe(D)));const ue=o.useRef(xe);o.useEffect(()=>{ue.current=xe},[xe]);const ge=o.useCallback(Z=>{const re=ne.current;if(!re)return;const pe=ue.current;if(pe){const Se=[...pe];if(re.next!=null&&re.startWNext!=null){const it=Z.clientX-re.startX,Ye=Math.max(F.current(re.index)-re.startW,Math.min(re.startWNext-F.current(re.next),it));Se[re.index]=re.startW+Ye,Se[re.next]=re.startWNext-Ye}else Se[re.index]=Math.max(F.current(re.index),re.startW+(Z.clientX-re.startX));ue.current=Se,he(Se)}},[]),Ne=o.useCallback(()=>{if(ne.current=null,window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",Ne),window.removeEventListener("pointercancel",Ne),document.body.style.cursor="",document.body.style.userSelect="",D&&ue.current)try{window.localStorage.setItem(D,JSON.stringify(ue.current))}catch{}},[ge,D]),De=o.useCallback((Z,re)=>{re.preventDefault(),re.stopPropagation();const pe=O.current;if(!pe)return;const Se=Array.from(pe.children).map(Ye=>Ye.getBoundingClientRect().width),it=v==="fit"?e.findIndex((Ye,xt)=>xt>Z&&Ye.resizable!==!1):-1;ne.current=it>=0?{index:Z,startX:re.clientX,startW:Se[Z],next:it,startWNext:Se[it]}:{index:Z,startX:re.clientX,startW:Se[Z]},ue.current=Se,he(Se),window.addEventListener("pointermove",ge),window.addEventListener("pointerup",Ne),window.addEventListener("pointercancel",Ne),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[ge,Ne,v,e]),Ke=o.useCallback(()=>{const Z=O.current,re=Z?.closest(".table-wrap");if(!Z||!re)return;const pe=re.style.getPropertyValue("--table-grid-cols");re.style.setProperty("--table-grid-cols",e.map((nt,$e)=>ke.current($e)?q.current[$e]:"max-content").join(" "));const Se=Array.from(re.querySelectorAll(".table-row")).filter(nt=>!nt.classList.contains("table-row--loading")&&!nt.classList.contains("table-row--empty")),it=e.map((nt,$e)=>{let Ge=Z.children[$e]?.getBoundingClientRect().width??0;for(const Ct of Se){const Mt=Ct.children[$e];Mt&&(Ge=Math.max(Ge,Mt.getBoundingClientRect().width))}const Pe=ke.current($e)?parseFloat(q.current[$e]):NaN;return Number.isFinite(Pe)?Pe:Math.max(F.current($e),Math.ceil(Ge))}),Ye=window.getComputedStyle(Z),xt=Z.clientWidth-(parseFloat(Ye.paddingLeft)||0)-(parseFloat(Ye.paddingRight)||0);pe?re.style.setProperty("--table-grid-cols",pe):re.style.removeProperty("--table-grid-cols");let bt=it;const ut=it.reduce((nt,$e,Ge)=>nt+(ke.current(Ge)?$e:0),0),tt=it.reduce((nt,$e,Ge)=>nt+(ke.current(Ge)?0:$e),0),et=xt-ut;if(xt>0&&tt>0&&et>0){const nt=et/tt;bt=it.map((Ge,Pe)=>ke.current(Pe)?Ge:Math.max(F.current(Pe),Math.round(Ge*nt)));const $e=Math.round(et-bt.reduce((Ge,Pe,Ct)=>Ge+(ke.current(Ct)?0:Pe),0));if($e!==0){let Ge=-1;bt.forEach((Pe,Ct)=>{!ke.current(Ct)&&(Ge<0||Pe>bt[Ge])&&(Ge=Ct)}),Ge>=0&&(bt[Ge]=Math.max(F.current(Ge),bt[Ge]+$e))}}if(he(bt),D)try{window.localStorage.setItem(D,JSON.stringify(bt))}catch{}},[e,v,D]);o.useEffect(()=>()=>{ne.current&&(window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",Ne),window.removeEventListener("pointercancel",Ne),document.body.style.cursor="",document.body.style.userSelect="")},[ge,Ne]);const ze=xy(p),qe=ze.filter(Z=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(Z));qe.length>0&&an(`table-content-track:${p}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${qe.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: ${p})`);const He=e.findIndex(Z=>!!Z.sortDir);e.filter(Z=>!!Z.sortDir).length>1&&an("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 dt=Z=>Z===He?e[Z].sortDir==="asc"?"ascending":"descending":e[Z].onClick?"none":void 0,ot=Z=>/^\d+(\.\d+)?px$/.test(ze[Z]??""),st=Z=>{const re=ze[Z]??"",pe=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(re)??/^(\d+(?:\.\d+)?)px$/.exec(re);return pe?parseFloat(pe[1]):P};ke.current=ot,F.current=st,q.current=ze;const ht=Z=>v==="fit"&&!ot(Z)?"fr":"px",Ae=xe&&xe.length===e.length&&!te&&(v==="fit"||a.length>0),Ie=V??(Ae?e.map((Z,re)=>Z.resizable===!1&&ze[re]?ze[re]:`${xe[re]}${ht(re)}`).join(" "):p),we=Ie?{"--table-grid-cols":Ie}:void 0,rt=_!==void 0;return t.jsxs("div",{ref:le,className:`table-wrap table-wrap--${y}${U?" table-wrap--resizable":""}${N?" table-wrap--dragover":""}${g?" table-wrap--collapsed":""}`,style:we,onDragOver:E,onDragLeave:S,onDrop:I,tabIndex:X?0:void 0,role:X?"region":void 0,"aria-label":X?typeof _=="string"?_:j("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:[!!s&&t.jsx("span",{id:Q,className:"table-row-hint",children:j("table.rowActionHint","\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4")}),t.jsxs("div",{ref:se,role:"table","aria-labelledby":rt&&typeof _=="string"?H:void 0,className:"table body-2",children:[rt&&t.jsxs("div",{className:Be("table-header",w&&"table-header--clickable"),onClick:w,role:"caption",children:[w&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:g?"chevron-right":"chevron-down",ariaLabel:g?j("common.expand","\uD3BC\uCE58\uAE30"):j("common.collapse","\uC811\uAE30"),ariaExpanded:!g,className:"table-header__chevron"}),C&&t.jsx(Qe,{icon:C,label:typeof _=="string"?_:void 0,className:"table-header__icon"}),t.jsx("span",{id:H,className:"table-header__title h5b",children:_}),B!==void 0&&t.jsx("span",{className:"table-header__count body-3b",children:B}),x&&t.jsx("span",{className:"table-header__actions",onClick:Z=>Z.stopPropagation(),children:x})]}),!g&&t.jsxs(t.Fragment,{children:[n&&n.length>0&&t.jsx("div",{role:"row",className:"table-fields table-fields--groups",children:n.map((Z,re)=>t.jsx("div",{role:"columnheader","aria-colspan":Z.span,className:Be("table-field body-3",Z.className),style:{gridColumn:`span ${Z.span}`},children:Z.label},re))}),t.jsxs("div",{role:"presentation",className:Be("table-fields-strip",U&&"table-fields-strip--resizable"),children:[t.jsx("div",{role:"row",className:"table-fields",ref:O,children:e.map((Z,re)=>t.jsx(By,{onClick:Z.onClick,className:Z.className,sortDir:Z.sortDir,ariaSort:dt(re),onResizeStart:U&&re<e.length-1&&Z.resizable!==!1&&(v!=="fit"||e.some((pe,Se)=>Se>re&&pe.resizable!==!1))?pe=>De(re,pe):void 0,children:Z.label},re))}),U&&t.jsx(me,{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:Ke})]}),t.jsx("div",{role:"rowgroup",className:"table-body",children:k?t.jsx(Bo,{variant:"loading",colSpan:e.length||void 0}):a.length===0&&A?t.jsx(Bo,{variant:"empty",colSpan:e.length||void 0,children:A}):a.map((Z,re)=>{const pe=m!=null&&Z.id===m,Se=!!s&&(i?i(Z):!0),it=W!=null&&Z.id!=null&&(W instanceof Set?W.has(Z.id)||[...W].some(Ye=>String(Ye)===String(Z.id)):String(Z.id)===String(W));return t.jsx(Bo,{className:`${Se?" table-row--clickable":""}${c?" table-row--draggable":""}${pe?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:Se?()=>s(Z):void 0,colSpan:e.length||void 0,rowHasButton:r(Z).some(Ye=>!!Ye.rowLabel),describedBy:Q,onMouseEnter:l?Ye=>l(Z,Ye):void 0,onMouseLeave:u?Ye=>u(Z,Ye):void 0,onDragStart:c?Ye=>c(Z,Ye):void 0,onDragEnd:d?Ye=>d(Z,Ye):void 0,expandedContent:it&&$?$(Z):void 0,children:r(Z).map((Ye,xt)=>t.jsx(_y,{className:Ye.className,style:Ye.style,rowLabel:Se?Ye.rowLabel:void 0,onRowClick:Se?()=>s(Z):void 0,children:Ye.content},xt))},Z.id!=null?`${typeof Z.id}:${Z.id}`:`__idx:${re}`)})})]})]})]})}function lu(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const sa=e=>e==null?"":String(e).trim();function ko(e,n,a){const r=[sa(e),sa(n),sa(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function Ay(e,n,a){const r=sa(e);return r?`${r}-${sa(n).padStart(2,"0")}-${sa(a).padStart(2,"0")}`:""}const ky={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function Ny(e,n){const a=ky[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}function uu(e,n){return n!=="wornAt"?String(e[n]??""):Ay(e.wornYear,e.wornMonth,e.wornDay)}function Dy({rows:e,loading:n,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:u}=ve.useTranslation(),c=f=>f==="\uC88C"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:d,\uCE78:m}=ob(),p=o.useMemo(()=>{if(!d)return e;const{key:f,asc:y}=d;return[...e].sort((_,C)=>{if(f==="worn"){const B=Number(C.worn)-Number(_.worn);return y?B:-B}return ro(uu(_,f),uu(C,f),y)})},[e,d]),{pageRows:h,pageSizeProps:b,paginationProps:v}=rb(p,d);return t.jsxs("div",{className:"dlp-side-table",children:[t.jsx(fo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:b,pagination:v,actions:l&&t.jsx(me,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),t.jsx(Ao,{loading:n,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...m(u("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},m(u("device.direction.label","\uBC29\uD5A5"),"side"),m(u("device.deviceType","\uC885\uB958"),"device"),m(u("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),m(u("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),m(u("device.productName","\uC81C\uD488\uBA85"),"productName"),m(u("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:h.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(ql,{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:c(f.side)})},{content:f.device?t.jsx(At,{size:"small",variant:lu(f.device),fill:"soft",label:Ny(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:ko(f.wornYear,f.wornMonth,f.wornDay)||"-"})},...r?[{content:t.jsx("span",{className:"dlp-row-actions",children:t.jsx(me,{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 cu(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 Ey(e,n){return new Date(e,n+1,0).getDate()}function Sy(e,n){return new Date(e,n,1).getDay()}function jy({visits:e=[],onVisitClick:n,onVisitMove:a,onDayClick:r,today:s}){const{t:i,i18n:l}=ve.useTranslation(),u=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Wr(s),[d,m]=o.useState(()=>Number(c.slice(0,4))),[p,h]=o.useState(()=>Number(c.slice(5,7))-1),[b,v]=o.useState(null),f=o.useRef(null),y=o.useMemo(()=>{const x={};return e.forEach(A=>{x[A.date]||(x[A.date]=[]),x[A.date].push(A)}),x},[e]),_=o.useMemo(()=>{const x=Ey(d,p),A=Sy(d,p),k=[];for(let N=0;N<A;N++)k.push(null);for(let N=1;N<=x;N++)k.push(N);for(;k.length<35;)k.push(null);return k},[d,p]),C=o.useCallback(()=>{p===0?(m(x=>x-1),h(11)):h(x=>x-1)},[p]),B=o.useCallback(()=>{p===11?(m(x=>x+1),h(0)):h(x=>x+1)},[p]),g=x=>`${d}-${String(p+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,w=x=>g(x)===c;return t.jsxs("div",{children:[t.jsxs("div",{className:"calendar-nav",children:[t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:C,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:t.jsx(Qe,{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:d,month:p+1})}),t.jsx("button",{type:"button",className:"calendar-nav__button",onClick:B,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:t.jsx(Qe,{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)),_.map((x,A)=>{if(x===null)return t.jsx("div",{className:"calendar-cell empty"},`empty-${A}`);const k=x,N=g(k),E=y[N]??[],S=HC(N,l.language),I=b===N;return t.jsxs("div",{className:`calendar-cell${w(k)?" today":""}${I?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:N}):void 0,"aria-current":w(k)?"date":void 0,onClick:r?()=>r(N):void 0,onKeyDown:r?$=>{$.target===$.currentTarget&&($.key!=="Enter"&&$.key!==" "||($.preventDefault(),r(N)))}:void 0,onDragOver:a?$=>{$.preventDefault(),v(N)}:void 0,onDragLeave:a?$=>{$.currentTarget.contains($.relatedTarget)||v(null)}:void 0,onDrop:a?$=>{$.preventDefault(),f.current!=null&&(a(f.current,N),f.current=null),v(null)}:void 0,children:[t.jsx("div",{className:"calendar-cell__number body-3",children:k}),E.length>0&&(()=>{const $=[{key:"visited",\uB9D0:i("calendar.legend.visited","\uBC29\uBB38"),\uC218:E.filter(j=>(j.status??"visited")==="visited").length},{key:"scheduled",\uB9D0:i("calendar.legend.scheduled","\uC608\uC57D"),\uC218:E.filter(j=>j.status==="scheduled").length},{key:"noVisit",\uB9D0:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38"),\uC218:E.filter(j=>j.status==="noVisit").length}].filter(j=>j.\uC218>0),W=$.length===1&&$[0].key==="visited"?i("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"}):$.map(j=>i("calendar.statusCount",{label:j.\uB9D0,count:j.\uC218,defaultValue:"{{label}} {{count}}\uAC74"})).join(" \xB7 ");return t.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${S} ${W}`,children:[$.map(j=>t.jsx("span",{className:`calendar-cell__visit-dot calendar-cell__visit-dot--${j.key}`,"aria-hidden":"true"},j.key)),E.length]})})(),t.jsx("div",{className:"calendar-cell__badges",children:E.map(($,W)=>t.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${$.status==="noVisit"?" calendar-visit-badge--no-visit":$.status==="scheduled"?" calendar-visit-badge--scheduled":""}${n?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?j=>{f.current=$.id,j.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{f.current=null,v(null)}:void 0,onClick:n?j=>{j.stopPropagation(),n($)}:void 0,...cu(n?()=>n($):void 0),"aria-label":[S,$.time?hi($.time,i):null,$.customer,i($.status==="noVisit"?"calendar.legend.noVisit":$.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[$.time&&t.jsx("span",{className:"calendar-visit-badge__time body-3",children:hi($.time,i)}),t.jsx("span",{className:"calendar-visit-badge__name body-3",children:$.customer}),$.status==="noVisit"&&t.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},$.id??W))})]},k)})]})]})}const Ty={page:"h3",pagePopup:"h4",popup:"h5"};function ia({type:e="page",title:n,headingLevel:a=2,icon:r,action:s,disc:i,children:l,inGrid:u=!1,className:c,style:d}){const m=Ty[e],p=n||i||s||r,h=a?`h${a}`:"div";return t.jsxs("div",{className:Be("section",`section--${e}`,u&&"section--in-grid",c),style:d,children:[p&&t.jsxs("div",{className:"section__header",children:[t.jsxs("div",{className:"section__title-row",children:[r&&t.jsx(Qe,{icon:r,label:typeof n=="string"?n:void 0,className:"section__icon"}),t.jsxs("div",{className:"section__title-group",children:[n&&t.jsx(h,{className:`section__title ${m}`,children:n}),i&&t.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&t.jsx("div",{className:"section__action",children:s})]}),l]})}let No=null,du=!1;function pu(){if(du||typeof document>"u")return;du=!0,document.addEventListener("keydown",n=>{n.metaKey||n.ctrlKey||n.altKey||(No="keyboard")},!0);const e=()=>{No="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}pu();function or(){return pu(),No==="keyboard"}const sr=20;function My(e){const{t:n}=ve.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:u,onItemComplete:c,size:d,useDescriptionTooltip:m,onRemove:p,onMore:h,sectionType:b="page"}=e||{},[,v]=o.useState(0),f=typeof r<"u"?Array.isArray(r)?r:[]:[],y=f.length,[_,C]=o.useState(Math.min(y,sr)),B=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{C(Math.min(y,sr))},[y]),rl("speechear.data.updated",()=>v(A=>A+1));const g=o.useRef(null),w=o.useRef(null);function x(){const A=document.activeElement;w.current=or()&&A&&A.closest?.(".training-block__more")?_:null,C(k=>Math.min(y,k+sr))}return o.useEffect(()=>{const A=w.current;if(A==null)return;w.current=null;const k=document.activeElement;k&&k!==document.body||g.current?.querySelectorAll(".training-block-button")[A]?.focus()},[_]),t.jsxs(ia,{type:b,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[t.jsx("div",{className:"training-list",ref:g,children:(f||[]).slice(0,_).map((A,k)=>{const N=A;return t.jsx(mo,{index:k,type:a,trainingData:N,depth:B,renderPopup:i,completedIds:l,selectedIds:u,size:d,useDescriptionTooltip:m,onRemove:typeof p=="function"&&u!=null&&N?.id!=null&&u.has(String(N.id))?()=>p(N):void 0,onComplete:typeof c=="function"&&N?.id!=null?()=>c(String(N.id)):void 0,onMore:typeof h=="function"?E=>h(N,E):void 0},N?.id!=null?`${a?.key||"t"}-${String(N.id)}`:`${a?.key||"t"}-${k}`)})}),y>sr&&_<y&&t.jsx("div",{className:"training-block__more",children:t.jsx(me,{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 Do(e){const n=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const c=n.current;r(!!e&&!(c?.complete&&c.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 Ly='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 $y=Ly,Eo=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:c=!1,orderRank:d=null},m){const{t:p}=ve.useTranslation(),h=e.word||e.title||"",b=n||!h,v=e.audio??e.sound??e.audioKey,f=e.subLabel||e.pronunciation||"",y=e.colloquialLabel||"",[_,C]=o.useState({label:h,subLabel:f,colloquialLabel:y,homonum:e.homonum});h&&(_.label!==h||_.subLabel!==f||_.colloquialLabel!==y||!Object.is(_.homonum,e.homonum))&&C({label:h,subLabel:f,colloquialLabel:y,homonum:e.homonum});const B=o.useRef(null),g=rn("(max-width: 767px)"),[w,x]=o.useState(!1),A=`${typeof v=="string"?v:v?.src??""}\0${h}`,[k,N]=o.useState({for:"",url:""}),E=k.for===A?k.url:"",S=ii(),I=e.textOnly??(!e.image&&!!_.label&&!!S&&S.entries.length>0&&!S.byWord.has(_.label)),$=I?"":Jn()?.(_.label,_.homonum)??e.image??"",{imgRef:W,loading:j,hasImage:M,onLoad:H,onError:Q}=Do($);o.useEffect(()=>{let R=!1;return(async()=>{if(v){if(typeof v=="string"){if(v.startsWith("http")||v.includes("/")){N({for:A,url:v});return}}else if(typeof v=="object"&&!Array.isArray(v)){const X=v.src;if(X){N({for:A,url:X});return}}}const z=$r();if(z&&h)try{const X=await Promise.resolve(z(h));!R&&X&&N({for:A,url:X})}catch{}})(),()=>{R=!0}},[v,h,A]);const te=o.useRef(!0),V=o.useRef(null);o.useEffect(()=>(te.current=!0,()=>{te.current=!1,V.current&&tr(V.current),V.current=null;try{B.current?.pause()}catch{}B.current=null}),[]);const U=o.useCallback(()=>new Promise(R=>{if(typeof window<"u"&&window.speechSynthesis&&h){x(!0),window.speechSynthesis.cancel();const z=new SpeechSynthesisUtterance(h);z.lang="ko-KR",z.onend=()=>{x(!1);try{a?.()}catch{}R()},z.onerror=()=>{x(!1),R()},window.speechSynthesis.speak(z)}else R()}),[h,a]),P=o.useCallback(R=>new Promise(z=>{let X=!1;const K=()=>{X||(X=!0,x(!1),z(!1))};try{const Y=new Audio(R);B.current=Y,Y.onended=()=>{if(!X){X=!0,x(!1);try{a?.()}catch{}z(!0)}},Y.onerror=K,Y.play().catch(K)}catch{K()}}),[a]),F=o.useCallback(async()=>{if(n||!te.current)return;const R=()=>{V.current===R&&(V.current=null);try{B.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},z=er(R);V.current=R;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await P(E)))return;const X=oC();if(X&&h)try{const K=await Promise.resolve(X(h));if(!te.current||V.current!==R||K&&(x(!0),await P(K)))return}catch{}if(!te.current||V.current!==R)return;await U()}finally{z(),V.current===R&&(V.current=null)}},[n,E,h,P,U]);o.useImperativeHandle(m,()=>({play:()=>F()}),[F]);const D=R=>R.stopPropagation(),O=o.useCallback(R=>{if(R.stopPropagation(),!n){if(w){try{B.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}F()}},[n,w,F]),L=Be("training-word-card",n?"training-word-card--disabled":"",b?"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?R=>{R.target===R.currentTarget&&(R.key==="Enter"||R.key===" "||R.key==="Spacebar")&&(R.preventDefault(),i?.())}:void 0,children:t.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:b?"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(At,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?p("training.nthSelected",{n:d}):p("training.selected","\uC120\uD0DD\uB428")})}),t.jsx("div",{className:"training-word-card__image-wrap",children:I?t.jsx("div",{className:"training-word-card__text-face",children:_.label}):M?t.jsxs(t.Fragment,{children:[j&&t.jsx("div",{className:"training-word-card__spinner"}),t.jsx("img",{ref:W,className:"training-word-card__image",src:$,alt:_.label||p("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:j?0:1},onLoad:H,onError:Q})]}):t.jsx("div",{className:"training-word-card__placeholder"})}),!u&&t.jsxs("div",{className:"training-word-card__body",children:[!I&&t.jsx("div",{className:"training-word-card__word",children:_.label}),_.subLabel&&t.jsxs("div",{className:"training-word-card__pronunciation",children:["[",_.subLabel,"]"]}),_.colloquialLabel&&t.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",_.colloquialLabel,"]"]})]}),!c&&t.jsx("div",{className:"training-word-card__bottom",onClick:r?D:void 0,children:t.jsx(me,{htmlType:"button",size:g?40:48,type:g?"dot":"bar",icon:w?"pause":"play",label:g?void 0:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:w,onClick:O,disabled:n,ariaLabel:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),t.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:t.jsx("img",{src:$y,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),Ry=260;function Mn(e){const{t:n}=ve.useTranslation(),{title:a,subtitle:r,headerActions:s,headerSegment:i,children:l,buttons:u,footer:c,footerStart:d,footerEnd:m,footerClassName:p="",footerLayout:h="center",onClose:b,closeDisabled:v=!1,beforeClose:f,closeOnBackdrop:y=!0,className:_="",ariaLabel:C,useTitle:B=!0,inline:g=!1,size:w,layer:x="modal",height:A,fillBody:k=!1,resetScrollKey:N}=e||{},[E,S]=o.useState(!1),I=o.useRef(!1),$=o.useRef(null),W=o.useId(),j=o.useRef(null);o.useEffect(()=>{},[g,a,C,_]),o.useEffect(()=>{N!==void 0&&j.current&&(j.current.scrollTop=0)},[N]);const[M,H]=o.useState(!1);o.useEffect(()=>{const Y=j.current;if(!Y)return;const ae=()=>H(Y.scrollHeight>Y.clientHeight+1);if(ae(),typeof ResizeObserver>"u")return;const le=new ResizeObserver(ae);le.observe(Y);const se=Y.firstElementChild;return se&&le.observe(se),()=>le.disconnect()},[l,N]),o.useEffect(()=>{if(!g)return Fl()},[g]),o.useEffect(()=>{if(g)return;const Y=document.activeElement,ae=$.current;return Yr(ae,Y),ae&&!ae.contains(document.activeElement)&&(ae.querySelector(hn)??ae).focus(),()=>{const le=document.activeElement;(!le||le===document.body||ae&&ae.contains(le))&&Zr(Y)?.focus?.()}},[g]),Gr($,!g);const Q=o.useRef(!0),te=Xr(),V=o.useRef(null);o.useEffect(()=>(Q.current=!0,()=>{Q.current=!1,V.current&&(clearTimeout(V.current),V.current=null)}),[]);const U=o.useCallback(()=>{!Q.current||!I.current||(I.current=!1,S(!1))},[]),P=o.useCallback((Y,ae=!1)=>{if(ae&&!Q.current||I.current)return;I.current=!0,S(!0);const le=setTimeout(()=>{V.current===le&&(V.current=null);let se;try{se=Y?Y():void 0}catch{U();return}se&&typeof se.then=="function"&&se.then(()=>{setTimeout(U,120)},U)},te?0:Ry);ae&&(V.current=le)},[U,te]),F=o.useCallback(()=>{v||f&&f()===!1||P(b,!0)},[P,b,v,f]),D=o.useRef(F);o.useEffect(()=>{D.current=F});const O=!g&&!!b;o.useEffect(()=>{if(O)return Vn(()=>D.current())},[O]);const L=O&&y,R=o.useRef(!1),z=Y=>{R.current=Y.target===Y.currentTarget},X=Y=>{const ae=R.current;R.current=!1,ae&&Y.target===Y.currentTarget&&F()},K=t.jsx("div",{className:`popup ${g?"popup--inline":""} ${x==="belowPagePopup"?"popup--below-page-popup":""} ${E?"popup--closing":""} ${_}`,onPointerDown:L?z:void 0,onClick:L?X:void 0,onMouseDown:g?void 0:Y=>{Y.target===Y.currentTarget&&Y.preventDefault()},children:t.jsxs("div",{ref:$,className:`popup-panel${w?` popup-panel--${w}`:""}${A!=null?" popup-panel--has-height":""}${k?" popup-panel--fill-body":""}`,style:A!=null?{"--popup-height":typeof A=="number"?`${A}px`:A}:void 0,tabIndex:-1,role:g?void 0:"dialog","aria-modal":g?void 0:!0,"aria-labelledby":!g&&B&&a?W:void 0,"aria-label":!g&&!(B&&a)?C??(typeof a=="string"?a:void 0):void 0,children:[!B&&(s||b)?t.jsxs("div",{className:"popup-close-float",children:[s,b&&t.jsx(me,{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||b?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:W,className:"popup-title popup-title--left h2",children:a}):t.jsx("span",{id:W,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(Y=>({key:Y.key,label:Y.label,disabled:Y.disabled})),value:i.value,onChange:i.onChange})}),t.jsxs("div",{className:"popup-header-actions",children:[s,b&&t.jsx(me,{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})}),d||m?t.jsxs("div",{className:`popup-footer popup-footer--bar${p?` ${p}`:""}`,children:[t.jsx("div",{className:"popup-footer__start",children:typeof d=="function"?d({animateThen:P,closeWithAnimation:F}):d}),t.jsx("div",{className:"popup-footer__end",children:typeof m=="function"?m({animateThen:P,closeWithAnimation:F}):m})]}):u?.length?t.jsx("div",{className:`popup-footer popup-footer--buttons${h!=="center"?` popup-footer--${h}`:""}`,children:u.map((Y,ae)=>t.jsx(me,{htmlType:"button",size:48,variant:Y.variant??"default",label:Y.label,disabled:Y.disabled,onClick:()=>Y.onClick?.({animateThen:P,closeWithAnimation:F})},ae))}):c?t.jsx("div",{className:`popup-footer${h!=="center"?` popup-footer--${h}`:""}${p?` ${p}`:""}`,children:typeof c=="function"?c({animateThen:P,closeWithAnimation:F}):c}):null]})});return g||typeof document>"u"?K:Qt.createPortal(K,document.body)}function ir(e){return String(e)}const lr=["o","triangle","x"];function mu(e,n){return e===n?null:n}const hu={o:"circle",triangle:"triangle",x:"x"},Cu={o:"main",triangle:"warn",x:"danger"};function Py(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 So(e){const n={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(n[a]=r);return n}function fu(e){const n=[];let a=0;for(const r of e)n.push(a),a+=r;return n}function Iy(e,n){return!n&&e>0}const la={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 Fy(e="landscape"){an("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}=la[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 gu(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 Oy={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 Hy(e,n){const a=Oy[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 zy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},bu={\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"},yu={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function jo(e,n){return e?e.split("/").map(a=>n[a]??a).join("/"):""}function vu(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 c="#ddd",d=b=>`repeating-linear-gradient(to ${b}, ${c} 0, ${c} 5px, transparent 5px, transparent 10px)`,m=[],p=[],h=[];return l&&(m.push(d("bottom")),p.push("1px 100%"),h.push("right center")),u&&(m.push(d("right")),p.push("100% 1px"),h.push("center bottom")),{backgroundImage:m.join(", "),backgroundSize:p.join(", "),backgroundPosition:h.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const Vy=280,Wy=240,qy=280,Uy=400,Gy=120,Ky=280;function xu(e,n){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),u=o.useCallback((c,d)=>{if(!(c>0))return;const m=c/e,p=n&&d>0?d/n:1/0,h=Math.min(1,m,p);s(h),l(Math.max(0,(c-e*h)/2))},[e,n]);return o.useEffect(()=>{const c=a.current;if(!c)return;const d=n?c.parentElement??c:c;if(u(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const m=new ResizeObserver(([p])=>u(p.contentRect.width,p.contentRect.height));return m.observe(d),()=>m.disconnect()},[u,n]),{scalerRef:a,scale:r,offset:i}}const Yy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Zy=400,_u=8;function wu({label:e,subLabel:n,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:c=40,wordInfo:d}){const{t:m}=ve.useTranslation(),p=o.useRef(null),h=o.useRef(null),b=o.useRef(null),[v,f]=o.useState(1),[y,_]=o.useState(!1),[C,B]=o.useState({for:"",url:""}),[g,w]=o.useState(null),x=n&&n.length>0?n:iC()?.(e,r)??"",A=Jn()?.(e,r)??"",{imgRef:k,loading:N,failed:E,onLoad:S,onError:I}=Do(A),$=o.useCallback(()=>w(h.current?.getBoundingClientRect()??null),[]),W=o.useCallback(()=>w(null),[]),j=Qr(!!g,O=>{O?$():W()},h),M=o.useMemo(()=>{if(!d)return null;const O=[];return d.grade&&O.push(m("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&O.push(m("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&O.push(m("wordTable.info.pos",{v:jo(d.pos,Xy(m)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&O.push(m("wordTable.info.wordType",{v:jo(d.wordType,Jy(m)),defaultValue:"\uC720\uD615: {{v}}"})),O.length?O:null},[d,m]),H=x||e,Q=C.for===H?C.url:"";o.useEffect(()=>{const O=$r(),L=x||e;if(!O||!L)return;let R=!1;return Promise.resolve(O(L)).then(z=>{!R&&z&&B({for:L,url:z})}),()=>{R=!0}},[x,e]);const te=o.useRef(null),V=o.useRef(null);o.useEffect(()=>()=>{b.current?.pause(),V.current?.()},[]);const U=o.useCallback(async O=>{if(O.stopPropagation(),y){te.current?.();return}if(Q){_(!0);try{const L=new Audio(Q);b.current=L;const R=()=>{_(!1),V.current?.()},z=()=>{L.pause(),R()};te.current=z;const X=er(z);V.current=X,L.onended=R,L.onerror=R,await L.play()}catch{_(!1),V.current?.()}}},[y,Q]),P=i&&!!A&&!E,F=P&&s?Vy:P?qy:Wy,D=P&&s?Uy:P?Ky:Gy;return o.useEffect(()=>{const O=p.current;if(!O||typeof ResizeObserver>"u")return;const L=new ResizeObserver(([R])=>{const{width:z,height:X}=R.contentRect;f(Math.min(z/F,X/D))});return L.observe(O),()=>L.disconnect()},[F,D]),t.jsxs("div",{ref:p,className:Be("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:[N&&t.jsx("div",{className:"word-table-cell__spinner"}),t.jsx("img",{ref:k,className:"word-table-cell__image",src:A,alt:e,draggable:!1,style:{opacity:N?0:1},onLoad:S,onError:I})]}),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":Q,children:[t.jsx("span",{"data-play-state":"play",style:{display:y?"none":void 0},children:t.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:m("common.play","\uC7AC\uC0DD"),ariaLabel:e?m("common.playFor",{name:e,defaultValue:`${e} \uC7AC\uC0DD`}):m("common.play","\uC7AC\uC0DD"),onClick:U})}),t.jsx("span",{"data-play-state":"pause",style:{display:y?void 0:"none"},children:t.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:m("common.pause","\uBA48\uCDA4"),ariaLabel:e?m("common.pauseFor",{name:e,defaultValue:`${e} \uBA48\uCDA4`}):m("common.pause","\uBA48\uCDA4"),onClick:U})})]}),d&&t.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:O=>{na(O)||$()},onPointerLeave:O=>{na(O)||W()},onFocus:()=>{aa()||$()},onBlur:W,children:[t.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:m("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:O=>{O.stopPropagation(),j.touchPress()}}),g&&M&&t.jsx(Wn,{anchorRect:g,items:M,showIndex:!1})]})]})}const Bu={\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"},Au={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Xy(e){return Object.fromEntries(Object.entries(bu).map(([n,a])=>[n,Bu[n]?e(`wordTable.pos.${Bu[n]}`,{defaultValue:a}):a]))}function Jy(e){return Object.fromEntries(Object.entries(yu).map(([n,a])=>[n,Au[n]?e(`wordSearch.filter.type.${Au[n]}`,{defaultValue:a}):a]))}function ua({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:c=!0,items:d,editCells:m,count:p,activeCell:h=null,onActivateCell:b,onRemoveCell:v,onRemoveItem:f,onReorder:y,renderCellAction:_,showFillerAdd:C=!1,contentRef:B,buttonSize:g=40,brand:w,code:x,pageNumber:A,pageNumberPosition:k="right",fitHeight:N=!1,scoring:E=!1,marks:S,onMarkClick:I,scoreIndexOffset:$=0}){const W=o.useCallback((Z,re)=>{I?.($+Z,re)},[I,$]),j=(Z,re)=>{const pe=S?.[ir($+Z)]??null;return t.jsx("div",{className:Be("word-table-cell__score",pe?"word-table-cell__score--marked":""),style:Ie>1?{transform:`translateX(-50%) scale(${Ie})`,transformOrigin:"bottom center"}:void 0,children:lr.map(Se=>t.jsx("span",{className:Be("word-table-cell__score-slot",pe===Se?"word-table-cell__score-slot--on":""),children:t.jsx(me,{htmlType:"button",size:g,type:"dot",shape:"pill",icon:hu[Se],variant:pe===Se?Cu[Se]:"default",selected:pe===Se,useBorder:!1,...Ae?{}:{tabIndex:-1,role:"img"},showTooltipInfo:M(`wordTable.scoring.markName.${Se}`,{defaultValue:Se}),ariaLabel:M(`wordTable.scoring.${Se}`,{word:re,defaultValue:`${re} ${Se}`}),onClick:Ae?it=>{it.stopPropagation(),W(Z,Se)}:void 0})},Se))})},{t:M}=ve.useTranslation(),H=m!==void 0,Q=e!=null||!!n||!!a,te=rn("(max-width: 767px)"),V=o.useRef(null),[U,P]=o.useState(null),F=d?.length??0,[D,O]=o.useState(null),[L,R]=o.useState(""),z=o.useRef(null),X=o.useRef(null),K=o.useRef(null),Y=o.useRef(null),ae=o.useCallback(Z=>{X.current=Z,typeof B=="function"?B(Z):B&&(B.current=Z)},[B]),le=o.useCallback((Z,re)=>{z.current=re,y?.(Z,re),R(M("wordTable.reorder.moved",{n:re+1,total:F,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[y,M,F]);o.useEffect(()=>{const Z=z.current;Z!=null&&(z.current=null,X.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[Z]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{Y.current?.()},[]);const se=o.useCallback((Z,re)=>{if(!y||!Z.altKey||Z.ctrlKey||Z.metaKey)return;const pe=Z.key==="ArrowRight";if(!pe&&Z.key!=="ArrowLeft")return;Z.preventDefault();const Se=re+(pe?1:-1);Se<0||Se>=F||le(re,Se)},[y,F,le]),ke=o.useCallback((Z,re)=>{if(!y||Z.pointerType==="mouse")return;const pe=Z.target.closest?.("button");if(pe&&!pe.closest(".word-table-block__card-handle"))return;Y.current?.();const Se={x:Z.clientX,y:Z.clientY};let it=!1;const Ye=et=>{it&&et.cancelable&&et.preventDefault()},xt=et=>{if(!it){(Math.abs(et.clientX-Se.x)>_u||Math.abs(et.clientY-Se.y)>_u)&&tt();return}const nt=document.elementFromPoint?.(et.clientX,et.clientY)?.closest?.("[data-wordtable-cell]"),$e=nt?Number(nt.dataset.wordtableCell):NaN,Ge=Number.isInteger($e)?$e:null;K.current=Ge,P(Ge)},bt=()=>{const et=K.current,nt=it;tt(),nt&&et!=null&&et!==re&&le(re,et)},ut=setTimeout(()=>{it=!0,O(re),K.current=re,P(re),window.addEventListener("touchmove",Ye,{passive:!1})},Zy);function tt(){clearTimeout(ut),window.removeEventListener("pointermove",xt),window.removeEventListener("pointerup",bt),window.removeEventListener("pointercancel",bt),window.removeEventListener("touchmove",Ye),it=!1,K.current=null,Y.current=null,O(null),P(null)}Y.current=tt,window.addEventListener("pointermove",xt),window.addEventListener("pointerup",bt),window.addEventListener("pointercancel",bt)},[y,le]),{width:q,height:ne}=la[s],fe=typeof N=="number"?N:N&&typeof N=="object"?te?N.narrow:N.wide:null,{scalerRef:xe,scale:he,offset:ie}=xu(q,N?ne:void 0),ce=H?m?.length??0:d?.length??0,ue=Math.max(p??ce,1),{cols:ge,rows:Ne}=Hy(s,ue),De={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")},Ke=H?(m??[]).some(Z=>Z!==null&&Z.length>1):(d??[]).some(Z=>(Z.words??[]).length>1),ze=!!w?.show,qe=!!w?.show&&w?.top!==!1,He=!!w?.show&&w?.bottom!==!1,dt=w?.copyright??"\xA9 IHAB, Inc. All rights reserved.",ot=Be("word-table-block__content",zy[l],u&&"word-table-block__content--outline",c&&Ke&&"word-table-block__content--div-line",!ze&&A&&k!=="none"&&"word-table-block__content--page-number",qe&&"word-table-block__content--brand-top",He&&"word-table-block__content--brand-bottom"),st={transform:`scale(${1/he})`,transformOrigin:"center center"},ht=g*lr.length+4*(lr.length-1),Ae=!!I,Ie=Ae?Math.max(1,Math.min(1/he,q/ge/ht)):1,we=t.jsxs("div",{ref:xe,className:"word-table__scaler",style:{height:ne*he},children:[t.jsx("div",{className:Be("word-table",E&&!Ae&&"word-table--score-readonly",!Q&&r),style:{width:q,height:ne,transform:`scale(${he})`,transformOrigin:"top left",marginLeft:ie},children:t.jsxs("div",{ref:ae,className:ot,style:{gridTemplateColumns:`repeat(${ge}, 1fr)`,gridTemplateRows:`repeat(${Ne}, 1fr)`},children:[H?t.jsx(t.Fragment,{children:(m??[]).map((Z,re)=>t.jsx("div",{className:Be("word-table-block__edit-cell",Z?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===re?"word-table-block__edit-cell--active":""),style:vu(re,ge,Ne,l),children:Z?t.jsxs(t.Fragment,{children:[Z.map((pe,Se)=>t.jsxs(o.Fragment,{children:[Se>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(wu,{label:pe.word,subLabel:pe.pronunciation,colloquialLabel:pe.colloquialPronunciation,homonum:pe.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:g})]},Se)),E&&j(re,Z.map(pe=>pe.word).join(" / ")),v&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(me,{htmlType:"button",size:g,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:Z.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:Z.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>v(re)})})]}):b&&t.jsx("div",{style:st,children:t.jsx(me,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b(re)})})},re))}):t.jsxs(t.Fragment,{children:[(d??[]).map((Z,re)=>t.jsxs("div",{"data-wordtable-cell":y?re:void 0,className:`word-table-block__card${y?" word-table-block__card--draggable":""}${U===re?" word-table-block__card--drag-over":""}${D===re?" word-table-block__card--dragging":""}`,style:vu(re,ge,Ne,l),draggable:!!y,onPointerDown:y?pe=>ke(pe,re):void 0,onKeyDown:y?pe=>se(pe,re):void 0,onDragStart:y?()=>{V.current=re}:void 0,onDragOver:y?pe=>{pe.preventDefault(),P(re)}:void 0,onDragLeave:y?()=>P(null):void 0,onDrop:y?pe=>{pe.preventDefault(),V.current!==null&&V.current!==re&&y(V.current,re),V.current=null,P(null)}:void 0,onDragEnd:y?()=>{V.current=null,P(null)}:void 0,children:[(Z.words??[]).map((pe,Se)=>t.jsxs(o.Fragment,{children:[Se>0&&t.jsx("div",{className:"word-table-block__pair-divider"}),t.jsx(wu,{label:pe.label,subLabel:pe.subLabel,colloquialLabel:pe.colloquialLabel,homonum:pe.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:g,wordInfo:pe.grade||pe.syllables!=null||pe.pos||pe.wordType?{grade:pe.grade,syllables:pe.syllables,pos:pe.pos,wordType:pe.wordType}:void 0})]},Se)),E&&j(re,(Z.words??[]).map(pe=>pe.label).join(" / ")),y&&t.jsx("div",{className:"word-table-block__card-handle",children:t.jsx(me,{htmlType:"button",size:g,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:(Z.words??[]).map(pe=>pe.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(_||f)&&t.jsxs("div",{className:"word-table-block__card-actions",children:[_?.(re,Z),f&&t.jsx("div",{className:"word-table-block__card-close",children:t.jsx(me,{htmlType:"button",size:g,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(Z.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(Z.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(Z.id)})})]})]},Z.id)),Array.from({length:Math.max(0,ge*Ne-(d?.length??0))}).map((Z,re)=>{const pe=(d?.length??0)+re<ue;return t.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:C&&b&&pe&&t.jsx("div",{style:st,children:t.jsx(me,{htmlType:"button",size:g,type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b((d?.length??0)+re)})})},`filler-${re}`)})]}),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:w?.topLogo?.src??Qa,alt:w?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const Z=[w?.title&&t.jsx("span",{className:"word-table__paper-title",children:w.title},"t"),w?.owner&&t.jsx("span",{className:"word-table__owner",children:w.owner},"o"),x&&t.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return Z.length===0?null:t.jsx("span",{className:"word-table__ident",children:Z.map((re,pe)=>t.jsxs(o.Fragment,{children:[pe>0&&t.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),re]},pe))})})()]})}),He&&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:[w?.bottomLogo?t.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:w.bottomLogo.src,alt:w.bottomLogo.alt}):t.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),t.jsx("span",{className:"word-table__copyright",children:dt})]}),t.jsxs("span",{className:"word-table__band-end",children:[w?.link&&t.jsx("span",{className:"word-table__link",children:w.link}),A&&k!=="none"&&t.jsx("span",{className:"word-table__page-count",children:M("wordTable.filter.pageIndicator",{current:A.current,total:A.total})})]})]})}),!ze&&A&&k!=="none"&&t.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:M("wordTable.filter.pageIndicator",{current:A.current,total:A.total})})]})}),y&&t.jsx("span",{role:"status",style:Yy,children:L})]}),rt=fe==null?we:t.jsx("div",{className:"word-table__frame",style:{height:fe},children:we});return Q?t.jsx(ia,{type:"page",icon:n,title:e,disc:a,className:Be("word-table-block",r),children:rt}):rt}function Qy(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=e5(s,n?.[s.label],a);l!==null&&r.push(`${i} ${l}`)}return r.join(" \xB7 ")}function e5(e,n,a){const r=(Array.isArray(n)?n:n===void 0?[]:[n]).filter(s=>s!==un);return r.length===0?e.allOption?e.allLabel??a:null:r.map(s=>t5(e,s)).join(", ")}function t5(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 Nn({title:e,titleLevel:n=2,headerAction:a,headerSummary:r,collapsible:s=!1,defaultCollapsed:i=!1,collapsed:l,onCollapsedChange:u,footer:c,sections:d,selected:m={},onSelect:p,align:h,sectionAlign:b,className:v}){const f=(h??(b==="vertical"?"newline":"inline"))==="inline",{t:y}=ve.useTranslation(),[_,C]=o.useState(i),B=l??_,g=()=>{const S=!B;C(S),u?.(S)},w=S=>{if(!s)return;const I=S.target;!I||typeof I.closest!="function"||I.closest(".filter-panel__collapse-toggle")||I.closest('button, a, input, select, textarea, label, [role="radiogroup"], [role="button"], [role="menu"]')||g()},x=o.useMemo(()=>r!==void 0||!B?"":Qy(d,m,y("common.all","\uC804\uCCB4")),[r,B,d,m,y]),A=r??(x?t.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),k=e||a||r||s,N=o.useId(),E=n?`h${n}`:"span";return t.jsxs("div",{className:Be("filter-panel",s?"filter-panel--collapsible":"",B?"filter-panel--collapsed":"",v),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?N:void 0,children:[k&&t.jsxs("div",{className:"filter-panel__header",onClick:s?w:void 0,children:[t.jsx("div",{className:"filter-panel__title-row",children:e&&t.jsx(E,{id:N,className:"filter-panel__title h4",children:e})}),t.jsxs("div",{className:"filter-panel__header-actions",children:[B?A:a,s&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:B?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:B?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),"aria-expanded":!B,onClick:g})]})]}),!B&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Be("filter-panel__sections",f?"filter-panel__sections--row":""),children:d.map(S=>{const I=m[S.label],$=I===void 0||(Array.isArray(I)?I.length===0:!1),W=(S.items??[]).filter(M=>M!=null);S.allOption&&W.some(M=>(typeof M=="string"?M:M.value)===un)&&an(`filter-panel-all-value:${S.label}`,`[FilterPanel] '${S.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${un}' \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 H=typeof M=="string"?M:M.value,Q=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(I)?I.includes(H):I===H;return t.jsx(me,{htmlType:"button",size:"keyboard",label:te??V??H,type:S.itemType??(te?"bar":H.length===1?"dot":void 0),selected:D,disabled:Q,shape:F,showTooltipInfo:!!U,tooltipInfoText:U,tooltipDescription:P,onClick:()=>p?.(H,S.label)},H)};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:Be("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(Sa,{...S.labelInfo}):null)]}),S.type==="note"?t.jsx("div",{className:"filter-panel__note body-3",children:S.content}):S.type==="input"?t.jsx(Gn,{className:"filter-panel__textfield",placeholder:S.placeholder,ariaLabel:S.displayLabel??S.label,value:m[S.label]??"",onChange:M=>p?.(M,S.label),error:S.error}):!S.multiple&&S.display==="segmented"?t.jsx(An,{ariaLabel:S.displayLabel??S.label,options:[...S.allOption?[{key:un,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...W.map(M=>{const H=typeof M=="string"?M:M.value,Q=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{key:H,label:Q??H,disabled:te}})],value:$&&S.allOption?un:m[S.label]??"",onChange:M=>p?.(M,S.label),size:32}):!S.multiple&&S.display==="dropdown"?t.jsx(cn,{className:"filter-panel__dropdown",ariaLabel:typeof S.label=="string"?S.label:void 0,size:40,options:[...S.allOption?[{value:un,label:S.allLabel??y("common.all","\uC804\uCCB4"),disabled:S.allOptionDisabled}]:[],...W.map(M=>{const H=typeof M=="string"?M:M.value,Q=typeof M!="string"?M.displayLabel:void 0,te=typeof M!="string"?M.disabled:void 0;return{value:H,label:Q??H,disabled:te}})],value:$&&S.allOption?un:m[S.label],onChange:M=>p?.(M,S.label)}):t.jsxs("div",{className:S.groups?"filter-panel__item-groups":"filter-panel__items",children:[S.allOption&&!S.groups&&t.jsx(me,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:$,disabled:S.allOptionDisabled,onClick:()=>p?.(un,S.label)}),S.groups?S.groups.map((M,H)=>t.jsxs("div",{className:"filter-panel__item-group",children:[H===0&&S.allOption&&t.jsx(me,{htmlType:"button",size:"keyboard",label:S.allLabel??y("common.all","\uC804\uCCB4"),selected:$,disabled:S.allOptionDisabled,onClick:()=>p?.(un,S.label)}),M.filter(Q=>Q!=null).map(j)]},H)):W.map(j)]})]})]},S.label)})}),c!=null&&c!==!1&&t.jsx("div",{className:"filter-panel__footer body-3",children:c})]})]})}const n5=[1,2,3,4,5,6,7,8,9,10,11,12],ku=[8,4,2,1];function Nu(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 Du(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 Eu(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 Su(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 ju(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 Tu(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 Mu(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 Lu(e,n){return{label:e(n.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[n.itemCount,...ku.filter(a=>a<n.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function $u(e,n){return e===n||!ku.includes(e)?Number.POSITIVE_INFINITY:e}function a5(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 Ru={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Pu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Iu(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 Fu(e,n,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?n===un?(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 r5(e){return"sections"in e}function To(e){const{t:n}=ve.useTranslation(),{title:a,className:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c}=e,d={collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c};if(r5(e))return t.jsx(Nn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...d,align:"inline"});const{hasImage:m,hasColloquial:p,contentTypes:h,orientation:b,showOutline:v,cutLine:f,showDivLine:y,setters:_,showCutLine:C=!1,showDivLine2:B=!1,middleSections:g=[],extraSelected:w={},onExtraSelect:x,showPaperBands:A=!1,showTopInfo:k=!0,showBottomInfo:N=!0}=e,E=[Nu(n,{hasImage:m,hasColloquial:p}),Du(n),...g,Eu(n),...C?[Tu(n)]:[],...B?[Mu(n)]:[],...A?[Su(n),ju(n)]:[]],S={...Iu(n,{contentTypes:h,orientation:b,showOutline:v,cutLine:f,showDivLine:y,showTopInfo:k,showBottomInfo:N}),...w},I=($,W)=>{Fu(n,$,W,_)||x?.($,W)};return t.jsx(Nn,{className:r,title:a??n("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:S,onSelect:I,...d,sectionAlign:"horizontal"})}function Ou(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Mo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let ur=null,ca=null;function o5(e,n,a,r="",s=""){if(e.length===0||ca&&ca.iframe.isConnected&&Date.now()-ca.at<1e4)return;const i=r?Mo(r):"";ur?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),ur===l&&(ur=null)},ur=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 c=u.contentDocument;if(!c){u.remove();return}ca={iframe:u,at:Date.now()},c.open(),c.write(Lo(e,n,a,!0,i,s)),c.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),ca?.iframe===u&&(ca=null)},0)})}function Lo(e,n,a,r=!1,s="",i=""){s=s?Mo(s):"";const l=Array.from(document.styleSheets).flatMap(m=>{try{return Array.from(m.cssRules).map(p=>p.cssText)}catch{return[]}}).join(`
860
+ `),u="light",c=i?`<div class="paper-head">${Ou(i)}</div>`:"",d=e.map(m=>{const p=m.cloneNode(!0);return p.querySelectorAll('[data-play-state="play"]').forEach(h=>h.style.display=""),p.querySelectorAll('[data-play-state="pause"]').forEach(h=>h.style.display="none"),p.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(h=>h.remove()),p.querySelectorAll(".word-table-cell__spinner").forEach(h=>h.remove()),p.querySelectorAll("img").forEach(h=>{h.style.opacity==="0"&&(h.setAttribute("onload","this.style.opacity=''"),h.setAttribute("onerror","this.style.visibility='hidden'"))}),`<div class="paper-wrap">${c}${p.outerHTML}</div>`}).join(`
861
861
  `);return`<!DOCTYPE html>
862
862
  <html data-theme="${u}">
863
863
  <head>
@@ -1042,10 +1042,10 @@ ${f.badge}`:f.badge:void 0;if(x&&c(f.code))return null;if(!f.badge&&!p)return m(
1042
1042
  `:""}
1043
1043
  <\/script>
1044
1044
  </body>
1045
- </html>`}const s5=1e3;function $o({getElements:e,paperW:n,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=ve.useTranslation(),u=o.useCallback(()=>{o5(e(),n,a,r,i)},[e,n,a,r,i]),c=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(Lo(p,n,a,!1,r,i)),m.document.close()},[e,n,a,r,s,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=Lo(p,n,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),b=URL.createObjectURL(h),v=(r?Mo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),g=Object.assign(document.createElement("a"),{href:b,download:`${v}.html`});document.body.appendChild(g),g.click(),document.body.removeChild(g),setTimeout(()=>URL.revokeObjectURL(b),s5)},[e,n,a,r,i,l]);return{print:u,openNewWindow:c,downloadHtml:d}}function Hu(e,n){const{t:a}=ve.useTranslation(),r=n?.paperBands===!0,[s,i]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[c,d]=o.useState("\uD45C\uC2DC"),[p,m]=o.useState(!0),[h,b]=o.useState(!0),[v,g]=o.useState(!0),[y,_]=o.useState(!0),[C,w]=o.useState(8),[f,B]=o.useState("right"),x=e.length,D=e.some(Q=>(Q.words??[]).length>1),k=e.some(Q=>(Q.words??[]).some(te=>!!te.colloquialLabel)),A=Math.min(C,Math.max(x,1)),E=o.useMemo(()=>gu(e,A),[e,A]),j=E.length>1,z=A,[P,W]=o.useState(!1);o.useEffect(()=>{let Q=!1;if(!Jn()){W(!1);return}return Promise.all(e.flatMap(te=>(te.words??[]).map(V=>ni(V.label,V.homonum)))).then(te=>{Q||W(te.some(Boolean))},()=>{}),()=>{Q=!0}},[e]);const S=o.useMemo(()=>[Nu(a,{hasImage:P,hasColloquial:k}),Du(a),...x>0?[Lu(a,{hasPairs:D,itemCount:x})]:[],Eu(a),...z>1?[Tu(a)]:[],...D?[Mu(a)]:[],...r?[Su(a),ju(a)]:[]],[a,P,k,x,D,j,z,r]),M={...Fu(a,{contentTypes:l,orientation:s,showOutline:p,cutLine:c,showDivLine:y,showTopInfo:h,showBottomInfo:v}),...x>0?{[a(D?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${A}\uAC1C`}:{},...j?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[f]}:{}},O=o.useCallback((Q,te)=>{Iu(a,Q,te,{setContentTypes:u,setOrientation:i,setShowOutline:m,setCutLine:d,setShowDivLine:_,setShowTopInfo:b,setShowBottomInfo:g})||(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")?w($u(parseInt(Q),x)):te===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&B(Pu(Q)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:c,showOutline:p,showDivLine:y,count:z,showTopInfo:h,showBottomInfo:v},filterSections:S,filterSelected:M,handleSelect:O,pages:E,isPaginated:j,pageNumberPosition:f}}function i5({items:e,words:n,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:u,footerClassName:c,footerLayout:d,printFileName:p,showSettings:m,autoPrint:h,className:b,onClose:v,scoring:g=!1,onScoreChange:y,printHeader:_,brand:C,code:w,beforeClose:f}){const{t:B}=ve.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(n)?n:[]).filter(se=>typeof se=="string"&&se.length>0).map((se,ke)=>({id:`${se}-${ke}`,words:[{label:se}]})),[e,n]),{settings:D,filterSections:k,filterSelected:A,handleSelect:E,pages:j,isPaginated:z,pageNumberPosition:P}=Hu(x,{paperBands:!!C?.show}),W=o.useMemo(()=>fu(j.map(se=>se.length)),[j]),[S,M]=o.useState({}),O=o.useCallback((se,ke)=>{M(q=>({...q,[ir(se)]:mu(q[ir(se)]??null,ke)}))},[]),Q=o.useRef(y);o.useEffect(()=>{Q.current=y});const te=o.useRef(S);o.useEffect(()=>{te.current!==S&&(te.current=S,Q.current?.(So(S)))},[S]);const V=o.useMemo(()=>So(S),[S]),U=o.useRef(null),{toastMessage:R,toastKey:F,showWarning:N,clearToast:I}=dl("warning"),L=o.useRef([]),$=o.useCallback(()=>z?L.current.filter(se=>se!==null):U.current?[U.current]:[],[z]),{print:H,openNewWindow:X}=$o({getElements:$,paperW:la[D.orientation].width,paperH:la[D.orientation].height,fileName:p??"",header:_??"",onPopupBlocked:()=>N(B("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."))}),K=o.useMemo(()=>u?void 0:l?l({print:H,openNewWindow:X}):p?[{label:B("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>X()},{label:B("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>H()},...i??[]]:i,[u,l,p,i,B,H,X]),Y=o.useMemo(()=>u?u({print:H,openNewWindow:X}):void 0,[u,H,X]),ae=o.useRef(!1),le=o.useRef(H);return o.useEffect(()=>{le.current=H},[H]),o.useEffect(()=>{if(!h||ae.current)return;const se=window.setTimeout(()=>{ae.current=!0,le.current()},100);return()=>window.clearTimeout(se)},[h]),t.jsxs(Mn,{title:a??B("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Be("word-table-popup",b),buttons:K,footer:Y,footerClassName:c,footerLayout:d,beforeClose:f,onClose:v,children:[x.length>0?t.jsxs("div",{className:"word-table-popup__body",children:[m&&t.jsx(To,{sections:k,selected:A,onSelect:E}),z?t.jsx("div",{className:"word-table-popup__pages",children:j.map((se,ke)=>t.jsx(ua,{items:se,orientation:D.orientation,contentTypes:D.contentTypes,cutLine:D.cutLine,showOutline:D.showOutline,showDivLine:D.showDivLine,count:D.count,contentRef:q=>{L.current[ke]=q},pageNumber:{current:ke+1,total:j.length},pageNumberPosition:P,brand:C&&{...C,top:D.showTopInfo,bottom:D.showBottomInfo},code:w,scoring:g,scoreIndexOffset:W[ke],marks:V,onMarkClick:O},ke))}):t.jsx("div",{className:"word-table-popup__table",children:t.jsx(ua,{items:x,orientation:D.orientation,contentTypes:D.contentTypes,cutLine:D.cutLine,showOutline:D.showOutline,showDivLine:D.showDivLine,count:D.count,contentRef:U,fitHeight:!0,scoring:g,marks:V,onMarkClick:O,brand:C&&{...C,top:D.showTopInfo,bottom:D.showBottomInfo},code:w})})]}):t.jsx("p",{className:"word-table-popup__empty body-3",children:s??B("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsx(oa,{message:R,position:"top",onClose:I},F)]})}const l5=new Set(["x","triangle"]);function u5(e,n){const a=[];for(let r=0;r<e.length;r++){const s=n[String(r)];s&&l5.has(s)&&a.push(e[r])}return a}const c5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function zu(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=c5.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 d5(e,n){const[,a,r]=qr(n).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=zu(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function p5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:zu(e).\uD68C\uCC28}}function m5(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 h5(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 Vu(e){return e.split(" / ").map(n=>n.replace(/#\d+$/,"")).join(" / ")}function f5(e,n,a){const r=mi(a);return[e.trim(),r,n.trim()].filter(Boolean).join(" \xB7 ")}function Wu(e,n,a){return a===0?0:(e+n*.5)/a}function g5(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 c=n.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")c.o++;else if(l==="triangle")c.triangle++;else if(l==="x")c.x++;else continue;c.latest=l,c.latestAt=s.scoredAt,n.set(u,c)}const r=[];for(const[s,i]of n){const l=i.o+i.triangle+i.x;r.push({label:Vu(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Wu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||ra(s.label,i.label)||ra(s.key??s.label,i.key??i.label)),r}function b5(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(c=>c==="o"||c==="triangle"||c==="x").length,i=r.rows.filter(u=>s(u)>0).sort((u,c)=>u.scoredAt.localeCompare(c.scoredAt));if(i.length===0)continue;const l=i.map(u=>{const c=Object.values(u.marks),d=c.filter(m=>m==="o").length,p=c.filter(m=>m==="triangle").length;return Wu(d,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 y5(e,n=8){return e.filter(a=>a.latest!=="o").slice(0,n)}function v5(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 x5(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)||v5(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 c=l.itemId?.trim()||u,d=`${l.trainingType}|${c}`,p=n.get(d)??{trainingType:l.trainingType,itemId:c,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(d,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||ra(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function _5(e,n=8){return e.filter(a=>!a.latestCorrect).slice(0,n)}function w5(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 Ro=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function B5(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}`,c=n.get(u)??{setId:l,trainingType:i.trainingType,pending:0};c.pending++,n.set(u,c)}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=>Ro.includes(i.trainingType)).sort(r),word:s.filter(i=>!Ro.includes(i.trainingType)).sort(r),noSet:a}}function A5(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 c of i.cellLabels)r.has(c)&&!l.has(c)&&(l.add(c),u.push(c));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||ra(i.name,l.name)),s.slice(0,Math.max(0,a))}function k5(e,n){const a=new Set(e.flatMap(r=>r.covered));return n.filter(r=>!a.has(r))}function N5(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 Po(e,n,a){return typeof e=="string"&&e?e:n.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function D5(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?Po($t.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?Po($t.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):Po($t.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function E5(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 S5(e,n){return e.map(a=>a.key===n?{...a,pinned:!a.pinned}:a)}function j5(e,n){return e.filter(a=>a.key!==n)}function T5(e,n,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],u=new Set(s);for(const d of n){if(l.length>=i)break;const p=a(d);u.has(p)||(u.add(p),l.push({key:p,value:d,pinned:!1}))}const c=[...l];return e.map(d=>d.pinned?d:c.shift()).filter(d=>d!==void 0)}function M5(e){return e.map(n=>n.value)}function L5(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(Qe,{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 $5(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),c=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.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 b=l??m;l==null&&u(b),d.current?.(b)},[i,m]);const h=o.useCallback(b=>{const v=c===b?null:b;p.current=!0,i||u(v),r?.(v)},[c,i,r]);return t.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(n||[]).map(b=>t.jsx(L5,{category:b,isSelected:c===b.key,onClick:()=>h(b.key)},b.key))})}function R5({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(me,{htmlType:"button",size:s,type:"bar",label:i.label,selected:n===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function P5({onTermsClick:e,onPrivacyClick:n,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=ve.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 s5=1e3;function $o({getElements:e,paperW:n,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=ve.useTranslation(),u=o.useCallback(()=>{o5(e(),n,a,r,i)},[e,n,a,r,i]),c=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=window.open("","_blank");if(!p){s?.();return}p.document.write(Lo(m,n,a,!1,r,i)),p.document.close()},[e,n,a,r,s,i]),d=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=Lo(m,n,a,!1,r,i),h=new Blob([p],{type:"text/html;charset=utf-8"}),b=URL.createObjectURL(h),v=(r?Mo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),f=Object.assign(document.createElement("a"),{href:b,download:`${v}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(b),s5)},[e,n,a,r,i,l]);return{print:u,openNewWindow:c,downloadHtml:d}}function Hu(e,n){const{t:a}=ve.useTranslation(),r=n?.paperBands===!0,[s,i]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[c,d]=o.useState("\uD45C\uC2DC"),[m,p]=o.useState(!0),[h,b]=o.useState(!0),[v,f]=o.useState(!0),[y,_]=o.useState(!0),[C,B]=o.useState(8),[g,w]=o.useState("right"),x=e.length,A=e.some(Q=>(Q.words??[]).length>1),k=e.some(Q=>(Q.words??[]).some(te=>!!te.colloquialLabel)),N=Math.min(C,Math.max(x,1)),E=o.useMemo(()=>gu(e,N),[e,N]),S=E.length>1,I=N,[$,W]=o.useState(!1);o.useEffect(()=>{let Q=!1;if(!Jn()){W(!1);return}return Promise.all(e.flatMap(te=>(te.words??[]).map(V=>ni(V.label,V.homonum)))).then(te=>{Q||W(te.some(Boolean))},()=>{}),()=>{Q=!0}},[e]);const j=o.useMemo(()=>[Nu(a,{hasImage:$,hasColloquial:k}),Du(a),...x>0?[Lu(a,{hasPairs:A,itemCount:x})]:[],Eu(a),...I>1?[Tu(a)]:[],...A?[Mu(a)]:[],...r?[Su(a),ju(a)]:[]],[a,$,k,x,A,S,I,r]),M={...Iu(a,{contentTypes:l,orientation:s,showOutline:m,cutLine:c,showDivLine:y,showTopInfo:h,showBottomInfo:v}),...x>0?{[a(A?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${N}\uAC1C`}:{},...S?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[g]}:{}},H=o.useCallback((Q,te)=>{Fu(a,Q,te,{setContentTypes:u,setOrientation:i,setShowOutline:p,setCutLine:d,setShowDivLine:_,setShowTopInfo:b,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")?B($u(parseInt(Q),x)):te===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&w(Pu(Q)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:c,showOutline:m,showDivLine:y,count:I,showTopInfo:h,showBottomInfo:v},filterSections:j,filterSelected:M,handleSelect:H,pages:E,isPaginated:S,pageNumberPosition:g}}function i5({items:e,words:n,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:u,footerClassName:c,footerLayout:d,printFileName:m,showSettings:p,autoPrint:h,className:b,onClose:v,scoring:f=!1,onScoreChange:y,printHeader:_,brand:C,code:B,beforeClose:g}){const{t:w}=ve.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(n)?n:[]).filter(se=>typeof se=="string"&&se.length>0).map((se,ke)=>({id:`${se}-${ke}`,words:[{label:se}]})),[e,n]),{settings:A,filterSections:k,filterSelected:N,handleSelect:E,pages:S,isPaginated:I,pageNumberPosition:$}=Hu(x,{paperBands:!!C?.show}),W=o.useMemo(()=>fu(S.map(se=>se.length)),[S]),[j,M]=o.useState({}),H=o.useCallback((se,ke)=>{M(q=>({...q,[ir(se)]:mu(q[ir(se)]??null,ke)}))},[]),Q=o.useRef(y);o.useEffect(()=>{Q.current=y});const te=o.useRef(j);o.useEffect(()=>{te.current!==j&&(te.current=j,Q.current?.(So(j)))},[j]);const V=o.useMemo(()=>So(j),[j]),U=o.useRef(null),{toastMessage:P,toastKey:F,showWarning:D,clearToast:O}=dl("warning"),L=o.useRef([]),R=o.useCallback(()=>I?L.current.filter(se=>se!==null):U.current?[U.current]:[],[I]),{print:z,openNewWindow:X}=$o({getElements:R,paperW:la[A.orientation].width,paperH:la[A.orientation].height,fileName:m??"",header:_??"",onPopupBlocked:()=>D(w("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."))}),K=o.useMemo(()=>u?void 0:l?l({print:z,openNewWindow:X}):m?[{label:w("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>X()},{label:w("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>z()},...i??[]]:i,[u,l,m,i,w,z,X]),Y=o.useMemo(()=>u?u({print:z,openNewWindow:X}):void 0,[u,z,X]),ae=o.useRef(!1),le=o.useRef(z);return o.useEffect(()=>{le.current=z},[z]),o.useEffect(()=>{if(!h||ae.current)return;const se=window.setTimeout(()=>{ae.current=!0,le.current()},100);return()=>window.clearTimeout(se)},[h]),t.jsxs(Mn,{title:a??w("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Be("word-table-popup",b),buttons:K,footer:Y,footerClassName:c,footerLayout:d,beforeClose:g,onClose:v,children:[x.length>0?t.jsxs("div",{className:"word-table-popup__body",children:[p&&t.jsx(To,{sections:k,selected:N,onSelect:E}),I?t.jsx("div",{className:"word-table-popup__pages",children:S.map((se,ke)=>t.jsx(ua,{items:se,orientation:A.orientation,contentTypes:A.contentTypes,cutLine:A.cutLine,showOutline:A.showOutline,showDivLine:A.showDivLine,count:A.count,contentRef:q=>{L.current[ke]=q},pageNumber:{current:ke+1,total:S.length},pageNumberPosition:$,brand:C&&{...C,top:A.showTopInfo,bottom:A.showBottomInfo},code:B,scoring:f,scoreIndexOffset:W[ke],marks:V,onMarkClick:H},ke))}):t.jsx("div",{className:"word-table-popup__table",children:t.jsx(ua,{items:x,orientation:A.orientation,contentTypes:A.contentTypes,cutLine:A.cutLine,showOutline:A.showOutline,showDivLine:A.showDivLine,count:A.count,contentRef:U,fitHeight:!0,scoring:f,marks:V,onMarkClick:H,brand:C&&{...C,top:A.showTopInfo,bottom:A.showBottomInfo},code:B})})]}):t.jsx("p",{className:"word-table-popup__empty body-3",children:s??w("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),t.jsx(oa,{message:P,position:"top",onClose:O},F)]})}const l5=new Set(["x","triangle"]);function u5(e,n){const a=[];for(let r=0;r<e.length;r++){const s=n[String(r)];s&&l5.has(s)&&a.push(e[r])}return a}const c5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function zu(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=c5.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 d5(e,n){const[,a,r]=qr(n).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=zu(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function p5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:zu(e).\uD68C\uCC28}}function m5(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 h5(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 Vu(e){return e.split(" / ").map(n=>n.replace(/#\d+$/,"")).join(" / ")}function f5(e,n,a){const r=mi(a);return[e.trim(),r,n.trim()].filter(Boolean).join(" \xB7 ")}function Wu(e,n,a){return a===0?0:(e+n*.5)/a}function g5(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 c=n.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")c.o++;else if(l==="triangle")c.triangle++;else if(l==="x")c.x++;else continue;c.latest=l,c.latestAt=s.scoredAt,n.set(u,c)}const r=[];for(const[s,i]of n){const l=i.o+i.triangle+i.x;r.push({label:Vu(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Wu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||ra(s.label,i.label)||ra(s.key??s.label,i.key??i.label)),r}function b5(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(c=>c==="o"||c==="triangle"||c==="x").length,i=r.rows.filter(u=>s(u)>0).sort((u,c)=>u.scoredAt.localeCompare(c.scoredAt));if(i.length===0)continue;const l=i.map(u=>{const c=Object.values(u.marks),d=c.filter(p=>p==="o").length,m=c.filter(p=>p==="triangle").length;return Wu(d,m,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 y5(e,n=8){return e.filter(a=>a.latest!=="o").slice(0,n)}function v5(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 x5(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)||v5(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 c=l.itemId?.trim()||u,d=`${l.trainingType}|${c}`,m=n.get(d)??{trainingType:l.trainingType,itemId:c,title:u,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(m.tried++,l.isCorrect||m.wrong++,m.title=u,m.latestCorrect=l.isCorrect,m.latestAt=l.answeredAt,m.lastSelected=l.selected,l.setId){const p=m.setIds.indexOf(l.setId);p>0&&m.setIds.splice(p,1),p!==0&&m.setIds.unshift(l.setId)}n.set(d,m)}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||ra(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function _5(e,n=8){return e.filter(a=>!a.latestCorrect).slice(0,n)}function w5(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 Ro=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function B5(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}`,c=n.get(u)??{setId:l,trainingType:i.trainingType,pending:0};c.pending++,n.set(u,c)}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=>Ro.includes(i.trainingType)).sort(r),word:s.filter(i=>!Ro.includes(i.trainingType)).sort(r),noSet:a}}function A5(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 c of i.cellLabels)r.has(c)&&!l.has(c)&&(l.add(c),u.push(c));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||ra(i.name,l.name)),s.slice(0,Math.max(0,a))}function k5(e,n){const a=new Set(e.flatMap(r=>r.covered));return n.filter(r=>!a.has(r))}function N5(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 Po(e,n,a){return typeof e=="string"&&e?e:n.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function D5(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?Po($t.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?Po($t.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):Po($t.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function E5(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 S5(e,n){return e.map(a=>a.key===n?{...a,pinned:!a.pinned}:a)}function j5(e,n){return e.filter(a=>a.key!==n)}function T5(e,n,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],u=new Set(s);for(const d of n){if(l.length>=i)break;const m=a(d);u.has(m)||(u.add(m),l.push({key:m,value:d,pinned:!1}))}const c=[...l];return e.map(d=>d.pinned?d:c.shift()).filter(d=>d!==void 0)}function M5(e){return e.map(n=>n.value)}function L5(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(Qe,{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 $5(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),c=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const m=o.useRef(!1),p=(n&&n[0]?.key)??null;o.useEffect(()=>{if(i||m.current||!p)return;m.current=!0;const b=l??p;l==null&&u(b),d.current?.(b)},[i,p]);const h=o.useCallback(b=>{const v=c===b?null:b;m.current=!0,i||u(v),r?.(v)},[c,i,r]);return t.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(n||[]).map(b=>t.jsx(L5,{category:b,isSelected:c===b.key,onClick:()=>h(b.key)},b.key))})}function R5({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(me,{htmlType:"button",size:s,type:"bar",label:i.label,selected:n===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function P5({onTermsClick:e,onPrivacyClick:n,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=ve.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,c)=>t.jsxs(o.Fragment,{children:[l,u<c.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:po,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 F5({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=ve.useTranslation(),p=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,h]=o.useState(!1),b=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!m)return;const _=Vn(()=>{const f=document.getElementById(b);f&&f.contains(document.activeElement)&&v.current?.focus(),h(!1)}),C=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=f=>{f.matches&&h(!1)};return C&&(C.matches&&h(!1),C.addEventListener?.("change",w)),()=>{_(),C?.removeEventListener?.("change",w)}},[m,b]);const g=l?`${l} landing-header__inner`:"landing-header__inner",y=(_,C)=>u?u(_,{onClick:C}):t.jsx("a",{href:_.href,onClick:C,"aria-current":_.current?"page":void 0,children:_.label});return t.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[t.jsxs("div",{className:g,children:[e!=null&&(()=>{const _=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:_}):t.jsx("div",{className:"landing-header__brand",children:_})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map((_,C)=>t.jsx("span",{children:y(_)},`${C}:${_.href}`))}),t.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&t.jsx("button",{ref:v,type:"button",onClick:()=>h(_=>!_),"aria-expanded":m,"aria-controls":b,"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:b,hidden:!m,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map((_,C)=>t.jsx("span",{className:"landing-header__drawer-item",children:y(_,()=>h(!1))},`${C}:${_.href}`))})})]})}function I5({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,...cu(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const da=9,O5=e=>Math.round(Math.min(da,Math.max(0,e))/da*100),H5=e=>e/100*da,Ra=2,qu=.1,z5=e=>Math.min(Ra,Math.max(0,e)),V5=.1,W5=e=>Math.round(e*1e6)/1e6;function Pa(e){const{noiseRatio:n}=e;if(typeof n=="number"&&Number.isFinite(n))return z5(n);const a=Math.min(da,Math.max(0,Number(e.level)||0))/da,r=Number(e.mainVolume);return r>0?a>0?W5(Math.min(Ra,Math.max(V5,a/r))):0:1}const Uu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Gu(e){return Uu(e)}function Fo(e){return Uu(e)*Pa(e)}function Io(e,n=Zs()){const a=Number.isFinite(n)&&n>0?n:1;return Math.min(1,Fo(e)/a)}function Fa(e,n){const a={...e,...n??{}};return n&&"level"in n&&typeof n.noiseRatio!="number"&&(a.noiseRatio=Pa({level:a.level,mainVolume:a.mainVolume})),a}const Ia={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Oo=o.createContext(null);function cr(){return o.useContext(Oo)}const Ho=e=>`${aC()}/${e}`,Ku=e=>Array.from({length:10},(n,a)=>Ho(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),dr={get defaultNoise(){return Ho("noise1.mp3")},get street(){return Ku("noise2")},get restaurant(){return Ku("noise3")},get buzz(){return Ho("noise4.mp3")}};function q5(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return dr.defaultNoise;case"street":return dr.street[n];case"restaurant":return dr.restaurant[n];case"buzz":return dr.buzz;default:return null}}function U5({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),c=o.useRef(null),d=o.useRef(null),p=o.useRef(null),m=o.useRef(0),h=o.useRef(null),b=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),v=o.useCallback((w,f=250)=>{const B=s.current;if(!B)return;const x=c.current;if(x){c.current=null;try{B.pause()}catch{}B.src=x,B.load()}if(!B.src)return;m.current+=1,b();try{Fr(),za(B).then(E=>{if(s.current===B)try{r.current?.("noise",E)}catch{}})}catch{}const D=B.paused?0:Va(B);B.paused&&jn(B,0),B.play().catch(()=>{});const k=performance.now(),A=()=>{const E=Math.min(1,(performance.now()-k)/f);try{jn(B,D+(w-D)*E)}catch{}E<1?p.current=requestAnimationFrame(A):p.current=null};p.current=requestAnimationFrame(A)},[b]),g=o.useCallback((w=250,f)=>{const B=s.current;if(!B||B.paused){f?.();return}const x=++m.current;b();const D=performance.now(),k=Va(B),A=()=>{const E=Math.min(1,(performance.now()-D)/w);try{jn(B,k*(1-E))}catch{}if(E<1)p.current=requestAnimationFrame(A);else{p.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{B.pause()}catch{}f?.()}};p.current=requestAnimationFrame(A),h.current=setTimeout(()=>{if(h.current=null,m.current===x){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{B.paused||(jn(B,0),B.pause(),f?.())}catch{}}},w+150)},[b]);o.useEffect(()=>{const w=document.createElement("audio");return w.loop=!0,w.crossOrigin="anonymous",s.current=w,()=>{b();try{w.pause(),w.src=""}catch{}s.current=null,u.current=null,c.current=null}},[b]);const y=e?Io(e.settings):0,_=!!e?.settings.enabled&&y>0;o.useEffect(()=>{if(!_)return;let w=0;const f=setInterval(()=>{const B=s.current;if(!B||B.paused){w=0;return}const x=n.current;if(x&&!x.paused&&!x.ended||a.current==="playing"){w=0;return}w+=1,w>=2&&(w=0,g())},400);return()=>clearInterval(f)},[g,_,n,a]),o.useEffect(()=>{const w=()=>{const f=s.current;if(document.hidden){if(f&&!f.paused){b();try{f.pause()}catch{}}return}if(!f||!f.paused)return;const B=n.current,x=!!B&&!B.paused&&!B.ended||a.current==="playing",D=d.current;x&&D?.enabled&&D.volume>0&&v(D.volume)};return document.addEventListener("visibilitychange",w),()=>document.removeEventListener("visibilitychange",w)},[b,v,n,a]),o.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:y,type:e.settings.type}:null},[e,e?.settings.enabled,y,e?.settings.type]);const C=o.useRef(null);return o.useEffect(()=>()=>{C.current?.(),C.current=null},[]),o.useEffect(()=>{const w=e?.settings,f=s.current;if(!f)return;const B=w?Io(w):0;if(!w||!w.enabled||B===0){g();return}if(u.current!==w.type){const x=q5(w.type);x&&(u.current=w.type,l(x),c.current=x,g(150,()=>{if(c.current!==x)return;c.current=null,f.src=x,f.load();const D=n.current;if(D&&!D.paused){C.current?.();const k=()=>{f.removeEventListener("canplay",k),C.current===A&&(C.current=null);const E=n.current,j=d.current;E&&!E.paused&&!E.ended&&j?.enabled&&j.volume>0&&v(j.volume)},A=()=>f.removeEventListener("canplay",k);C.current=A,f.addEventListener("canplay",k)}}))}else{const x=n.current,D=!!x&&!x.paused&&!x.ended||a.current==="playing";if(D&&c.current)v(B);else if(D&&f.paused&&f.src)v(B);else if(!f.paused)if(!D)g();else{b();const k=Va(f),A=performance.now(),E=()=>{const j=Math.min(1,(performance.now()-A)/150);try{jn(f,k+(B-k)*j)}catch{}j<1?p.current=requestAnimationFrame(E):p.current=null};p.current=requestAnimationFrame(E)}}},[e?.settings,e?.settings.enabled,y,e?.settings.type,b,v,g,n,a,d]),o.useEffect(()=>{const w=s.current;if(w)try{w.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:b,fadeInNoise:v,fadeOutNoise:g}}function G5({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:u,fadeInNoise:c,fadeOutNoise:d,noiseSettingsRef:p,onDoneRef:m,handleEndRef:h}){const b=o.useRef(null),v=o.useRef(0),g=o.useRef(null),y=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{y.current++;try{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const C=(B,x=1)=>{try{const D=(B||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(B||"").length);return Math.max(700,Math.round(D*300/Math.max(.25,x)))}catch{return 1200}},w=o.useCallback(B=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const x=window.speechSynthesis,D=++y.current;try{try{x.cancel()}catch{}const k=B??e,A=Array.isArray(k)?k.filter(S=>!!S):[k||""];A.length===0&&A.push("");const E=Math.max(.3,Math.min(3,n));v.current=A.reduce((S,M)=>S+C(M,E||1),0),b.current=performance.now(),i(0),l("playing"),u("playMode");const j=p.current;j?.enabled&&(j?.volume??0)>0&&c(j.volume);const z=()=>{try{const S=b.current||performance.now(),M=performance.now()-S,O=v.current||1200,Q=Math.min(1,M/O);try{r.current&&(r.current.style.left=`${Q*100}%`),s.current&&s.current.style.setProperty("--progress",String(Q))}catch{}Q<1&&(g.current=requestAnimationFrame(z))}catch{}},P=()=>{if(D===y.current)try{g.current&&(cancelAnimationFrame(g.current),g.current=null),i(1),l("stopped");try{h.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},W=S=>{const M=new SpeechSynthesisUtterance(A[S]);try{M.rate=E}catch{}try{M.volume=Math.max(0,Math.min(1,a))}catch{}M.onend=()=>{if(D===y.current){if(S<A.length-1){try{W(S+1)}catch{P()}return}P()}},M.onerror=()=>{P()},M.onstart=()=>{if(!(S>0))try{g.current&&(cancelAnimationFrame(g.current),g.current=null),g.current=requestAnimationFrame(z)}catch{}},_.current=!0,x.speak(M)};try{W(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,n,a,c,r,s,i,l,u,p,m,h]),f=o.useCallback(()=>{y.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}g.current&&(cancelAnimationFrame(g.current),g.current=null),d(),b.current=null}catch{}l("stopped"),u("active"),i(0)},[d,l,u,i]);return{startTTS:w,stopTTS:f}}async function K5(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,c=Math.max(n,u),d=Math.floor(c/n)||1;return new Array(n).fill(0).map((p,m)=>{const h=m*d,b=Math.min(h+d,c);let v=0;for(let g=h;g<b;g++){const y=Math.abs(l[g]);y>v&&(v=y)}return v})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Yu(e,n,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await K5(s,n,a)}catch(r){try{const s=si(r)}catch{}return null}}const zo=45,Y5=74,Z5=2;function pr(e){const n=Math.min(2,Math.max(0,Number(e)||0));return n<=1?n*45:45+(n-1)*29}function mr(e){return pr(e)/45}function X5({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 J5({phase:e,phaseElapsedMs:n,currentTime:a,trackDurationSec:r,leadInMs:s,tailMs:i}){const l=Math.max(0,s),u=Math.max(0,i),c=Math.max(0,(Number.isFinite(r)?r:0)*1e3),d=l+c+u;if(!(d>0)||!(c>0))return 0;const p=e==="lead"?Math.min(Math.max(0,n),l):e==="sound"?l+Math.min(Math.max(0,(Number.isFinite(a)?a:0)*1e3),c):l+c+Math.min(Math.max(0,n),u);return Math.max(0,Math.min(1,p/d))}function Q5({bars:e,trackDurationSec:n,leadInMs:a,tailMs:r}){const s=Math.max(0,Math.floor(e)),i=Math.max(0,a),l=Math.max(0,r),u=Math.max(0,(Number.isFinite(n)?n:0)*1e3),c=i+u+l;if(s===0||!(c>0)||i===0&&l===0||!(u>0))return{lead:0,sound:s,tail:0};const d=Math.round(i/c*s),p=Math.round(l/c*s),m=Math.max(1,s-d-p),h=d+m+p-s;return{lead:Math.max(0,d-Math.ceil(h/2)),sound:m,tail:Math.max(0,p-Math.floor(h/2))}}function e3(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function t3({ended:e,completedByEnd:n}){return!!e||!!n}function n3(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function a3(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function r3(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}const Zu=4,Xu=mr(Zu/zo);function o3(e){const{src:n,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:c=0,mainVolume:d=1,onReadyChange:p,showSoundWaveForm:m=!0,leadInMs:h=0,tailMs:b=0,trackDurationSec:v=0}=e,g=o.useRef(null),y=o.useRef(null),[_,C]=o.useState(null),[w,f]=o.useState(!1),[B,x]=o.useState(null),[D,k]=o.useState(2),[A,E]=o.useState(0),[j,z]=o.useState(null),[P,W]=o.useState(!1),[S,M]=o.useState(!1),O=3,Q=3,te=1,V=300,U=o.useRef(0),R=o.useCallback(()=>{const xe=g.current,he=y&&y.current?y.current:xe?xe.closest(".audio-player__wave"):null,ie=he?he.getBoundingClientRect():xe?xe.getBoundingClientRect():null,ce=ie?ie.width:0,ue=ie?Math.max(100,ie.width):320,ge=ie?ie.height:0,Ee=Math.max(te,Math.min(V,Math.floor((ue+Q)/(O+Q)))),Ne=Ee*O,Ke=Math.max(0,Ee-1),ze=Math.max(0,Ke>0?(ue-Ne)/Ke:Q);return{bars:Ee,gap:ze,height:ge,width:ce}},[]),F=o.useRef(void 0),N=o.useRef(null),I=o.useCallback(async(xe,he,{quiet:ie=!1}={})=>{const ce=++U.current,ue=()=>U.current===ce;try{if(ie||f(!1),F.current=xe,!xe){ue()&&C(null);return}let ge=he;if(!ge)try{for(let Ke=0;Ke<4&&!(g.current||y.current);Ke++)await new Promise(ze=>requestAnimationFrame(ze));await new Promise(Ke=>requestAnimationFrame(Ke));const Ne=R();Ne.height>0&&E(Ne.height),ge=Ne.bars,k(Ne.gap)}catch{ge=120}N.current=ge;const Ee=await Yu(xe,ge);if(!ue())return;if(!Ee){C(null),f(!1);return}C(Ee),x(ge),f(!0)}catch{if(!ue())return;C(null),f(!1)}},[f,C,E,k,x,R]);o.useEffect(()=>{const xe=y.current;if(!xe||typeof ResizeObserver>"u")return;let he=null;const ie=new ResizeObserver(()=>{he!==null&&cancelAnimationFrame(he),he=requestAnimationFrame(()=>{he=null;try{const ce=R();if(ce.width<=0||(ce.height>0&&E(ce.height),N.current===null||ce.bars===N.current))return;const ue=F.current;k(ce.gap),ue?I(ue,ce.bars,{quiet:!0}).catch(()=>{}):N.current=ce.bars}catch{}})});return ie.observe(xe),()=>{ie.disconnect(),he!==null&&cancelAnimationFrame(he)}},[R,I]),o.useEffect(()=>{const xe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;I(typeof xe=="string"?xe:void 0).catch(()=>{}),M(!1)},[n,a,I]),o.useEffect(()=>{let xe=!1;if(W(!1),!i||!B){z(null);return}const he=c>0?c*(u||1):void 0;return Yu(i,B,he).then(ie=>{xe||(z(ie),ie||W(!0))}).catch(()=>{xe||(z(null),W(!0))}),()=>{xe=!0}},[i,B,c,u]);const L=Math.max(0,Math.min(1,d)),$=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),H=B||40,X=o.useMemo(()=>Q5({bars:H,trackDurationSec:v,leadInMs:h,tailMs:b}),[H,v,h,b]),K=o.useMemo(()=>Array.from({length:H}).map((xe,he)=>{const ie=he>=X.lead&&he<X.lead+X.sound,ce=X.sound>0&&ie?Math.min(H-1,Math.round((he-X.lead)/X.sound*H)):-1,ue=ie?_&&_[ce]!=null?_[ce]:null:_?0:null,ge=ue==null?null:Math.min(1,ue/$*L),Ee=ge!=null&&A>0&&pr(ge)<=Zu,Ne=!i,Ke=ge==null?.15:Ee?Ne?Xu:0:mr(ge),ze=Ee&&!Ne,qe=H>1?he/(H-1):0;return t.jsx("div",{className:ze?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Ke,"--i":he,"--mix":qe}},he)}),[H,_,$,L,A,X,i]),Y={"--progress":String(Math.max(0,Math.min(1,r)))},ae=i?Math.max(1,l):1,le={"--bar-gap":`${D}px`,"--wave-h":`${pr(ae)}px`,"--wave-h1":`${zo}px`},se=L*Math.max(0,l)/Zs(),ke=w&&(i?!!j||P:!0);o.useEffect(()=>{ke&&M(!0)},[ke]);const q=S?w:ke;o.useEffect(()=>{p?.(q)},[q,p]);const ne=B||40,fe=o.useMemo(()=>Array.from({length:ne}).map((xe,he)=>{const ie=j&&j[he]!=null?j[he]:null,ce=ie==null?0:ie/$*se,ue=Math.max(Xu,mr(ce)),ge=ne>1?he/(ne-1):0;return t.jsx("div",{className:"audio-player__bar",style:{"--val":ue,"--i":he,"--mix":ge}},he)}),[ne,j,$,se,A]);return t.jsxs("div",{className:"audio-player__wave",ref:y,style:le,children:[i&&t.jsx("div",{className:`audio-player__wave-noise ${ke?"is-ready":""}`,"aria-hidden":"true",children:fe}),m&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${q?"is-ready":""}`,ref:g,children:K}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${q?"is-ready":""}`,ref:s,style:Y,children:K})]})]})}const s3={idle:"\uB300\uAE30",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",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 Vo(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 d=isFinite(s.duration)&&s.duration||0;l(),a(d)},c=d=>{i||(i=!0,l(),n.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",u),s.addEventListener("error",()=>c("audio load failed")),setTimeout(()=>c("audio load timeout"),n.timeoutMs),s.src=e})}const i3=2e3;function Ju(e,n=i3){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 l3({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(c=>{if(r.current=c,!c||!s.current.length)return;const d=s.current;s.current=[];for(const p of d)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!n||r.current?Promise.resolve(!0):new Promise(c=>{const d=m=>{clearTimeout(p),s.current=s.current.filter(h=>h!==d),c(m)},p=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,n,a]);return o.useEffect(()=>()=>{const c=s.current;s.current=[];for(const d of c)d(!1)},[]),{onReadyChange:i,waitForReady:u,markNotReady:l}}function u3(){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 c3({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 d3(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 p3({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:s,padRef:i,leadInMs:l=0,tailMs:u=0}){const c=o.useRef(null),d=o.useCallback(()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)},[]),p=o.useCallback(()=>{if(c.current!==null)return;const h=()=>{try{const b=e.current,v=Array.isArray(r.current)?r.current[s.current||0]:void 0,g=!!v&&Number.isFinite(v.duration)&&(v.duration??0)>0,y=g?0:d3(b),_=n.current;if(y===null)try{_&&_.style.visibility!=="hidden"&&(_.style.visibility="hidden")}catch{}else{const C=(l||0)>0||(u||0)>0?J5({phase:i?.current?.phase??"sound",phaseElapsedMs:i?.current?Math.max(0,Date.now()-i.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:g?v.duration:y||0,leadInMs:l||0,tailMs:u||0}):X5({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:r.current,index:s.current,audioDuration:y});try{_&&(_.style.visibility&&(_.style.visibility=""),_.style.left=`${C*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(C))}catch{}}}catch{}c.current=requestAnimationFrame(h)};c.current=requestAnimationFrame(h)},[e,n,a,r,s,i,l,u]),m=o.useCallback(h=>{d();try{n.current&&(n.current.style.visibility="",n.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}},[d,n,a]);return o.useEffect(()=>d,[d]),{start:p,stop:d,settleTo:m}}function Wo({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:c=!0,leadInMs:d=0,tailMs:p=0}){const{t:m}=ve.useTranslation(),h=e,b=cr(),v=o.useRef(b?.registerAnalyser);o.useEffect(()=>{v.current=b?.registerAnalyser});const g=o.useRef(null),y=o.useRef(null),_=o.useRef(null),C=u3(),w=o.useRef(null),f=o.useRef(!1),B=o.useRef(0),x=o.useRef(null),{ref:D,rect:k,show:A,hide:E}=c3();o.useEffect(()=>()=>{v.current?.("main",null),v.current?.("noise",null)},[]);const[j,z]=o.useState(!1),[P,W]=o.useState("idle"),[S,M]=o.useState("stopped"),O=o.useRef("stopped");o.useEffect(()=>{O.current=S},[S]);const[Q,te]=o.useState(0),[V,U]=o.useState("active"),R=o.useRef(!1);o.useEffect(()=>{if(V!=="playMode"||!R.current)return;R.current=!1;const ee=typeof document<"u"?document.activeElement:null;if(ee&&ee!==document.body)return;const _e=_.current?.querySelectorAll("button")[1];try{_e?.focus()}catch{}},[V]);const[F,N]=o.useState(null),[I,L]=o.useState(null),[$,H]=o.useState(0),[X,K]=o.useState(!1),[Y,ae]=o.useState(0),le=b?.playbackRate??1,se=b?.mainVolume??1,ke=b?Fo(b.settings):0,q=b?Gu(b.settings):se,[ne,fe]=o.useState("idle"),[xe,he]=o.useState(""),[ie]=o.useState("top"),ce=o.useRef(null),ue=o.useRef(0),ge=o.useRef(null),Ee=o.useRef({phase:"sound",at:0}),Ne=o.useRef(d),Ke=o.useRef(p);o.useEffect(()=>{Ne.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{Ke.current=Math.max(0,p||0)},[p]);const ze=o.useRef(null),qe=o.useCallback(()=>{ze.current&&(clearTimeout(ze.current),ze.current=null),Ee.current={phase:"sound",at:0}},[]),He=o.useCallback((ee,_e)=>{if(!(ee>0))return Promise.resolve(!0);const Le=gt.current;return Ee.current={phase:_e,at:Date.now()},new Promise(Oe=>{ze.current=setTimeout(()=>{ze.current=null,Oe(lt.current&&Le===gt.current)},ee)})},[]);o.useEffect(()=>()=>qe(),[qe]);const{start:ct,stop:ot,settleTo:st}=p3({audioRef:g,fillRef:y,waveProgressRef:ge,sourcesRef:ce,currentIndexRef:ue,padRef:Ee,leadInMs:d,tailMs:p}),{onReadyChange:ht,waitForReady:Ae,markNotReady:Fe}=l3({showSoundWaveForm:u,showNoiseWaveForm:c}),we=o.useRef(null),at=o.useRef(s),Z=o.useRef(r),re=o.useRef(null),pe=o.useRef(!1),[Se,it]=o.useState(!1),Ye=o.useCallback(ee=>{pe.current=ee,it(ee)},[]),xt=o.useRef(null),{activeNoiseUrl:bt,noiseSettingsRef:dt,fadeInNoise:rt,fadeOutNoise:et}=U5({noisePlayer:b,audioRef:g,playbackStateRef:O}),{startTTS:tt,stopTTS:$e}=G5({ttsText:i,playbackRate:le,mainVolume:q,fillRef:y,waveProgressRef:ge,setProgress:te,setPlaybackState:M,setStateLocal:U,fadeInNoise:rt,fadeOutNoise:et,noiseSettingsRef:dt,onDoneRef:Z,handleEndRef:xt});o.useEffect(()=>{pt.current=$e});const Ge=ee=>{if(typeof window>"u"||!window.speechSynthesis){try{he(m("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}tt(ee);return}Nt("tts"),tt(ee)},Pe=Array.isArray(n)?n.filter(Boolean):n?[n]:[],Ct=(!Pe||Pe.length===0)&&!!i,Mt=Array.isArray(F)&&F.length>0?F:Array.isArray(I)&&I.length>0?I:null,Et=Math.max(Array.isArray(Mt)?Mt.length:0,Pe.length),lt=o.useRef(!0);o.useEffect(()=>(lt.current=!0,()=>{lt.current=!1}),[]);const gt=o.useRef(0),Ie=()=>{gt.current+=1,B.current+=1,qe()},pt=o.useRef(null),St=o.useRef(null),Pt=o.useRef(null),Xe=o.useRef(null);Xe.current||(Xe.current=()=>{Pt.current=null;const ee=g.current;if(St.current==="audio"&&ee&&!ee.paused){gt.current+=1,B.current+=1;try{ee.pause()}catch{}lt.current&&M("paused")}else if(St.current==="tts")try{pt.current?.()}catch{}});const Nt=ee=>{St.current=ee,Pt.current=er(Xe.current)},Ft=()=>{Pt.current?.(),Pt.current=null};o.useEffect(()=>()=>{Xe.current&&tr(Xe.current)},[]);const kt=o.useCallback(async(ee,_e=3,Le=50)=>{const Oe=gt.current;if(Ne.current>0&&(ct(),!await He(Ne.current,"lead")||!lt.current||Oe!==gt.current))return!1;Ee.current={phase:"sound",at:Date.now()};for(let Je=0;Je<_e;Je++){if(!lt.current||Oe!==gt.current)return!1;try{return Nt("audio"),await ee.play(),!0}catch(de){if((de instanceof Error||typeof de=="object"&&de&&"name"in de?de.name:void 0)==="AbortError"){if(Oe!==gt.current)return!1;await new Promise(Me=>setTimeout(Me,Le));continue}try{he(m("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{he(m("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[m,ct,He]),dn=o.useCallback(()=>{const ee=g.current;if(!ee)return;const _e=()=>{M("playing"),U("playMode"),K(!0),ct();try{Fr(),za(ee).then(de=>{if(lt.current)try{v.current?.("main",de)}catch{}})}catch{}const Je=dt.current;Je?.enabled&&(Je?.volume??0)>0&&rt(Je.volume)},Le=()=>{t3({ended:!!ee?.ended,completedByEnd:pe.current})||(M("paused"),ot(),et())},Oe=()=>{const Je=()=>{try{const de=ce.current,Me=e3(de,ue.current);if(Me!==null){ue.current=Me,H(Me),K(!0);const nt=de?.[Me]&&de[Me].src;if(nt&&ee){ee.src=nt,ee.load(),kt(ee).catch(()=>{});return}}}catch{}M("stopped"),te(1);try{if(ee)try{ee.currentTime=0}catch{}}catch{}ot(),K(!1),et();try{!at.current&&xt.current&&xt.current()}catch{}};if(Ke.current>0){ct(),He(Ke.current,"tail").then(de=>{Ee.current={phase:"sound",at:0},de&&Je()}).catch(()=>{});return}Je()};return ee.addEventListener("play",_e),ee.addEventListener("pause",Le),ee.addEventListener("ended",Oe),()=>{try{ee.removeEventListener("play",_e),ee.removeEventListener("pause",Le),ee.removeEventListener("ended",Oe),ot()}catch{}}},[rt,et,kt,dt,ct,ot,He]);o.useEffect(()=>dn(),[dn]),o.useEffect(()=>{at.current=s},[s]),o.useEffect(()=>{Z.current=r},[r]),o.useEffect(()=>{if(s||V!=="active")return;const ee=x.current;if(!ee)return;let _e=null;const Le=requestAnimationFrame(()=>{try{const Oe=ee.getTotalLength();if(!Oe)return;const Je=Oe*.2;ee.style.strokeDasharray=`${Oe-Je} ${Je}`;const de="triFlow_"+Math.random().toString(36).slice(2);_e=document.createElement("style"),_e.textContent=`@keyframes ${de}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Oe}}}`,document.head.appendChild(_e),ee.style.animation=`${de} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(Le),_e?.remove()}},[V,s]),o.useEffect(()=>{ce.current=F},[F]),o.useEffect(()=>{ue.current=$},[$]),o.useEffect(()=>{const ee=_.current,_e=w.current;if(!ee||!_e)return;let Le=null;const Oe=32,Je=60,de=()=>{try{const nt=Array.from(ee.querySelectorAll(":scope > .button"));let ft=0;nt.forEach(G=>{if(G===_e)return;const Ce=G.getBoundingClientRect();ft+=Ce.width});const wt=ee.getBoundingClientRect().width,nn=Math.max(0,Math.floor(wt-ft-8)),be=Et;if(!be||nn<=0){Array.from(_e.children).forEach(G=>{try{G.style.width=""}catch{}});return}let T=Math.floor(nn/be);T>Je&&(T=Je),T<Oe&&(T=Math.max(Oe,Math.floor(nn/be))),Array.from(_e.querySelectorAll(".button")).forEach(G=>{try{G.style.width=`${T}px`}catch{}})}catch{}},Me=requestAnimationFrame(de);try{Le=new ResizeObserver(()=>{requestAnimationFrame(de)}),Le.observe(ee),Le.observe(_e),window.addEventListener("resize",de)}catch{}return()=>{try{cancelAnimationFrame(Me)}catch{}try{Le&&(Le.disconnect(),Le=null)}catch{}try{window.removeEventListener("resize",de)}catch{}}},[F,I,Et]),o.useEffect(()=>()=>{try{we.current&&(clearTimeout(we.current),we.current=null),re.current&&(clearTimeout(re.current),re.current=null)}catch{}},[]);const pn=(ee,_e)=>{N(ee),ae(_e),Fe(),L(n3(ee)),ce.current=ee},fn=async(ee,_e)=>{Ye(!1),f.current=!1,ee.src=_e,ee.load(),await Ju(ee),await Ae()!==!1&&(z(!1),await kt(ee),U("playMode"),H(0),K(!0))},Pn=async(ee,_e=!1)=>{const Le=g.current;z(!0),W("measuring_duration");try{const Oe=await Vo(ee,{timeoutMs:1e4,rejectOnError:!0});pn([{src:ee,objectUrl:null,duration:Oe}],Oe),W("ready"),_e&&Le&&await fn(Le,ee)}finally{f.current=!1,z(!1)}},gn=async(ee,_e=!1)=>{const Le=g.current;z(!0),W("measuring_duration");try{const Oe=await Promise.all(ee.map(de=>Vo(de,{timeoutMs:1e4})));if(!lt.current)return;const Je=ee.map((de,Me)=>({src:de,objectUrl:null,duration:Oe[Me]||0}));pn(Je,a3(Je)),W("ready"),_e&&Le&&Je.length>0&&await fn(Le,Je[0].src)}finally{f.current=!1,z(!1)}},Fn=async(ee=!1,_e=!0)=>{const Le=g.current,Oe=n?Array.isArray(n)?n:[n]:[];if(!Oe||Oe.length===0||!Oe.some(Boolean))return!1;if(f.current)return null;f.current=!0,_e&&z(!0),W("resolving");try{const Je=r3(n,a,Gs),de=[];let Me=0;for(const nt of Je){let ft=nt.src??null,wt=null;if(!ft&&nt.resolvedPath){try{W("getting_signed_url"),ft=await Ks(nt.resolvedPath)}catch{ft=null}if(!lt.current)return!1;if(!ft)try{W("downloading");const be=await Ys(nt.resolvedPath);if(!lt.current)return!1;if(be){const T=be instanceof Blob?be:new Blob([be]);wt=C.track(URL.createObjectURL(T)),ft=wt}}catch{W("error");try{he(m("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),U("active")}catch{}}}if(!ft)continue;let nn=0;try{W("measuring_duration"),nn=await Vo(ft,{timeoutMs:3e3})}catch{nn=0}if(!lt.current){if(wt)try{URL.revokeObjectURL(wt)}catch{}for(const be of de)if(be.objectUrl)try{URL.revokeObjectURL(be.objectUrl)}catch{}return!1}Me+=nn||0,de.push({...nt,src:ft,objectUrl:wt,duration:nn})}if(pn(de,Me),de.length>0&&ee&&Le){const nt=de[0];Ye(!1);try{C.keepOnly(de.map(ft=>ft.objectUrl))}catch{}if(W("ready"),f.current=!1,nt.src&&Le)try{if(Le.src=nt.src,Le.load(),await Ju(Le),await Ae()===!1)return!1;_e&&z(!1),Le&&await kt(Le)}catch{_e&&z(!1)}else _e&&z(!1);U("playMode"),H(0),K(!0)}return de.length>0}finally{f.current=!1,_e&&z(!1),W(Je=>Je==="ready"?"ready":"idle")}},mn=async()=>{const ee=g.current;if(!(!ee&&!Ct)){if(Ct){const _e=window.speechSynthesis;if(V==="active"){const Le=$r(),Oe=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(Le&&Oe.length>0){U("load"),z(!0),W("synthesizing"),f.current=!0;try{const Je=await Promise.all(Oe.map(de=>Promise.resolve(Le(de))));Je.length>1?await gn(Je,!0):await Pn(Je[0],!0)}catch{f.current=!1,z(!1),U("active"),Ge(Oe.length>0?Oe:void 0)}return}Ge(Oe.length>0?Oe:void 0);return}if(V==="playMode"){const Le=!!_e&&(_e.speaking||_e.paused)&&!(ee&&(ee.currentSrc||ee.getAttribute("src")));if(ee&&!Le){if(ee.paused){if(pe.current){await Lt();return}await kt(ee),M("playing")}else Ie(),ee.pause(),M("paused");return}try{if(_e&&_e.paused)try{Nt("tts"),_e.resume(),M("playing")}catch{}else try{_e.pause(),M("paused")}catch{}}catch{}}return}if(V==="active"){if(s&&Array.isArray(ce.current)&&ce.current.length>0){const Le=ce.current[0];try{if(Le.src&&ee)try{ee.src=Le.src,ee.load(),ee&&await kt(ee)}catch{}U("playMode"),H(0),K(!0);return}catch{}}U("load");let _e;try{_e=await Fn(!0)}catch{_e=!1}if(_e===!1&&lt.current){try{he(m("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}U("active")}return}if(V!=="load"&&(V==="playMode"||V==="active"))try{if(ee&&ee.paused){if(pe.current){await Lt();return}ee&&await kt(ee),M("playing")}else ee&&(Ie(),ee.pause(),M("paused"))}catch(_e){(_e instanceof Error||typeof _e=="object"&&_e&&"name"in _e)&&_e.name}}},Lt=async()=>{const ee=g.current;if(ee)try{const _e=ce.current;if(Array.isArray(_e)&&_e.length>1){await Dn(0);return}Ye(!1);try{ee.currentTime=0}catch{}ee&&await kt(ee),M("playing"),U("playMode")}catch{}},bn=()=>{if(Ie(),Ft(),Ct){$e();return}const ee=g.current;try{if(ee){try{ee.pause()}catch{}try{ee.currentTime=0}catch{}}}catch{}et(),M("stopped"),U("active"),te(0),K(!1)},Ot=async(ee,{sameSegment:_e=!1}={})=>{const Le=++B.current,Oe=g.current,Je=ce.current?.[ee]?.src;try{if(Ye(!1),H(ee),K(!0),ue.current=ee,!Je||!Oe||(_e||Fe(),Oe.src=Je,Oe.load(),!_e&&await Ae()===!1)||Le!==B.current||(await kt(Oe),Le!==B.current))return;M("playing"),U("playMode")}catch{}},qt=async()=>{const ee=ce.current,_e=ue.current||0;if(!ee||_e<=0){await Lt();return}await Ot(_e-1)},In=async()=>{const ee=ce.current,_e=ue.current||0;if(!ee||_e>=ee.length-1){bn();return}await Ot(_e+1)},on=()=>{if(pe.current)return;const ee=200,_e=340;Ye(!0),Ie(),Ft();try{te(1)}catch{}st(1);try{fe("hold")}catch{}try{const Le=g.current,Oe=Ct&&!!Le?.src;if(!Ct||Oe){if(Le){Le.pause();try{Le.currentTime=0}catch{}}}else $e();et()}catch{}try{M("stopped")}catch{}if(K(!1),!at.current)try{re.current&&(clearTimeout(re.current),re.current=null),re.current=setTimeout(()=>{try{fe("out")}catch{}re.current=setTimeout(()=>{try{typeof Z.current=="function"&&Z.current(!0)}catch{}try{fe("idle")}catch{}re.current=null},_e)},ee)}catch{}};o.useEffect(()=>{xt.current=on});const yn=o.useCallback(()=>he(""),[]),Dn=async ee=>{(ce.current||[])[ee]&&await Ot(ee,{sameSegment:ee===ue.current})},Jt=S==="playing",Ut=o.useMemo(()=>{if(!I||I.length<=1)return I;const ee=I[$];return ee?[ee]:I},[I,$]),Ht=s===!0;o.useEffect(()=>{try{const ee=g.current;ee&&typeof ee.playbackRate=="number"&&(ee.playbackRate=le||1)}catch{}},[le]);const oe=o.useRef({raf:null,timer:null});o.useEffect(()=>{const ee=g.current;if(!ee)return;const _e=Math.max(0,Math.min(1,q)),Le=oe.current,Oe=()=>{Le.raf!==null&&(cancelAnimationFrame(Le.raf),Le.raf=null),Le.timer!==null&&(clearTimeout(Le.timer),Le.timer=null)};Oe();const Je=Va(ee);if(ee.paused||Math.abs(Je-_e)<.001||typeof requestAnimationFrame!="function"){try{jn(ee,_e)}catch{}return}const de=performance.now(),Me=()=>{const nt=Math.min(1,(performance.now()-de)/150);try{jn(ee,Je+(_e-Je)*nt)}catch{}Le.raf=nt<1?requestAnimationFrame(Me):null};return Le.raf=requestAnimationFrame(Me),Le.timer=setTimeout(()=>{Oe();try{jn(ee,_e)}catch{}},200),Oe},[q]);const ye=ne==="hold",De=ne==="out",Ue=V==="playMode"&&!j&&!Se||ye||De,Te=S!=="stopped"||ye||De,Ve=S==="paused",We=Math.max(0,Math.min(100,(Q||0)*100)),mt=Be("audio-player__fill",Ue?"is-visible":"",Te?"is-expanded":"",Ve?"is-paused":"",De?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Jt?"is-playing":""} ${j?"is-loading":""} ${V!=="default"?"is-revealed":""}`,children:[j?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:m(`training.audioStatus.${P}`,{defaultValue:s3[P]})})]}):null,V==="active"?t.jsx("button",{className:"audio-player__button",type:"button",disabled:Ht,onClick:()=>{R.current=or(),E(),mn()},"aria-label":typeof h=="string"?h:m("training.listen","\uB4E3\uAE30"),onMouseEnter:A,onMouseLeave:E,onFocus:A,onBlur:E,children:t.jsx("span",{ref:D,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:x,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,k&&t.jsx(xn,{anchorRect:k,text:typeof h=="string"&&h?h:m("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${V==="playMode"||Jt?"is-visible":""}`,inert:!(V==="playMode"||Jt)||void 0,children:[t.jsxs("div",{ref:_,className:"audio-player__buttons",children:[t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:qt,ariaLabel:m("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Jt?"pause":"play",onClick:mn,ariaLabel:m("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Jt,width:"60px",variant:"transparent-white",disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:bn,ariaLabel:m("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),Et>1?t.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:Et}).map((ee,_e)=>t.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(_e+1),onClick:()=>{try{Dn(_e)}catch{}},ariaLabel:m("training.sourcePlay",{n:_e+1}),variant:"transparent-white",selected:X&&$===_e,disabled:V!=="playMode"||!(Array.isArray(F)&&F[_e]),showTooltipInfo:!0},_e))}):null,!Array.isArray(F)||F.length<=1?t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Lt,ariaLabel:m("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"}):null,t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:In,ariaLabel:m("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:on,ariaLabel:m("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:mt,ref:y,style:{left:`${We}%`},"aria-hidden":"true"}),(u||c)&&t.jsx(o3,{segments:Ut,progress:Q,totalDuration:Y,waveProgressRef:ge,showSoundWaveForm:u,leadInMs:d,tailMs:p,trackDurationSec:F?.[$]?.duration??0,noiseSrc:c&&b?.settings.enabled&&ke>0?bt:null,noiseRatio:b?Pa(b.settings):0,noiseSpeed:b?.settings.speed??1,mainVolume:se,onReadyChange:ht})]})]}),t.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!u&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Qe,{icon:"triangle-alert",size:14}),m("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(oa,{message:xe,position:ie,onClose:yn})]})}function hr(e){const{t:n}=ve.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[c,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",c)}catch{}},[c]);const{increase:p,decrease:m,canIncrease:h,canDecrease:b,fontSize:v,lineHeight:g}=al({storageKey:"tooltip-fontScale"}),y=o.useCallback(()=>d(B=>B==="dark"?"light":"dark"),[]),_=o.useCallback(B=>{try{B.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${v}px`,lineHeight:`${g}px`,"--tt-line-height":`${g}px`,"--tt-marker-size":"28px"},f=t.jsxs("div",{className:`tooltip-textbox__root ${c==="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:w,children:C.map((B,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[C.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:B})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(me,{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:c==="dark"?"transparent-white":"transparent-gray",disabled:!b}),t.jsx(me,{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:c==="dark"?"transparent-white":"transparent-gray",disabled:!h}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:c==="dark"?"transparent-white":"transparent-gray"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:_,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:c==="dark"?"transparent-white":"transparent-gray"})]})]});return s?t.jsx(ln,{anchorRect:s,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:f}):t.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:f})}function Qu({state:e="disabled"}){const{t:n}=ve.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Qe,{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 ec(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 c=r.current(),d=c?Array.from(c.querySelectorAll(hn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(u))};return i=requestAnimationFrame(u),()=>{i!==null&&cancelAnimationFrame(i);const c=document.activeElement;if(!c||c===document.body||!document.contains(c)||c.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function tc({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:u,usePlayAllBtn:c=!1,onPlayAll:d,playAllActive:p=!1}){const{t:m}=ve.useTranslation(),h=rn("(max-width: 767px)"),b=`training-step__title h4 ${u&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),g=o.useRef(null),[y,_]=o.useState(!1),[C,w]=o.useState(null),[f,B]=o.useState(null);ec(y&&!!C,()=>{if(typeof document>"u")return null;const E=Array.from(document.querySelectorAll(".tooltip-content"));for(let j=E.length-1;j>=0;j--)if(E[j].querySelector(".tooltip-textbox__root"))return E[j];return null},()=>g.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const D=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]),k=o.useCallback(()=>{_(!1),w(null),B(null)},[]);o.useEffect(()=>{if(!y)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){k();return}B(typeof E<"u"&&E!==null?E:null)},[D]);const A=o.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(B(typeof E<"u"&&E!==null?E:l),!g.current){_(j=>!j);return}if(y)_(!1),w(null),B(null);else{const j=g.current.getBoundingClientRect();w(j),_(!0)}}},[i,l,y]);return t.jsxs("div",{className:v,children:[t.jsx("p",{className:b,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),s||c?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[c&&t.jsx(me,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"play-circle",label:h?void 0:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:p,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||p,onDisabledClick:p&&r!=="disabled"?()=>{}:void 0}),s&&t.jsx("div",{ref:g,children:t.jsx(me,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"eye",label:h?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:A,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(hr,{text:f??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function qo(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function Kn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:c=void 0}){const{t:d}=ve.useTranslation(),[p,m]=o.useState(()=>qo(e,n));o.useEffect(()=>{const B=qo(e,n);if(B!==p){const x=setTimeout(()=>m(B),0);return()=>clearTimeout(x)}},[e,n,p]);const h=o.useCallback((...B)=>{qo(e,n)==="done"||p==="done"||typeof u=="function"&&u(...B)},[e,n,p,u]),[b,v]=o.useState(!1),[g,y]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),_=o.useCallback(B=>{if(!B)return null;try{const x=B;if(typeof B=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const A=x.currentTarget??x.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(B instanceof DOMRect)return B;const D=B;if(D&&typeof D.getBoundingClientRect=="function")return D.getBoundingClientRect();const k=B?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),C=o.useCallback((B,{text:x="",label:D="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:A="center",alignY:E="top"}={})=>{const j=_(B);y({text:x,label:D,anchorRect:j,backdrop:k,alignX:A,alignY:E}),v(!0)},[_]),w=o.useCallback(()=>{v(!1),y(B=>({...B,anchorRect:null}))},[]),f=o.Children.map(i,B=>{if(o.isValidElement(B)){const x=B;if(typeof x.type=="string")return x;const D=x.props??{},k=typeof D.onDone=="function"?D.onDone:h,A=typeof D.disabled=="boolean";let E=p==="disabled";return A&&(E=!!D.disabled),o.cloneElement(x,{onDone:k,disabled:E,showTooltip:C,hideTooltip:w})}return B});return t.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[t.jsx(Qu,{state:p}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(tc,{state:p,title:r,...s,useFaded:c}),f]}),b?t.jsx(ln,{anchorRect:g.anchorRect,backdrop:g.backdrop,onClose:w,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(hr,{text:g.text,onClose:w})}):null]})}function nc({context:e,state:n="disabled",theme:a="light"}){const{t:r}=ve.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 c=()=>u(P=>P==="dark"?"light":"dark"),{increase:d,decrease:p,canIncrease:m,canDecrease:h,fontSize:b,lineHeight:v}=al({storageKey:"textbox_fontScale"}),[g,y]=o.useState(""),_=o.useRef(null),C=o.useRef(!1),w=o.useCallback(()=>{C.current=or()&&!!_.current&&_.current.contains(document.activeElement),i("active")},[]),f=o.useCallback(()=>y(""),[]),B=P=>{try{y(P)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(n!=="disabled"){const P=setTimeout(()=>i(n),0);return()=>clearTimeout(P)}},[n]);const D=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,A]=o.useState(D);k!==D&&(A(D),i("disabled"));const E=n==="disabled"?s:n,j=E==="disabled"?"training-text-box--disabled":E==="active"?"training-text-box--active":E==="done"?"training-text-box--done":"",z=o.useMemo(()=>({fontSize:`${b}px`,lineHeight:`${v}px`}),[b,v]);return o.useEffect(()=>{if(E==="disabled"||!C.current)return;C.current=!1;const P=document.activeElement;P&&P!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),t.jsxs("div",{ref:_,className:`training-text-box ${j} ${E!=="disabled"&&l==="dark"?"is-dark":""}`,children:[E==="disabled"&&t.jsx("div",{className:"training-text-box__preview",children:t.jsx(me,{htmlType:"button",size:48,type:"bar",onClick:w,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:D})}),E!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>B(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:!h,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>B(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(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:c,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(oa,{message:g,position:"top",onClose:f})]})}function Uo({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:c,choices:d,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:h=!1,choiceIcons:b,shuffleChoices:v=!0}){const{t:g}=ve.useTranslation(),y=r??g("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),_=typeof e=="number"?e:-1,C=typeof n!="number"?"disabled":_<n?"done":_===n?"active":"disabled",w=Array.isArray(d)&&d.length?d:typeof u<"u"?[u].concat(Array.isArray(c)?c:[]):void 0,f=c?c.join("||"):"",B=d?d.join("||"):"",[x,D]=o.useState(()=>Array.isArray(w)?v?va(w):w.slice():void 0);o.useEffect(()=>{Array.isArray(w)&&w.length?D(v?va(w):w.slice()):D(void 0)},[u,f,B,v]);const[k,A]=o.useState(null),[E,j]=o.useState(()=>new Set);o.useEffect(()=>{A(null),j(new Set)},[B,u,f]);const z=o.useRef(void 0);o.useEffect(()=>{const S=z.current;typeof S=="number"&&typeof n=="number"&&typeof e=="number"&&S>=e&&n<e&&(A(null),j(new Set)),z.current=n},[n,e]);const P=o.useCallback(S=>{if(C!=="active")return;const M=x?.[S];if(M==null)return;const O=M,Q=C==="active"||C==="done";if(p){const te=new Set(E),V=te.has(O);V?te.delete(O):te.add(O),j(te),typeof l=="function"&&l({selectedValues:[...te],__ts:Date.now()}),Q&&(typeof m=="number"&&m>0?te.size>=m:!V)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...te],__ts:Date.now()})}else A(O),typeof l=="function"&&l({selectedIndex:S,selectedValue:O,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:S,selectedValue:O,__ts:Date.now()})},[x,C,p,l,i,m,E]),W=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:y,useTitleFaded:s,children:t.jsx("div",{className:W,children:Array.isArray(x)&&x.length>0?x.map((S,M)=>t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>P(M),ariaLabel:String(S),label:S,useLabel:!0,icon:b?b[String(S)]:void 0,variant:"default",disabled:C==="disabled",selected:p?E.has(S):k===S,useDisabledCovered:h,minWidth:0},String(S))):null})})}function Go({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:c}=ve.useTranslation(),d=r??c("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",h=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",b=l&&typeof l=="object"?l.choices:void 0,[v,g]=o.useState(u??null),y=`${String(h)}\0${JSON.stringify(b??null)}`,[_,C]=o.useState(y);_!==y&&(C(y),u==null&&g(null));const[w,f]=o.useState(u);Object.is(w,u)||(f(u),g(u??null));const B=o.useRef(void 0);o.useEffect(()=>{const A=B.current;typeof A=="number"&&typeof n=="number"&&typeof e=="number"&&A>=e&&n<e&&u==null&&g(null),B.current=n},[n,e,u]);const x=o.useCallback(A=>{const E=typeof A=="object"&&A!==null?Object.assign({},A,{__ts:Date.now()}):{value:A,__ts:Date.now()};typeof i=="function"&&i(E),m==="active"&&typeof s=="function"&&s(E)},[i,m,s]),D=o.useCallback(()=>{m==="active"&&(g(!1),x(!1))},[x,m]),k=o.useCallback(()=>{m==="active"&&(g(!0),x(!0))},[x,m]);return t.jsxs(Kn,{index:e,stepIndex:n,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[t.jsx(nc,{context:l,state:m}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(b)&&b.length>0?b.slice(0,6).map((A,E)=>t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(g(E),x&&x(E))},disabled:m==="disabled",ariaLabel:String(A),label:A,variant:m,selected:v===E},E)):t.jsxs(t.Fragment,{children:[t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:D,disabled:m==="disabled",icon:"x",ariaLabel:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:m==="disabled",icon:"circle",ariaLabel:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function Ko({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:u,usePreviewTextBtn:c,previewText:d=null,onPreviewTextBtn:p,disabled:m,_pageIndex:h,showSoundWaveForm:b,showNoiseWaveForm:v,leadInMs:g,tailMs:y}){const{t:_}=ve.useTranslation(),C=r??_("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(Kn,{index:e,stepIndex:n,isLast:a,title:C,onDone:s,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:p},children:t.jsx(Wo,{soundSrc:l,ttsText:l?null:d??C,bucketPath:u,btnLabel:i||_("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:b,showNoiseWaveForm:v,leadInMs:g,tailMs:y},`audio-p${h??0}-s${e}`)})}const m3=[];function Yo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=m3}){const{t:u}=ve.useTranslation(),c=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=F=>typeof F=="string"?F:F&&(F.context||F.sentence||F.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[h,b]=o.useState(()=>(p||[]).map((F,N)=>({id:N,text:d(F)}))),v=o.useMemo(()=>typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled",[n,e]),g=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 N=(I=>{const L=(I||[]).map((K,Y)=>({id:Y,text:d(K)}));if(L.length<=1)return L;const $=(K,Y)=>{if(K.length!==Y.length)return!1;for(let ae=0;ae<K.length;ae++)if(K[ae].text!==Y[ae].text)return!1;return!0};let H=va(L),X=0;for(;$(H,L)&&X<20;)H=va(L),X+=1;return H})(F);b(N);try{if(typeof i=="function"){const I=N.filter((L,$)=>L.text===d(F[$])).length;i({shuffled:N,score:I,total:(F||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const I=N.filter((L,$)=>L.text===d(F[$])).length;s({shuffled:N,score:I,total:(F||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const _=(F,N)=>{const I=[...h],L=F+N;if(L<0||L>=I.length)return;const $=I[L];I[L]=I[F],I[F]=$,M(I);try{if(typeof s=="function"&&v==="active"){const H=I.filter((X,K)=>X.text===d(p[K])).length;s({shuffled:I,score:H,total:(p||[]).length,__ts:Date.now()})}}catch{}},[C,w]=o.useState(null),f=o.useRef(null),B=o.useRef(null),x=o.useRef(null),D=o.useRef(null),k=o.useRef(null),A=o.useRef({x:0,y:0}),E=o.useRef(null),j=o.useRef({dx:0,dy:0}),z=()=>{if(E.current!==null)return;const F=()=>{if(!f.current){E.current=null;return}E.current=requestAnimationFrame(F);const N=A.current,I=j.current||{dx:0,dy:0};f.current&&(f.current.style.transform=`translate3d(${N.x-I.dx}px, ${N.y-I.dy}px, 0)`)};E.current=requestAnimationFrame(F)},P=o.useRef(new Map),W=o.useRef(new Map),S=()=>{const F=new Map;return P.current.forEach((N,I)=>{N&&N.getBoundingClientRect&&F.set(I,N.getBoundingClientRect())}),F},M=F=>{const N=S();b(F);try{if(typeof i=="function"){const I=F.filter((L,$)=>L.text===d(p[$])).length;i({shuffled:F,score:I,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const I=S();F.forEach(L=>{const $=N.get(L.id),H=I.get(L.id),X=P.current.get(L.id);if(!X||!$||!H)return;const K=$.top-H.top;K&&(X.style.transition="none",X.style.transform=`translateY(${K}px)`,requestAnimationFrame(()=>{X.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",X.style.transform="";const Y=()=>{X.style.transition="",X.removeEventListener("transitionend",Y)};X.addEventListener("transitionend",Y)}))})})},O=(F,N)=>{try{try{N.dataTransfer?.setData("text/plain",String(F))}catch{}try{N.dataTransfer&&(N.dataTransfer.effectAllowed="move")}catch{}try{const I=document.createElement("div");I.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(I),N.dataTransfer?.setDragImage(I,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(I)}catch{}})}catch{}}catch{}w(F);try{const I=h[F],L=document.createElement("div");L.className="order-list__dragging-object order-list__dragging-object--visible",L.textContent=I&&I.text?I.text:"",document.body.appendChild(L),f.current=L;const $=P.current.get(I.id);let H=N.clientX||0,X=N.clientY||0;try{if($&&$.getBoundingClientRect){const ke=$.getBoundingClientRect();H=ke.left+ke.width/2,X=ke.top+ke.height/2}}catch{}const K=L.getBoundingClientRect(),Y=K.width/2,ae=K.height/2;j.current={dx:Y,dy:ae},L.style.transition="none",A.current={x:H,y:X},L.style.transform=`translate3d(${H-Y}px, ${X-ae}px, 0)`,requestAnimationFrame(()=>{try{L.style.transition=""}catch{}z()});const le=ke=>{const q=ke;A.current={x:q.clientX,y:q.clientY},z()};x.current=le,document.addEventListener("mousemove",le);const se=ke=>{const q=ke;A.current={x:q.clientX,y:q.clientY},z()};B.current=se,document.addEventListener("dragover",se);try{N.dataTransfer?.setData("text/plain",String(F));try{N.dataTransfer?.setData("application/json",JSON.stringify({idx:F}))}catch{}}catch{}}catch{}},Q=(F,N)=>{N.preventDefault();try{N.dataTransfer&&(N.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const I=N.currentTarget&&N.currentTarget.closest?N.currentTarget.closest(".order-list__item"):null;if(I&&D.current!==I){if(D.current)try{D.current.classList.remove("drag-over")}catch{}try{I.classList.add("drag-over")}catch{}D.current=I}}catch{}},te=(F,N)=>{N.preventDefault();const I=N.dataTransfer?.getData("text/plain")||"",L=I?parseInt(I,10):C,$=F;if(typeof L!="number"||isNaN(L)||L===$){w(null),R(),V();return}const H=EC(h,L,$);M(H),w(null),V();try{if(typeof s=="function"&&v==="active"){const X=H.filter((K,Y)=>K.text===d(p[Y])).length;s({shuffled:H,score:X,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const X=document.querySelectorAll(".order-list .order-list__item")[$];if(!X)return;const K=X.querySelector(".order-list__slot")||X;try{K.classList.add("pulse"),K.offsetHeight,K.classList.add("to-dark");const Y=()=>{K.classList.remove("pulse","to-dark"),K.removeEventListener("transitionend",Y)};K.addEventListener("transitionend",Y)}catch{}})}catch{}R()},V=()=>{if(f.current){try{document.body.removeChild(f.current)}catch{}f.current=null}B.current&&(document.removeEventListener("dragover",B.current),B.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),E.current!==null&&(cancelAnimationFrame(E.current),E.current=null)},U=()=>{w(null),R(),V()};o.useEffect(()=>()=>V(),[]);const R=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),D.current){try{D.current.classList.remove("drag-over")}catch{}D.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,(h||[]).length);h.forEach((N,I)=>{const L=W.current.get(N.id);if(!L)return;let $=50;F>1&&($=Math.round(I/(F-1)*100));try{L.style.setProperty("--marker-pos",$+"%")}catch{}})}catch{}},[h]),o.useEffect(()=>()=>{V(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:c,children:t.jsx("div",{className:"order-list",children:h.map((F,N)=>{const I=Math.max(1,(h||[]).length),L=I>1?Math.round(N/(I-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:$=>{const H=W.current;$?H.set(F.id,$):H.delete(F.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:N+1})}):null,t.jsxs("div",{ref:$=>{const H=P.current;$?H.set(F.id,$):H.delete(F.id)},className:`order-list__draggable ${C===N?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:g,onDragStart:g?$=>O(N,$):void 0,onDragEnter:g?$=>Q(N,$):void 0,onDragOver:g?$=>Q(N,$):void 0,onDragLeave:g?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const $=document.querySelectorAll(".order-list .order-list__item");$&&$[N]&&($[N].classList.remove("drag-over"),D.current===$[N]&&(D.current=null))}catch{}},80)}catch{}}:void 0,onDrop:g?$=>te(N,$):void 0,onDragEnd:g?U:void 0,children:[t.jsx("span",{className:"order-list__item-text body-2",children:F.text}),g?t.jsxs("span",{className:"order-list__item-buttons",children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(N,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:N===0,useBorder:!1,useDisabledInvisible:!0}),t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(N,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:N===h.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},F.id)})})})}const h3=8e3;function C3(e,n){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,n)})}function ac({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:c=!1,hideAudio:d=!1,maxCards:p}){const{t:m}=ve.useTranslation(),h=r??m("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),b=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),v=p??3,g=(b||[]).slice(0,v);(b||[]).length>v&&console.warn(`TrainingStepCard: ${b.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,_=typeof n!="number"?"disabled":y<n?"done":y===n?"active":"disabled",[C,w]=o.useState(null),f=o.useRef([]),[B,x]=o.useState(!1),D=o.useRef(null),k=o.useRef(!0);o.useEffect(()=>(k.current=!0,()=>{k.current=!1}),[]);const A=o.useMemo(()=>b.map(W=>W?.id??W?.word??"").join("|"),[b]);o.useEffect(()=>{w(null)},[A]);const E=o.useRef(void 0);o.useEffect(()=>{const W=E.current;typeof W=="number"&&typeof n=="number"&&typeof e=="number"&&W>=e&&n<e&&w(null),E.current=n},[n,e]);const j=o.useCallback((W,S)=>{if(u)return;const M={item:W,index:S,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(_==="active"&&typeof s=="function")try{s(M)}catch{}},[u,i,_,s]),z=o.useCallback(async()=>{if(B||_==="disabled")return;x(!0);let W=!1;const S=new Promise(M=>{D.current=()=>{W=!0,M()}});try{for(let M=0;M<g.length&&!(!k.current||W);M++){const O=f.current[M];O&&await Promise.race([C3(O.play(),h3),S])}}finally{D.current=null,x(!1)}},[B,_,g.length]),P=o.useCallback((W,S)=>{if(_!=="active")return;w(S);const M={selectedValue:W.word||W.title||"",selectedIndex:S,item:W,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(_==="active"&&typeof s=="function")try{s(M)}catch{}},[i,_,s]);return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:h,onDone:s,titleProps:{usePlayAllBtn:!d&&g.length>0,onPlayAll:z,playAllActive:B},children:t.jsx("div",{className:"training-step__cards",onClickCapture:W=>{const S=D.current;if(!S)return;const M=W.target;M&&typeof M.closest=="function"&&M.closest(".training-word-card__bottom")&&S()},children:g.length===0?t.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):g.map((W,S)=>t.jsx(Eo,{ref:M=>{f.current[S]=M},item:W,disabled:_==="disabled",onPlayDone:()=>j(W,S),selectable:u,selected:u&&C===S,onSelect:u?()=>P(W,S):void 0,flipDelay:S*120,hideLabel:c,hideAudio:d},W&&W.id||S))})})}const f3=160,g3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function b3(e,n){const a=g3[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}const rc=()=>{};function Ln(e){const n=o.useId();if(!("variant"in e)){const{label:C,sub:w,onClick:f,children:B,align:x="horizontal",icon:D,useFullWidth:k=!1}=e,A=E=>{f&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),f())};return t.jsxs("div",{className:Be("panel-row",x==="vertical"?"panel-row--vertical":"",k?"panel-row--label-fixed panel-row--fill":"",f?"panel-row--clickable":""),onClick:f,onKeyDown:f?A:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,children:[D!=null&&t.jsx("div",{className:"panel-row__icon",children:D}),C!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:C}),w&&t.jsx("div",{className:"panel-row__sub caption-1",children:w})]}),t.jsx("div",{className:"panel-row__right",children:B})]})}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(La,{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:c="horizontal",useFullWidth:d=!1,icon:p}=e,m=a==="button"?void 0:i;let h=null;const b=a==="toggle"?`panel-toggle-${n}`:void 0,v=u?`panel-error-${n}`:void 0,g=`panel-helper-${n}`;if(a==="toggle"){const C=e;h=t.jsx(Wl,{checked:C.checked,onChange:C.onChange,id:b})}else if(a==="segmented"){const C=e;h=t.jsx(An,{options:C.options,value:C.value,onChange:C.onChange,size:C.size??40,ariaLabel:r})}else if(a==="dropdown"){const C=e,w=C.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:C.dropdowns.map((f,B)=>t.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:t.jsx(cn,{options:f.options,value:f.value,onChange:f.onChange,placeholder:f.placeholder,block:d,error:!!u,ariaDescribedBy:v,ariaLabel:f.ariaLabel??([r,f.placeholder].filter(Boolean).join(" ")||void 0)})},B))}):t.jsx(cn,{options:C.options??[],value:C.value??"",onChange:C.onChange??rc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:v});h=u?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[w,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}):w}else if(a==="button"){const C=e;C.buttons?.length?h=t.jsx("div",{className:"panel-row__button-group",children:C.buttons.map((w,f)=>t.jsx(me,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},f))}):h=t.jsx(me,{htmlType:"button",size:C.btnSize??40,variant:C.btnVariant??"default",disabled:C.disabled,onClick:C.onClick,children:C.buttonLabel})}else if(a==="text"){const C=e;h=t.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:C.valueColor?{color:C.valueColor}:void 0,children:C.value})}else if(a==="input"){const C=e;h=t.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[t.jsx(Gn,{value:C.value,onChange:C.onChange??rc,onKeyDown:C.onKeyDown,onEnter:C.onEnter,placeholder:C.placeholder,ghostText:C.ghostText,ghostHint:C.ghostHint,inputMode:C.inputMode,readOnly:C.readOnly,disabled:C.disabled,type:C.type,autoComplete:C.autoComplete,maxLength:C.maxLength,showCount:C.showCount,multiline:C.multiline,rows:C.rows,fullWidth:d,error:u,ariaLabel:r,required:l,ariaDescribedBy:C.helperText?g:void 0}),C.helperText&&t.jsx("div",{id:g,className:"panel-row__helper caption-1",children:C.helperText})]})}else a==="custom"&&(h=e.children);u&&a!=="input"&&a!=="dropdown"&&(h=t.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,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")&&d,_=C=>{m&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),m())};return t.jsxs("div",{className:Be("panel-row",c==="vertical"?"panel-row--vertical":"",y?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",m?"panel-row--clickable":""),onClick:m,onKeyDown:m?_: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:[b?t.jsxs("label",{htmlFor:b,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:h})]})}function oc(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function y3({devices:e,onRelease:n,emptyLabel:a}){const{t:r}=ve.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(me,{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(At,{size:"small",variant:lu(i.device),fill:"soft",label:b3(i.device,r)}),oc(i)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:oc(i)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),ko(i.wornYear,i.wornMonth,i.wornDay)&&t.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:ko(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:c,scrollable:d,scrollbarGutter:p="auto",compactRows:m=!1,useBorder:h=!0,useBg:b=!0,useRowBorder:v=!0,labelWidth:g,form:y=!1,loading:_,empty:C,children:w}){const f=Be("panel",`panel--${i}`,y?"panel--form":"",l!==void 0?"panel--fill":"",h?"":"panel--no-border",b?"":"panel--no-bg",v?"":"panel--no-row-border",m?"panel--compact-rows":"",c),B={};l!==void 0&&(B.minHeight=l),u!==void 0&&(B.maxWidth=typeof u=="number"?`${u}px`:u),g!==void 0&&(B["--panel-label-width"]=typeof g=="number"?`${g}px`:g);const x=n?`h${n}`:"div";return t.jsxs("div",{className:f,style:Object.keys(B).length?B:void 0,children:[(!!e||r!=null)&&t.jsxs("div",{className:Be("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&t.jsx(Qe,{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})]}),_?t.jsx(Ln,{variant:"loading"}):C!=null&&o.Children.toArray(w).length===0?t.jsx(Ln,{variant:"empty",children:C}):d?t.jsx("div",{className:Be("panel__body--scroll",p==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function v3({cols:e=2,layout:n="grid",gap:a=1,collapseAt:r,className:s,style:i,children:l}){const u=o.useRef(null),[c,d]=o.useState();o.useEffect(()=>{const m=u.current;if(r===void 0||!m||(d(m.clientWidth),typeof ResizeObserver>"u"))return;const h=new ResizeObserver(([b])=>d(b.contentRect.width));return h.observe(m),()=>h.disconnect()},[r]);const p=r!==void 0&&c!==void 0&&c<=r;return t.jsx("div",{ref:u,className:Be("panel-grid",n==="columns"&&"panel-grid--columns",s),style:{"--panel-grid-cols":p?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function x3(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 sc(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"}]}x3($t.t.bind($t)),sc($t.t.bind($t));const Zo="none",_3=.5,w3=1.5,B3=.25;function Xo({title:e,valueLabel:n,value:a,min:r,max:s,step:i,tickStep:l,size:u,onChange:c}){return t.jsxs(Ln,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(au,{value:a,onChange:c,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 ic({anchorRect:e,onClose:n}){const{t:a}=ve.useTranslation(),r=rn("(max-width: 767px)")?40:24,s=cr(),i=Pa(s?.settings??Ia),l=s?.settings.type??"defaultNoise",u=s?.settings.enabled??!0,c=s?.playbackRate??1,d=s?.mainVolume??1,p=Math.round(d*100),m=o.useCallback(g=>{try{s?.setMainVolume(Math.max(0,Math.min(1,g/100)))}catch{}},[s]),h=o.useCallback(g=>{try{s?.setPlaybackRate(g)}catch{}},[s]),b=o.useCallback(g=>{const y=Math.min(Ra,Math.max(0,Math.round(g*10)/10));try{s?.setSettings({noiseRatio:y})}catch{}},[s]),v=o.useCallback(g=>{try{g===Zo?s?.setSettings({enabled:!1}):s?.setSettings({type:g,enabled:!0})}catch{}},[s]);return t.jsx(ln,{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(me,{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(Xo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),t.jsx(Xo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${c.toFixed(2)}x`,value:c,min:_3,max:w3,step:B3,size:r,onChange:h}),t.jsx(Ln,{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:Zo,label:a("training.noise.type.none","\uC5C6\uC74C")},...sc(a).map(g=>({key:g.value,label:g.label}))],value:u?l:Zo,onChange:v})}),t.jsx(Xo,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:Ra,step:qu,size:r,onChange:b})]})})}function lc({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:u=1,resultOpen:c=!1}){const{t:d}=ve.useTranslation(),[p,m]=o.useState(!1),[h,b]=o.useState(null),[v,g]=o.useState(!1),y=o.useRef(null),_=o.useRef(null),C=cr(),w=u>0,f=w&&l<u-1,B=!w||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(m(!1),b(null))},[e]);const D=o.useCallback(()=>{m(!1),b(null)},[]),k=o.useCallback(()=>{if(p){m(!1),b(null);return}const O=y?.current?.getBoundingClientRect();O&&b(O),n?.(),m(!0)},[p,n]),A=o.useCallback(()=>{if(p){m(!1),b(null);return}const O=_?.current?.getBoundingClientRect();O&&b(O),n?.(),m(!0)},[p,n]),E=rn("(max-width: 767px)"),j=o.useRef(null),[z,P]=o.useState(null),W=o.useCallback(()=>{g(O=>{const Q=!O;return P(Q?j.current?.getBoundingClientRect()??null:null),Q})},[]),S=o.useCallback(()=>{g(!1),P(null)},[]);o.useEffect(()=>{c&&(g(!1),P(null))},[c]);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:d("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(wo,{analyser:C?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),t.jsx(wo,{analyser:C?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]});return ec(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[y.current,_.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(me,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:k,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(me,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:A,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:d("training.settings","\uC124\uC815")})})})]}):null,e&&t.jsx("div",{ref:j,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:t.jsx(me,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:W,selected:v,"aria-expanded":E?v:void 0,ariaLabel:d("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(ln,{anchorRect:z,onClose:S,ariaLabel:d("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:[B&&t.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!x}),f&&t.jsx(me,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!x})]}),e&&p&&t.jsx(ic,{anchorRect:h,onClose:D})]})}function uc({title:e,subtitle:n,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:u,pageCount:c,progressMax:d,progressIndex:p,onBack:m,onClose:h}){const{t:b}=ve.useTranslation(),v=rn("(max-width: 767px)"),g=Number.isInteger(p)?p:u||0,y=Number.isInteger(d)?d:c||0,_=m||h,C=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,f=typeof n=="string"?n.trim():n,B=!!(w||f),x=B?w||f:b("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),D=C||(w?n:void 0),k=v&&typeof D=="string"&&(D.includes(" \xB7 ")||D.includes(" / "))?D.split(/\s[·/]\s/).pop():D,A=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:[_?t.jsx(me,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:b("common.back","\uB4A4\uB85C"),onClick:_,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:s?t.jsx($l,{icon:s,label:e,tooltip:l,wrapperStyle:A}):null}),t.jsxs("div",{className:"pp-title__text",children:[k?t.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,t.jsx("span",{className:`pp-title__title h2${B?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(iu,{max:Math.max(0,y??0),index:Math.max(0,g??0)})]})}function A3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function k3(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 cc=(e,n)=>{if(!n)return n;const a=typeof $t?.t=="function"?$t.t(e,{defaultValue:n}):void 0;return typeof a=="string"&&a?a:n};function dc(e,n,a){const r=e,s=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",i=Ci().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?cc(`topic.${i.key}`,i.label):void 0,l?cc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Jo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function pc(e,n,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e,s=typeof a=="number"&&a>0?a:Date.now();return{...r,...r.shownAt===void 0&&n?{shownAt:n}:{},...r.answeredAt===void 0?{answeredAt:new Date(s).toISOString()}:{}}}function N3(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function D3({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const c=dc(n,a,r),d=typeof u=="function"?u(c)||{}:u||{},p=n?.id||n?.title||s.length;return{id:`${e}:${p}`,meta:{...c,...d},pages:s,emptyMessage:i,buildResults:l}}function E3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function S3(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 j3(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 mc(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function T3(e,n,a,r){return mc(e,n*a+r)}function M3({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 L3(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 hc=o.createContext(null);function $3(){const e=o.useContext(hc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function R3({index:e,stepIndex:n,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=ve.useTranslation(),c=typeof e=="number"?e:-1,d=typeof n!="number"?"disabled":c<n?"done":c===n?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),h=JSON.stringify(s),b=s.length;o.useEffect(()=>{m(Array.from({length:b},()=>null))},[h]);const v=o.useRef(void 0);o.useEffect(()=>{const C=v.current;typeof C=="number"&&typeof n=="number"&&typeof e=="number"&&C>=e&&n<e&&m(Array.from({length:b},()=>null)),v.current=n},[n,e,b]);const g=o.useMemo(()=>p.filter(C=>C!==null).length+1,[p]),y=o.useCallback(C=>{if(d!=="active")return;const w=p;let f;if(w[C]!=null){const x=w[C];f=w.map(D=>D!==null&&D>=x?null:D)}else f=[...w],f[C]=g;m(f);const B={selectedOrder:f,words:s,__ts:Date.now()};try{typeof l=="function"&&l(B)}catch{}if(w[C]==null&&f.length>0&&f.every(x=>x!==null))try{typeof i=="function"&&i(B)}catch{}},[d,p,g,l,i,s]),_=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:_,onDone:i,children:t.jsx("div",{className:"training-step__cards",children:s.map((C,w)=>t.jsx(Eo,{item:{word:C},disabled:d==="disabled",selectable:!0,selected:p[w]!==null,orderRank:p[w],onSelect:()=>y(w),flipDelay:w*120,hideLabel:!1,hideAudio:!0},`${C}-${w}`))})})}function fr(e){return null}fr.__isTrainingPage=!0;function pa(e,n){const a=$3();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 Cc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=pa(e,n);return t.jsx(Ko,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function fc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Uo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function gc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Go,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function bc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Yo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function yc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(ac,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function P3({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(R3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Qo(...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 F3(e){return Qo(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function vc(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=Qo(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 xc(e){const{score:n,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=ve.useTranslation(),p=o.useId(),m=o.useCallback(()=>!c,[c]);o.useEffect(()=>{const C=a??0;if(n!=null&&C>0&&n/C>.5){const w=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(w)}},[n,a]);const h=o.useCallback(C=>{const w=vc(C),f=Qo(C?.wording,C?.label);return w===!0?{variant:"main",label:f??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:w===!1?{variant:"danger",label:f??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:f??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),b=a??0,v=n??0,g=o.useMemo(()=>Array.isArray(r)?r:[],[r]),y=o.useMemo(()=>g.map(C=>{const w=C??{},f=F3(w)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:B,label:x}=h(w),D=Array.isArray(w.corrects)?w.corrects:[],k=D.length?D.join(", "):w.answer!=null&&w.answer!==""?String(w.answer):null,A=typeof w.selectedText=="string"?w.selectedText:null,E=vc(w)===!0;return{problem:f,variant:B,label:x,answer:k,selectedText:A,isCorrect:E}}),[g,h,d]),_=o.useMemo(()=>y.some(C=>C.answer!==null||C.selectedText!==null),[y]);return t.jsx(Mn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:d("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:C,closeWithAnimation:w})=>t.jsxs(t.Fragment,{children:[c&&t.jsx("p",{id:p,className:"trp-actions__reason caption-1",role:"status",children:d("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(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>C(i)}),t.jsx(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:w,disabled:c,onDisabledClick:c?()=>{}:void 0,"aria-describedby":c?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:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:d("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":d("training.result.scoreAria",{correct:v,total:b}),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:b})]})})]}),y.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${_?" result-table--answer":""}`,role:"table","aria-label":d("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:d("common.col.problem","\uBB38\uC81C")}),_&&t.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),y.map((C,w)=>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(w+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:C.problem})]}),_&&t.jsxs("div",{className:"trp-row__answers",children:[C.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:C.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${C.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${C.isCorrect?"is-correct":"is-wrong"}`,children:C.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(At,{variant:C.variant,label:C.label,fill:"soft",minWidth:80})})]},w))]})})]})})}function I3(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 c=()=>{if(u(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,TC({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{n()?l():c()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",c),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",c),c()}},[e])}function gr(e,n){return e&&e.id||`page-${n??0}`}function br(e,n){return e&&e.key||`step-${n??0}`}function yr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function O3(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const H3=300,z3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},$n=Object.freeze({}),_c=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function wc(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 V3=e=>t.jsx(xc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function W3(e){const{scenario:n,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:u,pageIndex:c,pageCount:d,stepIndex:p,stepCount:m,onBack:h,onComplete:b,onNext:v,onSettings:g,useNoiseSetting:y=!0,children:_,ariaLabel:C,label:w,buildResults:f,onResult:B,typeKey:x,entryPoint:D,dailyTotal:k,itemRef:A,renderResultPopup:E,noiseOverride:j}=e;I3(x&&!_c.has(x)?x:"");const z=o.useRef(0);o.useEffect(()=>{z.current=Date.now()},[]);const{t:P}=ve.useTranslation(),W=B,S=!!n,M=n?.id||null,O=n?.meta||{},Q=Array.isArray(n?.pages)?n.pages:[],te=Array.isArray(_)||o.isValidElement(_)&&typeof _!="function"?o.Children.toArray(_).filter(o.isValidElement):[],V=te.length>0,U=oe=>oe===fr||oe?.__isTrainingPage===!0,R=V&&te.some(oe=>U(oe.type)),F=R?te.filter(oe=>U(oe.type)).map((oe,ye)=>{const De=oe.props||{};return{id:`children-page-${ye}`,steps:o.Children.toArray(De.children).filter(o.isValidElement),pageTop:De.pageTop||De.top||null,pageBottom:De.pageBottom||De.bottom||null}}):[{id:"children-page-0",steps:te}],N=V&&!S&&typeof _!="function",I=N?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 L4()},[]);const[L,$]=o.useState({...Ia,enabled:!1}),H=o.useRef(L);o.useEffect(()=>{H.current=L},[L]);const X=o.useRef(j),K=o.useRef(!1),Y=o.useRef(null);o.useEffect(()=>{let oe=!1;const ye=De=>{if(oe)return;K.current=!0;const Ue=De?Fa({...Ia,enabled:!1},De):{...Ia},Te=Y.current;Y.current=null;const Ve=Te?Fa(Ue,Te):Ue;H.current=Ve,$(Ve),Te&&!X.current&&ci(Ve),Ga(Ve);const We=X.current;if(We){const mt=typeof We=="function"?We(Ve):We,ee=Fa(Ve,mt);H.current=ee,$(ee),Ga(ee)}};return RC().then(ye),()=>{oe=!0}},[]);const[ae,le]=o.useState(null),[se,ke]=o.useState(null),q=o.useCallback((oe,ye)=>{oe==="main"?le(ye):ke(ye)},[]),ne=o.useRef(null),fe=o.useRef(null),xe=o.useCallback(()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null);const oe=ne.current;ne.current=null,oe&&ci(oe)},[]);o.useEffect(()=>{if(typeof window>"u")return;const oe=()=>{document.visibilityState==="hidden"&&xe()};return window.addEventListener("pagehide",xe),document.addEventListener("visibilitychange",oe),()=>{window.removeEventListener("pagehide",xe),document.removeEventListener("visibilitychange",oe),xe()}},[xe]);const he=o.useCallback(oe=>{const ye=Fa(H.current,oe);if(H.current=ye,$(ye),!K.current){Y.current={...Y.current??{},...oe},Ga(ye);return}X.current||(ne.current=ye,fe.current!==null&&clearTimeout(fe.current),fe.current=setTimeout(xe,H3)),Ga(ye)},[xe]),ie=L.mainSpeed,ce=L.mainVolume,ue=o.useCallback(oe=>he({mainSpeed:oe}),[he]),ge=o.useCallback(oe=>he({mainVolume:oe}),[he]),Ee=o.useMemo(()=>({settings:L,setSettings:he,registerAnalyser:q,mainAnalyser:ae,noiseAnalyser:se,playbackRate:ie,setPlaybackRate:ue,mainVolume:ce,setMainVolume:ge}),[L,he,q,ae,se,ie,ue,ce,ge]),Ne=o.useRef(null),[Ke,ze]=o.useState(0),qe=o.useRef([]),[He,ct]=o.useState("center"),[ot,st]=o.useState(!1),ht=o.useRef(!1),Ae=o.useRef(null),Fe=o.useCallback(oe=>{ht.current||(ht.current=!0,st(!0),Ae.current=setTimeout(()=>{try{oe()}catch{ht.current=!1,st(!1)}},z3()?0:f3))},[]);o.useEffect(()=>()=>{Ae.current&&clearTimeout(Ae.current)},[]);const we=o.useRef(h);o.useEffect(()=>{we.current=h}),o.useEffect(()=>{const oe=Ne.current,ye=document.activeElement;if(Yr(oe,ye),oe){const De=Array.from(oe.querySelectorAll(hn)).filter(Ue=>!Ue.closest('[aria-hidden="true"]'))[0];if(De)try{De.focus()}catch{}}return()=>{const De=document.activeElement;if(!De||De===document.body||oe&&oe.contains(De))try{Zr(ye)?.focus?.()}catch{}}},[]),o.useEffect(()=>Vn(()=>Fe(()=>{const oe=we.current;typeof oe=="function"&&oe()})),[Fe]),Gr(Ne,!0);const[at,Z]=o.useState(!1),re=o.useRef(!1),[pe,Se]=o.useState(null),it=o.useRef(0),Ye=()=>{it.current+=1,Se(null)},[xt,bt]=o.useState(""),[dt,rt]=o.useState(()=>yr()),et=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!S&&!N||(rt(yr()),Ye())},[S,M,N]),o.useEffect(()=>{N&&rt(oe=>{const ye=Math.max(0,Math.min(oe.pageIndex,Math.max(0,I-1)));return ye!==oe.pageIndex?{...oe,pageIndex:ye,stepIndex:0}:oe})},[N,I]);const tt=N?Math.max(0,Math.min(dt.pageIndex,I-1)):0,$e=N?F[tt]:null,Ge=N&&$e&&Array.isArray($e.steps)?$e.steps:[],Pe=S?dt.pageIndex:N?tt:typeof c=="number"?c:0,Ct=S?Q[Math.max(0,Math.min(dt.pageIndex,Math.max(0,Q.length-1)))]:null,Mt=S&&Ct&&Array.isArray(Ct.steps)?Ct.steps:[],Et=S?Mt.length:N?Ge.length:typeof m=="number"?m:0,lt=S||N?Math.max(0,Math.min(dt.stepIndex,Math.max(0,Et))):typeof p=="number"?p:0,gt=S?Q.length:N?I:typeof d=="number"?d:0;o.useEffect(()=>{if(!S&&!N)return;const oe=S?gr(Ct,Pe):$e?.id||`children-page-${Pe??0}`,ye=new Date().toISOString();for(let De=0;De<=lt;De+=1){const Ue=S?br(Mt[De],De):`step-${De}`,Te=Pt(oe,Ue);St.current.has(Te)||St.current.set(Te,ye)}},[S,N,Pe,lt,$e?.id]),o.useLayoutEffect(()=>{const oe=et.current;if(typeof Pe=="number"&&oe!==null&&Pe!==oe&&Pe>oe)try{bt(P("training.problemNotice",{n:Pe+1}))}catch{}et.current=typeof Pe=="number"?Pe:et.current},[Pe,c,P]),o.useLayoutEffect(()=>{const oe=Ne.current;if(!oe)return;const ye=()=>oe.querySelector(".page-popup__scroll");let De=null,Ue=null,Te=null;const Ve=Le=>{const Oe=ye();if(!Oe)return;const Je=Oe.scrollHeight<=Oe.clientHeight;if(ct(Je?"center":"top"),Le&&!re.current){re.current=!0;try{Z(!0)}catch{}try{ee.disconnect()}catch{}}},We=()=>{De!==null&&cancelAnimationFrame(De),De=requestAnimationFrame(()=>{Ue!==null&&clearTimeout(Ue),Ue=setTimeout(()=>Ve(!0),60)})},mt=()=>{Te!==null&&cancelAnimationFrame(Te),Te=requestAnimationFrame(()=>Ve(!1))};We(),window.addEventListener("resize",mt);const ee=new MutationObserver(We);ee.observe(oe,{childList:!0,subtree:!0,attributes:!0});const _e=setTimeout(()=>{re.current||Ve(!0)},400);return()=>{window.removeEventListener("resize",mt),De!==null&&cancelAnimationFrame(De),Ue!==null&&clearTimeout(Ue),Te!==null&&cancelAnimationFrame(Te),clearTimeout(_e);try{ee.disconnect()}catch{}}},[Ne]);const Ie=o.useCallback(oe=>{Ne.current&&(Ne.current._childOnNext=oe)},[]),pt=o.useCallback(oe=>{Ne.current&&(Ne.current._childOnResult=oe)},[]),St=o.useRef(new Map),Pt=(oe,ye)=>`${oe}\0${ye}`,Xe=o.useCallback((oe,ye,De)=>{rt(Ue=>{const Te=Ue.answersByPage[oe]||{},Ve=Te[ye],We=Jo(De),mt=Jo(Ve);if(Ve&&mt>We)return Ue;const ee=pc(De,St.current.get(Pt(oe,ye)),We);return{...Ue,answersByPage:{...Ue.answersByPage,[oe]:{...Te,[ye]:ee}}}})},[rt]),Nt=o.useCallback((oe,ye,De)=>{const Ue=gr(Ct,Pe),Te=br(oe,ye);Xe(Ue,Te,De)},[Ct,Pe,Xe]),Ft=o.useCallback((oe,ye,De)=>{const Ue=gr(Ct,Pe),Te=br(oe,ye);Xe(Ue,Te,De),!De?.allowChange&&oe?.autoAdvance!==!1&&rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,ye+1)}))},[Ct,Pe,Xe,rt]),kt=o.useCallback((oe,ye)=>{const De=$e?.id||`children-page-${Pe??0}`,Ue=typeof ye=="number"?ye:lt??0,Te=`step-${Ue}`;Xe(De,Te,oe),oe?.allowChange||rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,Ue+1)}))},[$e,Pe,lt,Xe,rt]),dn=o.useCallback((oe,ye)=>{const De=$e?.id||`children-page-${Pe??0}`,Ue=`step-${typeof ye=="number"?ye:lt??0}`;Xe(De,Ue,oe)},[$e,Pe,lt,Xe]),pn=N?{currentPageIndex:Pe??0,currentStepIndex:lt??0,totalStepsInPage:Ge.length,handleStepDone:kt,handleStepChange:dn}:null,fn=async()=>{const oe=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:Q,flowState:dt,answersByPage:dt.answersByPage})):null;return typeof W=="function"&&await Promise.resolve(W(oe))||oe},Pn=async()=>{const oe=$e?.id||`children-page-${dt.pageIndex}`,ye=dt.answersByPage[oe]||{},De=R?(()=>{const Ve={};let We=0;return F.forEach(mt=>{const ee=dt.answersByPage[mt.id]||{},_e=Array.isArray(mt.steps)?mt.steps.length:0;for(let Le=0;Le<_e;Le+=1){const Oe=ee[`step-${Le}`];typeof Oe<"u"&&(Ve[`step-${We+Le}`]=Oe)}We+=_e}),Ve})():ye;if(typeof f=="function"){const Ve=await Promise.resolve(f(De,{pageAnswers:ye,answersByPage:dt.answersByPage,pages:F,currentPageId:oe}));return typeof W=="function"&&await Promise.resolve(W(Ve))||Ve}const Ue=Object.entries(ye).map(([Ve,We],mt)=>({index:mt,key:Ve,payload:We})),Te={results:Ue,answers:Ue,score:0};return typeof W=="function"&&await Promise.resolve(W(Te))||Te},gn=()=>{const oe=++it.current,ye=()=>oe!==it.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(S){const Te=fn();Se($n);const Ve=Te;Promise.resolve(Ve).then(We=>{ye()||Se(We||{isEmpty:!0})}).catch(We=>{!ye()&&Se({isEmpty:!0})});return}if(N){const Te=Pn();Se($n);const Ve=Te;Promise.resolve(Ve).then(We=>{ye()||Se(We||{isEmpty:!0})}).catch(We=>{!ye()&&Se({isEmpty:!0})});return}const De=Ne.current&&Ne.current._childOnResult,Ue=Te=>{try{return Te?Te():void 0}catch{return}};if(typeof De=="function"){const Te=Ue(De);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Te&&typeof Te.then!="function"?Se(Te):Se(Te&&typeof Te.then=="function"?$n:{});const Ve=()=>{ye()||Se(We=>We===$n?{}:We)};Promise.resolve(Te).then(We=>{We&&!ye()?Se(We):Ve()}).catch(We=>{Ve()});return}if(typeof W=="function"){const Te=Ue(W);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Te&&typeof Te.then!="function"?Se(Te):Se(Te&&typeof Te.then=="function"?$n:{});const Ve=()=>{ye()||Se(We=>We===$n?{}:We)};Promise.resolve(Te).then(We=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}We&&!ye()?Se(We):Ve()}).catch(We=>{console.error("viewResults external handler failed",We),Ve()});return}},Fn=()=>{if(S){if(typeof Pe=="number"&&typeof gt=="number"&&Pe<gt-1){rt(ye=>({...ye,pageIndex:ye.pageIndex+1,stepIndex:0}));return}return gn()}if(N){const ye=Ge.length;if(typeof lt=="number"&&lt<ye-1){rt(De=>({...De,stepIndex:De.stepIndex+1}));return}if(typeof Pe=="number"&&typeof gt=="number"&&Pe<gt-1){rt(De=>({...De,pageIndex:De.pageIndex+1,stepIndex:0}));return}return gn()}if(typeof v=="function"){try{v()}catch{}return}const oe=Ne.current&&Ne.current._childOnNext;if(typeof oe=="function"){try{oe()}catch{}return}},mn=S?O.title||O.label||C||P("common.popup","\uD31D\uC5C5"):a||w||(Array.isArray(s)?s[s.length-1]:void 0)||C||P("common.popup","\uD31D\uC5C5"),Lt=C||mn,bn=S?O.title??O.label??mn:a??w??mn,Ot=(oe,ye)=>{const De=gr(Ct,Pe),Ue=br(oe,ye),Te=dt.answersByPage[De]?.[Ue],Ve=O3(oe,{page:Ct,pageIndex:Pe,step:oe,stepIndex:ye,storedPayload:Te,answersByPage:dt.answersByPage,flowState:dt}),We={key:Ue,index:ye,stepIndex:lt,isLast:ye===Mt.length-1};switch(oe?.type){case"listen":return t.jsx(Ko,{...We,...Ve,onDone:mt=>Ft(oe,ye,mt)});case"confirm":return t.jsx(Uo,{...We,...Ve,onDone:mt=>Ft(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});case"confirmWithText":return t.jsx(Go,{...We,...Ve,onDone:mt=>Ft(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});case"orderList":return t.jsx(Yo,{...We,...Ve,onDone:mt=>Ft(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});default:return null}},qt=o.useRef(void 0);o.useEffect(()=>{const oe=qt.current;if(qt.current=Pe,oe===void 0||oe===Pe||!or())return;const ye=Ne.current;if(!ye)return;const De=document.activeElement;if(!(!De||De===document.body||!ye.contains(De)||De.disabled===!0))return;const Ue=ye.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(ye.querySelectorAll(hn)).find(Te=>!Te.closest('[aria-hidden="true"]'));try{Ue?.focus()}catch{}},[Pe]);const In=S?Q.length>0?t.jsx("div",{className:"training-steps",children:Mt.map((oe,ye)=>Ot(oe,ye))},`replay-${Ke}`):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||P("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,on=N?t.jsxs(hc.Provider,{value:pn,children:[$e?.pageTop?t.jsx("div",{className:"training-page-top",children:$e.pageTop}):null,t.jsx("div",{className:"training-steps",children:Ge.map((oe,ye)=>{const De=oe;return o.cloneElement(De,{...De.props,_stepIndex:ye,_totalSteps:Ge.length,_stepKey:`step-${ye}`,_pageIndex:Pe})})},`replay-${Ke}`),$e?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:$e.pageBottom}):null]}):null,yn=o.useCallback(()=>{let oe;if(x){const ye=pe,{results:De,correct:Ue,total:Te}=wc(pe);MC({items:$C(De),category:_c.has(x)?"sentence":"word",trainingType:x,entryPoint:D??"sentence",itemRef:A??null,correct:Ue,total:Te,score:typeof ye?.score=="number"?ye.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-z.current)/1e3)),dailyTotal:k??null}),oe={correct:Ue,total:Te,attempt:qe.current.length+1,previousAttempts:[...qe.current]}}Ye(),Fe(()=>{typeof b=="function"&&b(oe),typeof h=="function"&&h()})},[b,h,x,D,k,A,pe,Se,Fe]),Dn=o.useCallback(()=>bt(""),[bt]),Jt=o.useCallback(()=>{Fe(()=>{typeof h=="function"&&h()})},[h,Fe]),Ut=t.jsxs("div",{className:`page-popup${ot?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Lt,children:[t.jsxs("div",{ref:Ne,className:`page-popup__panel ${at?"":"page-popup__panel--measuring"} ${He==="center"?"page-popup__panel--center":He==="top"?"page-popup__panel--top":""}`,children:[t.jsx(uc,{title:bn,subtitle:S?O.subtitle||O.label:Array.isArray(s)?s.join(" / "):void 0,desc:S?void 0:r,depth:S?O.depth:s,icon:S?O.icon:i,wrapperStyle:S?O.wrapperStyle:l,iconTooltip:S?O.iconTooltip:u,progressMax:gt,progressIndex:Pe,pageIndex:Pe,pageCount:gt,onBack:Jt,onClose:Jt}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${He==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:N?on:S?In:typeof _=="function"?_({registerOnNext:Ie,registerOnResult:pt,panelRef:Ne,setResultOverlay:Se}):_})}),t.jsx(lc,{onSettings:g,onNext:Fn,onResult:gn,useNoiseSettingBtn:!!(S?O.useNoiseSetting??!0:y),stepIndex:lt,stepCount:Et,pageIndex:Pe,pageCount:gt,resultOpen:!!(pe&&!pe.isEmpty)})]}),pe&&!pe.isEmpty&&(E??V3)({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!==$n){const{correct:oe,total:ye}=wc(pe);qe.current.push({correct:oe,total:ye})}if(Ye(),ze(oe=>oe+1),S){if(rt(yr()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(N){rt(yr());return}try{const oe=Ne.current&&Ne.current._childOnResult;typeof oe=="function"&&oe({replay:!0})}catch{}},onClose:yn,pending:pe===$n}),pe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":P("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:P("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(me,{htmlType:"button",variant:"main",size:48,onClick:yn,label:P("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(oa,{message:xt,position:"top",onClose:Dn})]}),Ht=t.jsx(Oo.Provider,{value:Ee,children:Ut});return typeof document<"u"&&document.body?Qt.createPortal(Ht,document.body):Ht}const Rn=W3;Rn.Page=fr,Rn.ListenStep=Cc,Rn.ConfirmStep=fc,Rn.ConfirmWithTextStep=gc,Rn.OrderListStep=bc,Rn.CardStep=yc,Rn.CardOrderStep=P3;function q3({label:e,homonum:n}){const a=Jn()?.(e,n)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=Do(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 Bc({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 c=n.left+n.width/2-i/2,d=n.top-l-8;d<8&&(d=n.bottom+8),c=Math.max(8,Math.min(c,u-i-8)),s({left:c,top:d})},[n]),!n||e.length===0?null:Qt.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(q3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const U3=new Intl.Collator("ko");function G3({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:u,maxSelect:c,onClearSelection:d,onPrint:p,onPrintEmpty:m,className:h,emptyHint:b,sectionType:v="page",disc:g}){const{t:y,i18n:_}=ve.useTranslation(),C=_.language?.startsWith("ko")??!1,{anchorRect:w,openAt:f,close:B}=Ba(),[x,D]=o.useState(null),k=o.useCallback(()=>{B(),D(null)},[B]);hb(k,!!x);const A=(r??"").trim(),E=/^[^,[\]\s]+$/.test(A)?A:"",j=E.length>0,z=r===void 0&&n===void 0,P=j?"match":z?"original":"ganada",[W,S]=o.useState(()=>P),[M,O]=o.useState("50"),[Q,te]=o.useState(1),[V,U]=o.useState(j);V!==j&&(U(j),S(P));const R=W==="match"&&!j||W==="original"&&!z?P:W,F=o.useMemo(()=>[...j?[{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,j,z]),N=o.useMemo(()=>["10","25","50","100"].map(ie=>({value:ie,label:y("wordSearch.pageSize",{count:Number(ie),defaultValue:`${ie}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),I=ie=>ie.words?.[0],L=o.useMemo(()=>{const ie=[...E].length,ce=bC(E),ue=new Map;return ge=>{let Ee=ue.get(ge);return Ee===void 0&&(Ee=ce((ge.words?.[0]?.label??"").slice(0,ie))?0:1,ue.set(ge,Ee)),Ee}},[E]),$=o.useCallback((ie,ce)=>{const ue=Ne=>I(Ne)?.label??"",ge=Ne=>I(Ne)?.syllables??[...ue(Ne)].length,Ee=Ne=>(Ne.words??[]).reduce((Ke,ze)=>{const qe=parseInt(ze.grade??"",10);return Number.isFinite(qe)&&qe<Ke?qe:Ke},999);switch(R){case"match":return L(ie)-L(ce)||U3.compare(ue(ie),ue(ce));case"ganada":return ue(ie).localeCompare(ue(ce),"ko");case"ganada_desc":return ue(ce).localeCompare(ue(ie),"ko");case"syllable":return ge(ie)-ge(ce)||ue(ie).localeCompare(ue(ce),"ko");case"syllable_desc":return ge(ce)-ge(ie)||ue(ie).localeCompare(ue(ce),"ko");case"grade":return Ee(ie)-Ee(ce)||ue(ie).localeCompare(ue(ce),"ko");case"grade_desc":return Ee(ce)-Ee(ie)||ue(ie).localeCompare(ue(ce),"ko");default:return 0}},[R,L]),H=o.useMemo(()=>s.slice().sort($),[s,$]),X=Number(M)||10,K=o.useMemo(()=>(i??[]).flatMap(ie=>ie.items.slice().sort($).map(ce=>({item:ce,label:ie.label}))),[i,$]),Y=i?K.length:H.length,ae=Math.max(1,Math.ceil(Y/X)),le=Math.min(Q,ae),se=o.useMemo(()=>H.slice((le-1)*X,le*X),[H,le,X]),ke=o.useMemo(()=>{if(!i)return null;const ie=K.slice((le-1)*X,le*X),ce=new Map;for(const{item:ue,label:ge}of ie)ce.has(ge)||ce.set(ge,[]),ce.get(ge).push(ue);return[...ce.entries()].map(([ue,ge])=>({label:ue,items:ge}))},[i,K,le,X]);o.useEffect(()=>{te(1)},[W,M,Y,r]);const q=Y>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(cn,{size:40,options:F,value:R,onChange:S,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(cn,{size:40,options:N,value:M,onChange:O,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(nr,{page:le,totalPages:ae,onChange:te})]}):void 0,ne=ie=>{u&&u(ie)},fe=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:C?kC(a):a})]}):void 0,xe=n!==void 0&&n>0&&c!==void 0&&a?y("wordSearch.resultDisc",{unit:C?DC(a):a,max:c,selected:l.length}):void 0,he=g??xe;return t.jsxs(ia,{type:v,className:Be("word-search-result-block",h),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(fe||q||he)&&t.jsxs("div",{className:"word-search-result-block__head",children:[t.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&t.jsx(Qe,{icon:e,className:"word-search-result-block__head-icon"}),fe&&t.jsx("span",{className:"word-search-result-block__title h3",children:fe})]}),q&&t.jsx("div",{className:"word-search-result-block__head-actions",children:q}),he&&t.jsx("div",{className:"word-search-result-block__head-disc body-3",children:he})]}),(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.")}),b&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:b})]}),i?(ke??[]).map(ie=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:ie.items.map(ce=>{const ue=l.includes(ce.id);return t.jsx("div",{onMouseEnter:ge=>{f(ge.currentTarget),D(ce.words??[])},onMouseLeave:k,children:t.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(ce.words??[]).map(ge=>ge.label),subLabel:(ce.words??[]).some(ge=>ge.subLabel)?(ce.words??[]).map(ge=>ge.subLabel):void 0,selected:ue,onClick:()=>ne(ce.id),minWidth:200})},ce.id)})})},ie.label)):t.jsx("div",{className:"word-search-result-block__items",children:se.map(ie=>{const ce=l.includes(ie.id);return t.jsx("div",{onMouseEnter:ue=>{f(ue.currentTarget),D(ie.words??[])},onMouseLeave:k,children:t.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(ie.words??[]).map(ue=>ue.label),subLabel:(ie.words??[]).some(ue=>ue.subLabel)?(ie.words??[]).map(ue=>ue.subLabel):void 0,selected:ce,onClick:()=>ne(ie.id),minWidth:200})},ie.id)})}),x&&w&&t.jsx(Bc,{words:x,anchorRect:w})]}),ae>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(nr,{page:le,totalPages:ae,onChange:te})}),(d||p)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[d&&t.jsx(me,{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:d}),p&&t.jsx("div",{onClick:l.length===0?m:void 0,children:t.jsx(me,{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 K3(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 Y3({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:c,placeholder:d="-",className:p,title:m,titleIcon:h,disc:b,showInfoButton:v=!0,onClearPhoneme:g,onSearch:y,onSearchEmpty:_,searchDisabled:C=!1,searchLabel:w,searchChecking:f=!1,pairMode:B=!1,sectionType:x="page",beforeSearchContent:D,beforeContent:k,afterContent:A,hideCountControl:E=!1,ordinal:j=!1}){const{t:z}=ve.useTranslation(),P=o.useMemo(()=>z("wordPairs.infoNotes",{returnObjects:!0}),[z]),W=o.useMemo(()=>Array.from({length:s-i+1},(L,$)=>{const H=i+$;return{key:String(H),label:z("wordPairs.count",{n:H})}}),[z,s,i]),S=o.useMemo(()=>z("wordPairs.ordinals",{returnObjects:!0}),[z]),M=o.useCallback(L=>j?z("wordPairs.phonemeOrdinalLabel",{ordinal:S[L-1]??L}):a===1?z("wordPairs.phonemeSingleLabel","\uC74C\uC808"):z("wordPairs.phonemeN",{n:L}),[j,S,a,z]),O=o.useCallback(L=>j?z("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[L-1]??L}):a===1?z("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):z("wordPairs.phonemeContrast",{n:L}),[j,S,a,z]),Q=o.useCallback((L,$)=>$?t.jsxs(t.Fragment,{children:[L,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):L,[]),{anchorRect:te,toggleAt:V,close:U}=Ba(),R=o.useCallback(L=>r(Number(L)),[r]),F=rn("(max-width: 767px)"),N=o.useCallback(L=>K3(L,e).map(({label:$,value:H,displayLabel:X})=>{const K=!!H&&H!=="\uC5C6\uC74C";return t.jsxs("span",{className:Be("phoneme-select-block__cell-jamo-part",H?"":"phoneme-select-block__cell-jamo-part--empty",K?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${H==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:H==="\uC5C6\uC74C"?"x":H||d}),K&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:X??$})]},$)}),[e,d]),I=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(me,{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(Wn,{title:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:P,anchorRect:te,onClose:U})]});return t.jsxs(ia,{type:x,title:m,icon:h,disc:b,action:v?I:void 0,className:Be("phoneme-select-block",p),children:[k,!E&&t.jsx("div",{className:"phoneme-select-block__controls",children:t.jsx(An,{options:W,value:String(a),onChange:R,size:40,ariaLabel:z("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),t.jsx("div",{className:"phoneme-select-block__cells",children:B?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,$)=>{const H=n[$*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:N(H)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M($+1)})]},$)})}),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,$)=>{const H=n[$*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:N(H)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:O($+1)})]},$)})})]}):n.map((L,$)=>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:N(L)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M($+1)})]},$))}),(l||u)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:B?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,$)=>{const H=n[$*2]??{};return t.jsx(Nn,{title:Q(M($+1),$===0),sections:u?u(H,$*2):l,selected:H,onSelect:c?.($*2),align:"newline"},$)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,$)=>{const H=n[$*2+1]??{};return t.jsx(Nn,{title:O($+1),sections:u?u(H,$*2+1):l,selected:H,onSelect:c?.($*2+1),align:"newline"},$)})})]}):n.map((L,$)=>t.jsx(Nn,{title:Q(M($+1),$===0),sections:u?u(L,$):l,selected:L,onSelect:c?.($),align:"newline"},$))})}),D&&t.jsx("div",{className:"phoneme-select-block__before-search",children:D}),(g||y||f)&&(()=>{const L=n.every($=>Object.entries($).every(([H,X])=>!X||H==="\uC885\uC131"&&X==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:L?_:void 0,children:[g&&t.jsx(me,{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:g}),y?t.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:f?t.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:L||C||f,onDisabledClick:f?()=>{}:void 0,"aria-busy":f||void 0,onClick:y}):f?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:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),A]})}function Z3({title:e,sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,className:p}){const{t:m}=ve.useTranslation();return t.jsx(Nn,{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:c,headerAction:d,align:"inline"})}function X3({title:e,headerAction:n,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=ve.useTranslation();return a.length===0?null:t.jsx(Nn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:s,align:"newline"})}function J3({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:p}=ve.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")},h=y=>p("wordPairs.count",{n:y}),b=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:t.jsx(Sa,{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(Sa,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[h(1),h(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:t.jsx(Sa,{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]:h(i),[m.inputMode]:u==="phoneme"?m.pronInput:m.charInput},g=(y,_)=>{_===m.searchMode?a(y===m.explicit?"explicit":y===m.pick?"pick":"include"):_===m.phonemeOrder?s(y===m.orderMatch?"ordered":"unordered"):_===m.count?l(y===h(2)?2:1):_===m.inputMode&&c(y===m.pronInput?"phoneme":"word")};return t.jsx(Nn,{className:d,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:b,selected:v,onSelect:g,align:"inline"})}function Q3(e){const{title:n,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:u,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:p,selectedIds:m,onSelect:h,onClose:b,pageSizeOptions:v=[10,25,50,100],initialPageSize:g,emptyText:y,noMatchText:_,countLabel:C,topContent:w,className:f=""}=e,{t:B}=ve.useTranslation(),x=l??B("common.search","\uAC80\uC0C9"),D=y??B("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),k=_??B("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[A,E]=o.useState(""),[j,z]=o.useState(c??r[0]?.key??""),[P,W]=o.useState(d),[S,M]=o.useState(String(g??v[0]??10)),[O,Q]=o.useState(1);o.useEffect(()=>{Q(1)},[A,S]);const te=u!==null,V=o.useCallback((K,Y)=>{if(!Y)return!0;const ae=Y.toLowerCase();return r.some(le=>{const se=K[le.key];return se==null?!1:String(se).toLowerCase().includes(ae)})},[r]),U=u??V,R=o.useMemo(()=>{const K=te?a.filter(Y=>U(Y,A)):a;return j?[...K].sort((Y,ae)=>{const le=Y[j],se=ae[j];return le===se?0:ro(le,se,P)}):K},[a,A,j,P,te,U]),F=Math.max(1,Math.ceil(R.length/Number(S)));O>F&&Q(F);const N=Math.min(O,F),I=R.slice((N-1)*Number(S),N*Number(S)),L=o.useCallback(K=>{j===K?W(Y=>!Y):(z(K),W(!0)),Q(1)},[j]),$=o.useMemo(()=>{if(typeof C=="function"){const K=R.length,Y=C(K);if(typeof Y=="string"){const ae=Y.lastIndexOf(String(K));if(ae>=0)return{prefix:Y.slice(0,ae),suffix:Y.slice(ae+String(K).length)}}return{label:Y}}if(typeof C=="string"&&C.includes("{n}")){const[K,Y]=C.split("{n}");return{prefix:K,suffix:Y}}return{prefix:B("common.totalCountPrefix","\uCD1D "),suffix:B("common.totalCountSuffix","\uAC1C")}},[C,R.length,B]),H=o.useMemo(()=>r.map(K=>({label:K.label,onClick:K.sortable!==!1?()=>L(K.key):void 0,className:K.className,sortDir:K.sortable!==!1&&j===K.key?P?"asc":"desc":null})),[r,j,P,L]),X=o.useMemo(()=>v.map(K=>({value:String(K),label:B("common.pageSizeLabel",{n:K})})),[v,B]);return t.jsxs(Mn,{className:`popup-list ${f}`,title:n,onClose:b,children:[w,"label"in $&&t.jsx("p",{className:"toolbar__count body-1",children:$.label}),t.jsx(fo,{count:"label"in $?void 0:{value:R.length,prefix:$.prefix,suffix:$.suffix},search:te?{value:A,onChange:E,placeholder:x}:void 0,pageSize:{options:X,value:S,onChange:M},pagination:{page:N,total:F,onChange:Q}}),t.jsx(Ao,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:H,items:I,onRowClick:h,renderRow:K=>{const Y=m!=null?K.id!=null&&m.has(K.id):p!=null&&K.id===p;return r.map(ae=>({content:ae.render?ae.render(K):K[ae.key]??"",className:Be(ae.className,Y&&"popup-list__row--selected")}))},empty:te&&A!==""&&a.length>0?k:D})]})}function Ac(e){const{title:n,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:u,hideCancel:c=!1,extraAction:d,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:h,closeOnConfirm:b=!0,onClose:v,inline:g,size:y="small",className:_,initialFocus:C="close"}=e,{t:w}=ve.useTranslation(),f=o.useRef(null);o.useEffect(()=>{if(g||C==="close")return;const E=f.current?.closest(".popup-panel"),j=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),z=C==="confirm"?j[j.length-1]:c?void 0:j[d?1:0];z&&!z.disabled&&z.focus()},[]);const B=o.useRef(!1),[x,D]=o.useState(!1),k=E=>{let j=!1;return{close:()=>{j=!0,E()},\uB2EB\uC558\uB098:()=>j}},A=async E=>{if(B.current)return;B.current=!0;const j=typeof document<"u"?document.activeElement:null;D(!0);let z=!1;try{z=await E()}catch(P){typeof console<"u"&&console.error(P)}finally{z||(B.current=!1,D(!1),requestAnimationFrame(()=>{const P=document.activeElement;(!P||P===document.body)&&j?.isConnected&&j.focus()}))}};return t.jsxs(Mn,{title:n,onClose:v,closeDisabled:x,inline:g,size:y,className:Be("confirm-popup",r!=null&&"confirm-popup--has-top",_),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||x,onClick:async({closeWithAnimation:E})=>{await A(async()=>{const j=k(E);await d.onClick(j.close);const z=d.closeOnClick??!0;return z&&E(),z||j.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??w("common.confirm","\uD655\uC778"),variant:p,disabled:m||x,onClick:async({closeWithAnimation:E})=>{await A(async()=>{const j=k(E);return await h(j.close),b&&E(),b||j.\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,j)=>t.jsx(Ln,{label:E.label,children:t.jsx("span",{className:"panel-row__text body-2",children:E.value})},j))}),t.jsx("p",{ref:f,className:"body-2 confirm-popup__message",children:a}),i]})}function e7(e,n,a={}){const{t:r}=ve.useTranslation(),[s,i]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),c=o.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),d=s?t.jsx(Ac,{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:c,discardPopup:d,allowClose:u}}function t7({onApply:e,onCancel:n}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async b=>{const v=r.trim();if(v){l(!0),c(null);try{await e(v),b()}catch(g){c(si(g)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),m=o.useCallback((b,v)=>{b.key==="Enter"&&!b.nativeEvent.isComposing&&p(v)},[p]),h=b=>{s(b.target.value),c(null)};return t.jsx(Mn,{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:b})=>b()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:b})=>{p(b)}}],children:({closeWithAnimation:b})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:d,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:h,onKeyDown:v=>m(v,b),disabled:i,autoComplete:"off",spellCheck:!1}),u&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const kc=["var(--color-main)","var(--color-sub)"],n7=2e3;function a7(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 es({active:e=!1,count:n=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const g=Math.floor(n/2),y=n-g,_=(C,w)=>Array.from({length:C}).map((f,B)=>{const x=6+Math.random()*12,D=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),k=kc[Math.floor(Math.random()*kc.length)],A=Math.random()*300,E=(360+Math.random()*260)*r*1.2,j=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,z=Math.cos(j)*E,P=Math.sin(j)*E*1.35,W=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),M=Math.random()>.7?"50%":"3px";return{id:`${w}-${B}`,side:w,size:D,color:k,delay:A,vx:z,vy:P,angularVel:W,life:S,borderRadius:M}});return[..._(g,"left"),..._(y,"right")]},[n,r]),u=o.useRef(null),c=o.useRef({}),d=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),h=o.useRef(null),b=()=>{if(typeof document>"u")return null;let g=document.querySelector("[data-ihab-effect-root]");return g||(g=document.createElement("div"),g.className="app-effect",g.dataset.ihabEffectRoot="",g.style.position="fixed",g.style.inset="0",g.style.pointerEvents="none",g.style.zIndex="99998",document.body.appendChild(g)),g};if(typeof document<"u"&&h.current==null&&(h.current=b()),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 g=1200,y=performance.now(),_=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),w=U=>Math.max(40,(U||window.innerWidth)*.02),f=_?.width||window.innerWidth||375,B=_?.height||window.innerHeight||812,x=U=>{const R=[...U].sort((F,N)=>F-N);return R[Math.floor(R.length/2)]||1},D=x(l.map(U=>Math.abs(U.vy))),k=x(l.map(U=>Math.abs(U.vx))),A=Math.sqrt(2*g*(B*.72+C))/D,E=D*A/g,j=f*.5/(k*E),z=(U,R,F)=>Math.min(F,Math.max(R,U)),P=z(A,.8,2.4),W=z(j,.7,2.2),S=a>0?a/n7:1,M=l.map(U=>({...U,life:U.life*S,vx:U.vx*W,vy:U.vy*P,startTime:y+U.delay,ended:!1})),O=_?{x:_.left-w(_.width),y:_.top+_.height+C}:{x:-w(window.innerWidth),y:window.innerHeight+C},Q=_?{x:_.left+_.width+w(_.width),y:_.top+_.height+C}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+C},te=U=>{let R=!1;for(const F of M){const N=c.current[F.id];if(!N||!N)continue;if(U<F.startTime){N.style.display="none",R=!0;continue}if(!F._inited){const se=F.side==="left"?O.x:Q.x,ke=F.side==="left"?O.y:Q.y;N.style.left=`${se}px`,N.style.top=`${ke}px`,N.style.transform="translate3d(0px, 0px, 0)",N.style.display="block",N.style.zIndex="100000",typeof F.color=="string"&&F.color.startsWith("var(")&&(N.style.background=a7(N,F.color)??"#FF0060"),F._inited=!0}const I=(U-F.startTime)/1e3;if(I<0)continue;const L=F.life/1e3;if(I>=L){N.style.opacity="0",N.style.display="none",F.ended=!0;continue}R=!0;const $=F.side==="left"?O.x:Q.x,H=F.side==="left"?O.y:Q.y,X=$+F.vx*I,K=H+F.vy*I+.5*g*I*I,Y=(F.angularVel||0)*I,ae=X-$,le=K-H;N.style.transform=`translate3d(${ae}px, ${le}px, 0) rotate(${Y}deg)`,N.style.opacity=`${Math.max(0,1-I/L)}`}R?d.current=requestAnimationFrame(te):p.current?.()};d.current=requestAnimationFrame(te);const V=setTimeout(()=>{try{if((h.current?h.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 R of l){const F=document.createElement("span");F.className=`confetti confetti--${R.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=`${R.size}px`,F.style.height=`${Math.max(4,R.size*.6)}px`,F.style.background=R.color,F.style.borderRadius=R.borderRadius,F.style.transform="translate3d(0,0,0)",F.style.opacity="0",U.appendChild(F),c.current[R.id]=F}(document.body||h.current).appendChild(U),m.current=U}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.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(g=>t.jsx("span",{"aria-hidden":!0,ref:y=>{c.current[g.id]=y},className:`confetti confetti--${g.side}`,style:{width:`${g.size}px`,height:`${Math.max(4,g.size*.6)}px`,background:g.color,borderRadius:g.borderRadius}},`${g.id}-${i}`))});return typeof document<"u"?Qt.createPortal(v,h.current||document.body):v}const ts=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function r7({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(c=>({n:(c?.n??0)+1,count:ts(u.count),strength:ts(u.strength),duration:ts(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(es,{active:n,trigger:e}),a&&t.jsx(es,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function o7({title:e,sub:n,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:u,backLabel:c,wrap:d=!1}){const{t:p}=ve.useTranslation();Qg(typeof e=="string"?e:l??null);const m=c??p("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:d?"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(me,{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(At,{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 s7(e){return e??""}const Nc=o.createContext({words:[],loading:!1});function i7(){return o.useContext(Nc)}function l7({words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){return t.jsx(Nc.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c},children:d})}function u7({items:e,actions:n,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return t.jsx("section",{className:Be("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,c)=>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})]},c))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const c7=(e,n)=>`${e} / ${n}`;function d7({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:s=c7,pageWidth:i,pageHeight:l,margin:u,className:c,style:d}){const{t:p}=ve.useTranslation(),m=o.useRef(null),h=o.useRef(null),b=o.useRef(null),v=o.useRef(null),[g,y]=o.useState(null),[_,C]=o.useState(!1);o.useEffect(()=>{const S=m.current;if(!S)return;const M=()=>C(S.scrollWidth>S.clientWidth+1);if(M(),typeof ResizeObserver>"u")return;const O=new ResizeObserver(M);return O.observe(S),()=>O.disconnect()},[g]);const w=e.map(S=>`${S.id}\0${S.section??""}\0${S.group??""}`).join(""),f=g&&g.shape===w?g.pages:null,[B,x]=o.useState(0);o.useEffect(()=>{const S=v.current;if(!S||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>x(S.offsetHeight));return M.observe(S),()=>M.disconnect()},[]);const[D,k]=o.useState(0);o.useEffect(()=>{const S=h.current;if(!S||typeof ResizeObserver>"u")return;let M=null;const O=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),Q=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),te=new ResizeObserver(()=>{M==null&&(M=O(()=>{M=null,k(V=>V+1)}))});return Array.from(S.children).forEach(V=>te.observe(V)),()=>{te.disconnect(),M!=null&&Q(M)}},[w]),o.useLayoutEffect(()=>{const S=h.current,M=v.current;if(!S||!M)return;const O=L=>L.getBoundingClientRect().height||L.offsetHeight,Q=new Map;b.current?.querySelectorAll("[data-chrome-section]").forEach(L=>{Q.set(L.dataset.chromeSection??"",O(L))});const te=L=>O(M)-(Q.get(L??"")??0),V=Array.from(S.children).map(L=>O(L)),U=[];e.forEach((L,$)=>{const H=U[U.length-1],X=H?e[H[0]]:void 0;X&&L.group!=null&&X.group===L.group&&X.section===L.section?H.push($):U.push([$])});const R=[];let F=[],N=0;const I=()=>{F.length&&R.push(F),F=[],N=0};U.forEach(L=>{const $=L.reduce((X,K)=>X+V[K],0),H=te(e[L[0]].section);F.length&&e[F[0]].section!==e[L[0]].section&&I(),$>H?L.forEach(X=>{F.length&&N+V[X]>H+.01&&I(),F.push(X),N+=V[X]}):(F.length&&N+$>H+.01&&I(),L.forEach(X=>F.push(X)),N+=$)}),I(),y(L=>L&&L.shape===w&&JSON.stringify(L.pages)===JSON.stringify(R)?L:{shape:w,pages:R})},[w,B,i,l,u,D]);const A=po,E=A,j=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),z=(S,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:j}),t.jsx("span",{className:"report-doc__page-no",children:s(S,M)})]})}),P=Array.from(new Set(e.map(S=>S.section??""))),W={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...d};return t.jsxs("div",{ref:m,className:Be("report-doc",c),style:W,tabIndex:_?0:void 0,role:_?"group":void 0,"aria-label":_?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:b,children:P.map(S=>{const M=z(1,1,S||void 0);return t.jsxs("div",{"data-chrome-section":S,children:[M.header,M.footer]},S)})}),t.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(S=>t.jsx("div",{children:S.content},S.id))})]}),f&&t.jsx("div",{className:"report-doc__pages",children:f.map((S,M)=>{const{header:O,footer:Q}=z(M+1,f.length,e[S[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[O,S.map(te=>t.jsx("div",{children:e[te].content},e[te].id)),Q]},M)})})]})}function p7({title:e,fields:n,columns:a=4,className:r,style:s}){return t.jsxs("div",{className:Be("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 Yn=new Map;let vr=null;const m7=12;function h7(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 xr(){const e=new Map;for(const n of Yn.keys()){if(!n.isConnected)continue;const a=h7(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+m7)}}}function C7(e){return typeof window>"u"?()=>{}:(Yn.set(e,(Yn.get(e)??0)+1),Yn.get(e)===1&&typeof ResizeObserver<"u"&&(vr??(vr=new ResizeObserver(()=>xr())),vr.observe(e)),xr(),()=>{const n=(Yn.get(e)??1)-1;if(n>0){Yn.set(e,n),xr();return}Yn.delete(e),vr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),xr()})}function f7({title:e,message:n,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=ve.useTranslation(),c=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=d.current,h=m?.parentElement?.closest(".update-alert-stack")??m,b=h?C7(h):null;return()=>{b?.(),p.current&&m&&m.contains(document.activeElement)&&Ya(m)}},[]),t.jsxs("div",{ref:d,className:Be("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(ms,{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(me,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:c})]})}function g7({title:e,titleLevel:n=3,description:a,topActions:r,children:s,footerLeft:i,footerRight:l,ariaLabel:u,onClick:c,draggable:d,onDragStart:p,onDragEnd:m,className:h}){const b=n?`h${n}`:"div",v=i!=null||l!=null,g=s!=null&&s!==!1,y=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return t.jsxs("div",{className:Be("training-card",c?"training-card--clickable":"",h),onClick:c,onKeyDown:c?y:void 0,role:c?"button":void 0,"aria-label":c?u??(typeof e=="string"?e:void 0):void 0,tabIndex:c?0:void 0,draggable:d,onDragStart:p,onDragEnd:m,children:[t.jsxs("div",{className:"training-card__header",children:[t.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?t.jsx(b,{className:"training-card__title h4",children:e}):e,r!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:_=>_.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:" "})]}),g&&t.jsx("div",{className:"training-card__body",children:s}),v&&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 b7({title:e,titleLevel:n=3,count:a,collapsed:r=!1,onToggle:s,sort:i,actions:l,empty:u=!1,emptyContent:c,dragOver:d=!1,onDragOver:p,onDragLeave:m,onDrop:h,children:b,className:v}){const{t:g}=ve.useTranslation(),y=o.useId(),_=n?`h${n}`:"span",C=s!=null,w=Be("training-card-group",d&&"training-card-group--dragover",r&&"training-card-group--collapsed",C&&"training-card-group--collapsible",v);return t.jsxs("div",{className:w,onDragOver:p,onDragLeave:m,onDrop:h,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:[C&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?r?g("common.expandFor",{name:e}):g("common.collapseFor",{name:e}):r?g("common.expand","\uD3BC\uCE58\uAE30"):g("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?t.jsx(_,{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:f=>f.stopPropagation(),children:[i&&t.jsx(cn,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange,ariaLabel:typeof e=="string"&&e?g("common.sortFor",{name:e}):void 0}),l]})]}),!r&&(u?t.jsx("div",{className:"training-card-group__empty body-3",children:c}):t.jsx("div",{className:"training-card-group__grid",children:b}))]})}const y7="speechear:saved_word_tables";function v7(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 x7(){try{const e=localStorage.getItem(y7);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(v7):[]}catch{return[]}}function Dc(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 ns(e){return e.map(n=>n.homonum!=null?`${n.word}#${n.homonum}`:n.word).join("|")}function _7(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 w7({title:e,titleIcon:n,disc:a,filterTitle:r,filterCollapsible:s,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:c,brand:d,code:p,items:m,onSaveComplete:h,onLoad:b,onRemoveItem:v,onReset:g,resetLabel:y,saveButtonLabel:_,secondarySaveButtonLabel:C,onReorder:w,showCellCount:f,onAddItem:B,className:x,renderSavePopup:D,renderWordSearch:k,hideControls:A,saveOnly:E,tableName:j,nameValue:z,onNameChange:P,descriptionValue:W,onDescriptionChange:S,namePlaceholder:M,descriptionPlaceholder:O,existingNames:Q,editingName:te,onCancel:V,initialItemsPerPage:U,renderCellAction:R,actionsLeftExtra:F}){const{t:N}=ve.useTranslation(),I=y??N("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),L=m===void 0,$=!!P,[H,X]=o.useState([]),K=(z??"").trim(),Y=K||(M??"").trim(),ae=(W??"").trim()||(O??"").trim(),le=(Q??[]).map(de=>de.trim().toLowerCase()),se=[te?.trim().toLowerCase(),...H].filter(de=>!!de),ke=[...le];for(const de of se){const Me=ke.indexOf(de);Me!==-1&&ke.splice(Me,1)}const q=K!==""&&ke.includes(K.toLowerCase()),[ne,fe]=o.useState(Array(4).fill(null)),[xe,he]=o.useState(4),[ie,ce]=o.useState(null),ue=ne.slice(0,xe),ge=!!d?.show,[Ee,Ne]=o.useState(!0),[Ke,ze]=o.useState(!0),qe=d&&{...d,top:Ee,bottom:Ke},[He,ct]=o.useState("landscape"),[ot,st]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ht,Ae]=o.useState("\uD45C\uC2DC"),[Fe,we]=o.useState(!0),[at,Z]=o.useState(!0),re=o.useRef(null),pe=o.useRef([]),[Se,it]=o.useState(U==="all"?Number.POSITIVE_INFINITY:U??8),[Ye,xt]=o.useState("right"),[bt,dt]=o.useState(!1),[rt,et]=o.useState(!1),{toastMessage:tt,toastType:$e,showWarning:Ge,clearToast:Pe}=dl("warning"),Ct=o.useCallback(()=>ce(null),[ce]);B&&!L&&!f&&an("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[Mt,Et]=o.useState(()=>Math.max(m?.length??1,1)),lt=L?xe:f?Math.max(Mt,m?.length??1,1):Math.max(m?.length??0,1),{width:gt,height:Ie}=la[He],pt=!L&&!f,St=m?.length??0,Pt=Math.min(Se,Math.max(St,1)),Xe=pt?Pt:lt,Nt=pt?gu(m??[],Xe):null,Ft=!!Nt&&Nt.length>1,kt=L?ue.some(de=>de!==null&&de.length>1):(m??[]).some(de=>(de.words??[]).length>1),dn=j?.trim()||`${mi(xa())} ${kt?N("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):N("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,pn=o.useCallback(()=>Ft?pe.current.filter(de=>de!==null):re.current?[re.current]:[],[Ft]),{print:fn,openNewWindow:Pn,downloadHtml:gn}=$o({getElements:pn,paperW:gt,paperH:Ie,fileName:dn,onPopupBlocked:()=>{Ge(N("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."))}}),Fn=de=>{he(de),fe(Me=>Me.length>=de?Me:[...Me,...Array(de-Me.length).fill(null)]),ce(null)},mn=de=>{fe(Me=>{const nt=[...Me];return nt[de]=null,nt}),ie===de&&ce(null)},Lt=de=>{if(ie===null)return;const Me=ie;fe(ft=>{const wt=[...ft];return wt[Me]=de.length>0?de:null,wt});const nt=ue.findIndex((ft,wt)=>wt>Me&&ft===null);ce(nt!==-1?nt:null)},bn=L?ue.some(de=>de?.some(Me=>!!Me.colloquialPronunciation)):(m??[]).some(de=>(de.words??[]).some(Me=>!!Me.colloquialLabel)),Ot=o.useMemo(()=>Jn()?L?ne.slice(0,xe).flatMap(de=>(de??[]).map(Me=>[Me.word,Me.homonum])):(m??[]).flatMap(de=>(de.words??[]).map(Me=>[Me.label,Me.homonum])):[],[L,ne,xe,m]),[qt,In]=o.useState(!1);o.useEffect(()=>{if(Ot.length===0)return;let de=!1;return Promise.all(Ot.map(([Me,nt])=>ni(Me,nt))).then(Me=>{de||In(Me.some(Boolean))},()=>{}),()=>{de=!0}},[Ot]);const on=Ot.length>0&&qt,yn=o.useMemo(()=>[...L||f?[{label:N("wordTable.filter.columns","\uCE78 \uC218"),items:n5.map(de=>({value:`${de}\uCE78`,displayLabel:N("wordTable.filter.column",{count:de})})),display:"segmented"}]:[],...pt&&(m?.length??0)>0?[Lu(N,{hasPairs:kt,itemCount:St})]:[],...Ft?[a5(N)]:[]],[N,L,f,pt,m?.length,kt,St,Ft]),Dn={...L||f?{[N("wordTable.filter.columns","\uCE78 \uC218")]:`${lt}\uCE78`}:{},...pt&&(m?.length??0)>0?{[N(kt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Pt}\uAC1C`}:{},...Ft?{[N("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[Ye]}:{}},Jt=(de,Me)=>{Me===N("wordTable.filter.columns","\uCE78 \uC218")?L?Fn(parseInt(de)):Et(parseInt(de)):Me===N(kt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?it($u(parseInt(de),St)):Me===N("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&xt(Pu(de))},Ut=L?_7(ue.filter(de=>de!==null&&de.length>0).map(de=>({id:ns(de),words:de.map(Dc)}))):m??[],Ht=()=>{L&&fe(de=>de.length>xe?de.slice(0,xe):de)},oe=(de=!1)=>{if(et(de),$&&h){const Me=Y.trim().toLowerCase();Me&&X(nt=>nt.includes(Me)?nt:[...nt,Me]),h(Y,Ut,ae||void 0,de),Ht();return}if(E&&h){h("",Ut,void 0,de),Ht();return}if(h){dt(!0);return}gn()},[ye,De]=o.useState(!1),[Ue,Te]=o.useState(""),Ve=Ue.trim(),We=Ve!==""&&le.includes(Ve.toLowerCase()),mt=()=>{Te(Y?N("wordTable.save.copyName",{name:Y,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),De(!0)},ee=()=>{!Ve||We||!h||(h(Ve,Ut,ae||void 0,!0),Ht(),De(!1))},_e=Ut.length===0,Le=_e||$&&(Y===""||q),Oe=()=>{if(_e){Ge(N("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if($&&Y===""){Ge(N("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}$&&q&&Ge(N("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},Je=t.jsx(ua,{items:Ut,orientation:He,contentTypes:ot,cutLine:ht,showOutline:Fe,showDivLine:at,count:lt});return t.jsxs(t.Fragment,{children:[t.jsxs(ia,{type:"page",icon:n,title:e,disc:a,className:Be("word-table-block",x),children:[ye&&t.jsx(Mn,{size:"small",title:C??N("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>De(!1),footer:({closeWithAnimation:de})=>t.jsxs(t.Fragment,{children:[t.jsx(me,{htmlType:"button",size:48,type:"bar",label:N("common.cancel","\uCDE8\uC18C"),onClick:de}),t.jsx(me,{htmlType:"button",size:48,type:"bar",variant:"main",label:N("common.save","\uC800\uC7A5"),disabled:!Ve||We,onClick:ee})]}),children:t.jsx(Gn,{label:N("wordTable.save.nameLabel","\uC774\uB984"),value:Ue,onChange:Te,placeholder:N("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:ee,error:We?N("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),bt&&h&&D?.({defaultName:typeof e=="string"?e:N("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:Je,previewW:gt,previewH:Ie,items:Ut,existingNames:x7().map(de=>de.name),saveAsNew:rt,onSave:(de,Me)=>{h(de,Ut,Me,rt),Ht(),dt(!1)},onCancel:()=>dt(!1)}),(L||B)&&ie!==null&&k?.({cellIndex:ie,onConfirm:L?Lt:de=>{if(B){const Me=de[0];if(Me){const nt=new Set((m??[]).map(wt=>wt.id));let ft=ns([Me]);for(let wt=2;nt.has(ft);wt++)ft=`${ns([Me])}~${wt}`;B({id:ft,words:[Dc(Me)]})}}ce(null)},onClose:Ct}),!A&&t.jsx(To,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:on,hasColloquial:bn,contentTypes:ot,orientation:He,showOutline:Fe,cutLine:ht,showDivLine:at,setters:{setContentTypes:st,setOrientation:ct,setShowOutline:we,setCutLine:Ae,setShowDivLine:Z,setShowTopInfo:Ne,setShowBottomInfo:ze},showCutLine:(pt?Xe:lt)>1,showDivLine2:kt,middleSections:yn,extraSelected:Dn,onExtraSelect:Jt,showPaperBands:ge,showTopInfo:Ee,showBottomInfo:Ke}),Ft&&Nt?t.jsx("div",{className:"word-table-block__pages",children:Nt.map((de,Me)=>t.jsx(ua,{orientation:He,contentTypes:ot,cutLine:ht,showOutline:Fe,showDivLine:at,count:Xe,items:de,onRemoveItem:v,onReorder:w&&((nt,ft)=>w(nt+Me*Xe,ft+Me*Xe)),renderCellAction:R&&((nt,ft)=>R(nt+Me*Xe,ft)),brand:qe,code:p,contentRef:nt=>{pe.current[Me]=nt},pageNumber:{current:Me+1,total:Nt.length},pageNumberPosition:Ye},Me))}):t.jsx(ua,{orientation:He,contentTypes:ot,cutLine:ht,showOutline:Fe,showDivLine:at,count:lt,items:L?void 0:m??[],editCells:L?ue:void 0,activeCell:ie,onActivateCell:L||B?ce:void 0,onRemoveCell:L?mn:void 0,onRemoveItem:L?void 0:v,onReorder:L?void 0:w,renderCellAction:L?void 0:R,brand:qe,code:p,showFillerAdd:!!B,contentRef:re}),$&&!A&&t.jsxs(Cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(Ln,{variant:"custom",label:N("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(Gn,{required:!0,value:z??"",onChange:P,placeholder:M?M+N("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):N("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:N("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:q?N("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(z??"").trim()&&(M??"").trim()&&(de.preventDefault(),P?.(M??""))}})}),t.jsx(Ln,{variant:"custom",label:N("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(Gn,{value:W??"",onChange:S,placeholder:O?O+N("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):N("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:N("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(W??"").trim()&&(O??"").trim()&&(de.preventDefault(),S?.(O??""))}})})]})]}),!A&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&g&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:I,onClick:g}),!E&&F,!E&&b&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:N("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:b}),!E&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:N("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Pn})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[V&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:N("common.cancel","\uCDE8\uC18C"),onClick:V}),!E&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:N("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:fn}),C&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:C,onClick:()=>$?mt():oe(!0),disabled:_e,onDisabledClick:()=>{Ge(N("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",label:_??N("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>oe(!1),disabled:Le,onDisabledClick:Oe})]})]}),t.jsx(oa,{message:tt,type:$e,onClose:Pe})]})}function Ec({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:Be("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,u)=>{const c=e[u];return c?t.jsx("div",{className:"word-table-thumb__cell",children:(c.words?.length?c.words:[{label:c.id}]).map((d,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:d.label})]},p))},u):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function B7({items:e,name:n,description:a,createdAt:r,code:s,published:i,publishedLabel:l,shared:u,sharedLabel:c,isNew:d,publisherName:p,publishedAt:m,likeCount:h,downloadCount:b,onPublisherClick:v,selected:g,onClick:y,onMore:_,titleNode:C,className:w}){const{t:f}=ve.useTranslation(),B=C!=null,x=p!=null||m!=null||h!=null||b!=null,D=k=>{k.target===k.currentTarget&&!B&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),y?.())};return t.jsxs("div",{className:Be("word-table-button",g?"word-table-button--selected":"",x?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":s?`${n} (${s})`:n,onClick:B?void 0:y,onKeyDown:D,children:[d&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":f("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(Ec,{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:[C??t.jsx("div",{className:"word-table-button__title h4",children:n}),a&&t.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!B&&t.jsx(me,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:f("common.moreFor",{name:n}),onClick:k=>{k.stopPropagation(),_(k)}})]}),(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?pi(r,f):""})}),t.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&t.jsxs("span",{className:"word-table-button__badges",children:[i&&t.jsx(At,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??f("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&t.jsx(At,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??f("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&&(v?t.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":f("wordTable.publisherFilter",{name:p,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:k=>{k.stopPropagation(),v()},children:p}):t.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:p})),m&&t.jsx("span",{className:"training-card__date body-4",children:pi(m,f)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&t.jsx(At,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h),"aria-label":f("common.likeCount",{count:h,defaultValue:`\uC88B\uC544\uC694 ${h}`})}),b!=null&&t.jsx(At,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(b),"aria-label":f("common.downloadCount",{count:b,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${b}`})})]})]})]})}/**
1048
+ `).map((l,u,c)=>t.jsxs(o.Fragment,{children:[l,u<c.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:po,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 I5({logo:e,logoAlt:n="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=ve.useTranslation(),m=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,h]=o.useState(!1),b=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!p)return;const _=Vn(()=>{const g=document.getElementById(b);g&&g.contains(document.activeElement)&&v.current?.focus(),h(!1)}),C=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,B=g=>{g.matches&&h(!1)};return C&&(C.matches&&h(!1),C.addEventListener?.("change",B)),()=>{_(),C?.removeEventListener?.("change",B)}},[p,b]);const f=l?`${l} landing-header__inner`:"landing-header__inner",y=(_,C)=>u?u(_,{onClick:C}):t.jsx("a",{href:_.href,onClick:C,"aria-current":_.current?"page":void 0,children:_.label});return t.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[t.jsxs("div",{className:f,children:[e!=null&&(()=>{const _=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:_}):t.jsx("div",{className:"landing-header__brand",children:_})})(),r.length>0&&t.jsx("nav",{className:"landing-header__links",children:r.map((_,C)=>t.jsx("span",{children:y(_)},`${C}:${_.href}`))}),t.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&t.jsx("button",{ref:v,type:"button",onClick:()=>h(_=>!_),"aria-expanded":p,"aria-controls":b,"aria-label":p?m.close:m.open,className:p?"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:b,hidden:!p,className:"landing-header__drawer",children:t.jsx("div",{className:l??void 0,children:r.map((_,C)=>t.jsx("span",{className:"landing-header__drawer-item",children:y(_,()=>h(!1))},`${C}:${_.href}`))})})]})}function F5({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,...cu(a),children:[t.jsx("div",{className:"bottom-sticky__content",children:e}),n]})})}const da=9,O5=e=>Math.round(Math.min(da,Math.max(0,e))/da*100),H5=e=>e/100*da,Ra=2,qu=.1,z5=e=>Math.min(Ra,Math.max(0,e)),V5=.1,W5=e=>Math.round(e*1e6)/1e6;function Pa(e){const{noiseRatio:n}=e;if(typeof n=="number"&&Number.isFinite(n))return z5(n);const a=Math.min(da,Math.max(0,Number(e.level)||0))/da,r=Number(e.mainVolume);return r>0?a>0?W5(Math.min(Ra,Math.max(V5,a/r))):0:1}const Uu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Gu(e){return Uu(e)}function Io(e){return Uu(e)*Pa(e)}function Fo(e,n=Zs()){const a=Number.isFinite(n)&&n>0?n:1;return Math.min(1,Io(e)/a)}function Ia(e,n){const a={...e,...n??{}};return n&&"level"in n&&typeof n.noiseRatio!="number"&&(a.noiseRatio=Pa({level:a.level,mainVolume:a.mainVolume})),a}const Fa={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Oo=o.createContext(null);function cr(){return o.useContext(Oo)}const Ho=e=>`${aC()}/${e}`,Ku=e=>Array.from({length:10},(n,a)=>Ho(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),dr={get defaultNoise(){return Ho("noise1.mp3")},get street(){return Ku("noise2")},get restaurant(){return Ku("noise3")},get buzz(){return Ho("noise4.mp3")}};function q5(e){const n=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return dr.defaultNoise;case"street":return dr.street[n];case"restaurant":return dr.restaurant[n];case"buzz":return dr.buzz;default:return null}}function U5({noisePlayer:e,audioRef:n,playbackStateRef:a,padRef:r}){const s=o.useRef(e?.registerAnalyser);s.current=e?.registerAnalyser;const i=o.useRef(null),[l,u]=o.useState(null),c=o.useRef(null),d=o.useRef(null),m=o.useRef(null),p=o.useRef(null),h=o.useRef(0),b=o.useRef(null),v=o.useCallback(()=>{const w=r?.current;return!!w&&w.phase!=="sound"&&w.at>0},[r]),f=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),b.current!==null&&(clearTimeout(b.current),b.current=null)},[]),y=o.useCallback((w,x=250)=>{const A=i.current;if(!A)return;const k=d.current;if(k){d.current=null;try{A.pause()}catch{}A.src=k,A.load()}if(!A.src)return;h.current+=1,f();try{Ir(),za(A).then(I=>{if(i.current===A)try{s.current?.("noise",I)}catch{}})}catch{}const N=A.paused?0:Va(A);A.paused&&jn(A,0),A.play().catch(()=>{});const E=performance.now(),S=()=>{const I=Math.min(1,(performance.now()-E)/x);try{jn(A,N+(w-N)*I)}catch{}I<1?p.current=requestAnimationFrame(S):p.current=null};p.current=requestAnimationFrame(S)},[f]),_=o.useCallback((w=250,x)=>{const A=i.current;if(!A||A.paused){x?.();return}const k=++h.current;f();const N=performance.now(),E=Va(A),S=()=>{const I=Math.min(1,(performance.now()-N)/w);try{jn(A,E*(1-I))}catch{}if(I<1)p.current=requestAnimationFrame(S);else{p.current=null,b.current!==null&&(clearTimeout(b.current),b.current=null);try{A.pause()}catch{}x?.()}};p.current=requestAnimationFrame(S),b.current=setTimeout(()=>{if(b.current=null,h.current===k){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(jn(A,0),A.pause(),x?.())}catch{}}},w+150)},[f]);o.useEffect(()=>{const w=document.createElement("audio");return w.loop=!0,w.crossOrigin="anonymous",i.current=w,()=>{f();try{w.pause(),w.src=""}catch{}i.current=null,c.current=null,d.current=null}},[f]);const C=e?Fo(e.settings):0,B=!!e?.settings.enabled&&C>0;o.useEffect(()=>{if(!B)return;let w=0;const x=setInterval(()=>{const A=i.current;if(!A||A.paused){w=0;return}const k=n.current;if(k&&!k.paused&&!k.ended||v()||a.current==="playing"){w=0;return}w+=1,w>=2&&(w=0,_())},400);return()=>clearInterval(x)},[_,B,n,a,v]),o.useEffect(()=>{const w=()=>{const x=i.current;if(document.hidden){if(x&&!x.paused){f();try{x.pause()}catch{}}return}if(!x||!x.paused)return;const A=n.current,k=!!A&&!A.paused&&!A.ended||v()||a.current==="playing",N=m.current;k&&N?.enabled&&N.volume>0&&y(N.volume)};return document.addEventListener("visibilitychange",w),()=>document.removeEventListener("visibilitychange",w)},[f,y,n,a,v]),o.useEffect(()=>{m.current=e?{enabled:e.settings.enabled,volume:C,type:e.settings.type}:null},[e,e?.settings.enabled,C,e?.settings.type]);const g=o.useRef(null);return o.useEffect(()=>()=>{g.current?.(),g.current=null},[]),o.useEffect(()=>{const w=e?.settings,x=i.current;if(!x)return;const A=w?Fo(w):0;if(!w||!w.enabled||A===0){_();return}if(c.current!==w.type){const k=q5(w.type);k&&(c.current=w.type,u(k),d.current=k,_(150,()=>{if(d.current!==k)return;d.current=null,x.src=k,x.load();const N=n.current;if(N&&!N.paused||v()){g.current?.();const E=()=>{x.removeEventListener("canplay",E),g.current===S&&(g.current=null);const I=n.current,$=m.current;(I&&!I.paused&&!I.ended||v())&&$?.enabled&&$.volume>0&&y($.volume)},S=()=>x.removeEventListener("canplay",E);g.current=S,x.addEventListener("canplay",E)}}))}else{const k=n.current,N=!!k&&!k.paused&&!k.ended||v()||a.current==="playing";if(N&&d.current)y(A);else if(N&&x.paused&&x.src)y(A);else if(!x.paused)if(!N)_();else{f();const E=Va(x),S=performance.now(),I=()=>{const $=Math.min(1,(performance.now()-S)/150);try{jn(x,E+(A-E)*$)}catch{}$<1?p.current=requestAnimationFrame(I):p.current=null};p.current=requestAnimationFrame(I)}}},[e?.settings,e?.settings.enabled,C,e?.settings.type,f,y,_,n,a,m,v]),o.useEffect(()=>{const w=i.current;if(w)try{w.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:m,cancelNoiseFade:f,fadeInNoise:y,fadeOutNoise:_}}function G5({ttsText:e,playbackRate:n,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:u,fadeInNoise:c,fadeOutNoise:d,noiseSettingsRef:m,onDoneRef:p,handleEndRef:h}){const b=o.useRef(null),v=o.useRef(0),f=o.useRef(null),y=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{y.current++;try{if(f.current&&(cancelAnimationFrame(f.current),f.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const C=(w,x=1)=>{try{const A=(w||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(w||"").length);return Math.max(700,Math.round(A*300/Math.max(.25,x)))}catch{return 1200}},B=o.useCallback(w=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const x=window.speechSynthesis,A=++y.current;try{try{x.cancel()}catch{}const k=w??e,N=Array.isArray(k)?k.filter(j=>!!j):[k||""];N.length===0&&N.push("");const E=Math.max(.3,Math.min(3,n));v.current=N.reduce((j,M)=>j+C(M,E||1),0),b.current=performance.now(),i(0),l("playing"),u("playMode");const S=m.current;S?.enabled&&(S?.volume??0)>0&&c(S.volume);const I=()=>{try{const j=b.current||performance.now(),M=performance.now()-j,H=v.current||1200,Q=Math.min(1,M/H);try{r.current&&(r.current.style.left=`${Q*100}%`),s.current&&s.current.style.setProperty("--progress",String(Q))}catch{}Q<1&&(f.current=requestAnimationFrame(I))}catch{}},$=()=>{if(A===y.current)try{f.current&&(cancelAnimationFrame(f.current),f.current=null),i(1),l("stopped");try{h.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},W=j=>{const M=new SpeechSynthesisUtterance(N[j]);try{M.rate=E}catch{}try{M.volume=Math.max(0,Math.min(1,a))}catch{}M.onend=()=>{if(A===y.current){if(j<N.length-1){try{W(j+1)}catch{$()}return}$()}},M.onerror=()=>{$()},M.onstart=()=>{if(!(j>0))try{f.current&&(cancelAnimationFrame(f.current),f.current=null),f.current=requestAnimationFrame(I)}catch{}},_.current=!0,x.speak(M)};try{W(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,n,a,c,r,s,i,l,u,m,p,h]),g=o.useCallback(()=>{y.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}f.current&&(cancelAnimationFrame(f.current),f.current=null),d(),b.current=null}catch{}l("stopped"),u("active"),i(0)},[d,l,u,i]);return{startTTS:B,stopTTS:g}}async function K5(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,c=Math.max(n,u),d=Math.floor(c/n)||1;return new Array(n).fill(0).map((m,p)=>{const h=p*d,b=Math.min(h+d,c);let v=0;for(let f=h;f<b;f++){const y=Math.abs(l[f]);y>v&&(v=y)}return v})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Yu(e,n,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await K5(s,n,a)}catch(r){try{const s=si(r)}catch{}return null}}const zo=45,Y5=74,Z5=2;function pr(e){const n=Math.min(2,Math.max(0,Number(e)||0));return n<=1?n*45:45+(n-1)*29}function mr(e){return pr(e)/45}function X5({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 J5({phase:e,phaseElapsedMs:n,currentTime:a,trackDurationSec:r,leadInMs:s,tailMs:i}){const l=Math.max(0,s),u=Math.max(0,i),c=Math.max(0,(Number.isFinite(r)?r:0)*1e3),d=l+c+u;if(!(d>0)||!(c>0))return 0;const m=e==="lead"?Math.min(Math.max(0,n),l):e==="sound"?l+Math.min(Math.max(0,(Number.isFinite(a)?a:0)*1e3),c):l+c+Math.min(Math.max(0,n),u);return Math.max(0,Math.min(1,m/d))}function Q5({bars:e,trackDurationSec:n,leadInMs:a,tailMs:r}){const s=Math.max(0,Math.floor(e)),i=Math.max(0,a),l=Math.max(0,r),u=Math.max(0,(Number.isFinite(n)?n:0)*1e3),c=i+u+l;if(s===0||!(c>0)||i===0&&l===0||!(u>0))return{lead:0,sound:s,tail:0};const d=Math.round(i/c*s),m=Math.round(l/c*s),p=Math.max(1,s-d-m),h=d+p+m-s;return{lead:Math.max(0,d-Math.ceil(h/2)),sound:p,tail:Math.max(0,m-Math.floor(h/2))}}function e3(e,n){if(!Array.isArray(e))return null;const a=n||0;return a<e.length-1?a+1:null}function t3({ended:e,completedByEnd:n}){return!!e||!!n}function n3(e){return e.map((n,a)=>({src:n.src,label:String(a+1),color:void 0,duration:n.duration||0}))}function a3(e){return e.reduce((n,a)=>n+(a.duration||0),0)}function r3(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}const Zu=4,Xu=mr(Zu/zo);function o3(e){const{src:n,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:c=0,mainVolume:d=1,onReadyChange:m,showSoundWaveForm:p=!0,leadInMs:h=0,tailMs:b=0,trackDurationSec:v=0}=e,f=o.useRef(null),y=o.useRef(null),[_,C]=o.useState(null),[B,g]=o.useState(!1),[w,x]=o.useState(null),[A,k]=o.useState(2),[N,E]=o.useState(0),[S,I]=o.useState(null),[$,W]=o.useState(!1),[j,M]=o.useState(!1),H=3,Q=3,te=1,V=300,U=o.useRef(0),P=o.useCallback(()=>{const xe=f.current,he=y&&y.current?y.current:xe?xe.closest(".audio-player__wave"):null,ie=he?he.getBoundingClientRect():xe?xe.getBoundingClientRect():null,ce=ie?ie.width:0,ue=ie?Math.max(100,ie.width):320,ge=ie?ie.height:0,Ne=Math.max(te,Math.min(V,Math.floor((ue+Q)/(H+Q)))),De=Ne*H,Ke=Math.max(0,Ne-1),ze=Math.max(0,Ke>0?(ue-De)/Ke:Q);return{bars:Ne,gap:ze,height:ge,width:ce}},[]),F=o.useRef(void 0),D=o.useRef(null),O=o.useCallback(async(xe,he,{quiet:ie=!1}={})=>{const ce=++U.current,ue=()=>U.current===ce;try{if(ie||g(!1),F.current=xe,!xe){ue()&&C(null);return}let ge=he;if(!ge)try{for(let Ke=0;Ke<4&&!(f.current||y.current);Ke++)await new Promise(ze=>requestAnimationFrame(ze));await new Promise(Ke=>requestAnimationFrame(Ke));const De=P();De.height>0&&E(De.height),ge=De.bars,k(De.gap)}catch{ge=120}D.current=ge;const Ne=await Yu(xe,ge);if(!ue())return;if(!Ne){C(null),g(!1);return}C(Ne),x(ge),g(!0)}catch{if(!ue())return;C(null),g(!1)}},[g,C,E,k,x,P]);o.useEffect(()=>{const xe=y.current;if(!xe||typeof ResizeObserver>"u")return;let he=null;const ie=new ResizeObserver(()=>{he!==null&&cancelAnimationFrame(he),he=requestAnimationFrame(()=>{he=null;try{const ce=P();if(ce.width<=0||(ce.height>0&&E(ce.height),D.current===null||ce.bars===D.current))return;const ue=F.current;k(ce.gap),ue?O(ue,ce.bars,{quiet:!0}).catch(()=>{}):D.current=ce.bars}catch{}})});return ie.observe(xe),()=>{ie.disconnect(),he!==null&&cancelAnimationFrame(he)}},[P,O]),o.useEffect(()=>{const xe=a&&a[0]&&a[0].src||n||a&&a.length===1&&a[0]&&a[0].src;O(typeof xe=="string"?xe:void 0).catch(()=>{}),M(!1)},[n,a,O]),o.useEffect(()=>{let xe=!1;if(W(!1),!i||!w){I(null);return}const he=c>0?c*(u||1):void 0;return Yu(i,w,he).then(ie=>{xe||(I(ie),ie||W(!0))}).catch(()=>{xe||(I(null),W(!0))}),()=>{xe=!0}},[i,w,c,u]);const L=Math.max(0,Math.min(1,d)),R=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),z=w||40,X=o.useMemo(()=>Q5({bars:z,trackDurationSec:v,leadInMs:h,tailMs:b}),[z,v,h,b]),K=o.useMemo(()=>Array.from({length:z}).map((xe,he)=>{const ie=he>=X.lead&&he<X.lead+X.sound,ce=X.sound>0&&ie?Math.min(z-1,Math.round((he-X.lead)/X.sound*z)):-1,ue=ie?_&&_[ce]!=null?_[ce]:null:_?0:null,ge=ue==null?null:Math.min(1,ue/R*L),Ne=ge!=null&&N>0&&pr(ge)<=Zu,De=!i,Ke=ge==null?.15:Ne?De?Xu:0:mr(ge),ze=Ne&&!De,qe=z>1?he/(z-1):0;return t.jsx("div",{className:ze?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Ke,"--i":he,"--mix":qe}},he)}),[z,_,R,L,N,X,i]),Y={"--progress":String(Math.max(0,Math.min(1,r)))},ae=i?Math.max(1,l):1,le={"--bar-gap":`${A}px`,"--wave-h":`${pr(ae)}px`,"--wave-h1":`${zo}px`},se=L*Math.max(0,l)/Zs(),ke=B&&(i?!!S||$:!0);o.useEffect(()=>{ke&&M(!0)},[ke]);const q=j?B:ke;o.useEffect(()=>{m?.(q)},[q,m]);const ne=w||40,fe=o.useMemo(()=>Array.from({length:ne}).map((xe,he)=>{const ie=S&&S[he]!=null?S[he]:null,ce=ie==null?0:ie/R*se,ue=Math.max(Xu,mr(ce)),ge=ne>1?he/(ne-1):0;return t.jsx("div",{className:"audio-player__bar",style:{"--val":ue,"--i":he,"--mix":ge}},he)}),[ne,S,R,se,N]);return t.jsxs("div",{className:"audio-player__wave",ref:y,style:le,children:[i&&t.jsx("div",{className:`audio-player__wave-noise ${ke?"is-ready":""}`,"aria-hidden":"true",children:fe}),p&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${q?"is-ready":""}`,ref:f,children:K}),t.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${q?"is-ready":""}`,ref:s,style:Y,children:K})]})]})}const s3={idle:"\uB300\uAE30",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",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 Vo(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 d=isFinite(s.duration)&&s.duration||0;l(),a(d)},c=d=>{i||(i=!0,l(),n.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",u),s.addEventListener("error",()=>c("audio load failed")),setTimeout(()=>c("audio load timeout"),n.timeoutMs),s.src=e})}const i3=2e3;function Ju(e,n=i3){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 l3({showSoundWaveForm:e,showNoiseWaveForm:n,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(c=>{if(r.current=c,!c||!s.current.length)return;const d=s.current;s.current=[];for(const m of d)m(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!n||r.current?Promise.resolve(!0):new Promise(c=>{const d=p=>{clearTimeout(m),s.current=s.current.filter(h=>h!==d),c(p)},m=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,n,a]);return o.useEffect(()=>()=>{const c=s.current;s.current=[];for(const d of c)d(!1)},[]),{onReadyChange:i,waitForReady:u,markNotReady:l}}function u3(){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 c3({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 d3(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 p3({audioRef:e,fillRef:n,waveProgressRef:a,sourcesRef:r,currentIndexRef:s,padRef:i,leadInMs:l=0,tailMs:u=0}){const c=o.useRef(null),d=o.useCallback(()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)},[]),m=o.useCallback(()=>{if(c.current!==null)return;const h=()=>{try{const b=e.current,v=Array.isArray(r.current)?r.current[s.current||0]:void 0,f=!!v&&Number.isFinite(v.duration)&&(v.duration??0)>0,y=f?0:d3(b),_=n.current;if(y===null)try{_&&_.style.visibility!=="hidden"&&(_.style.visibility="hidden")}catch{}else{const C=(l||0)>0||(u||0)>0?J5({phase:i?.current?.phase??"sound",phaseElapsedMs:i?.current?Math.max(0,Date.now()-i.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:f?v.duration:y||0,leadInMs:l||0,tailMs:u||0}):X5({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:r.current,index:s.current,audioDuration:y});try{_&&(_.style.visibility&&(_.style.visibility=""),_.style.left=`${C*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(C))}catch{}}}catch{}c.current=requestAnimationFrame(h)};c.current=requestAnimationFrame(h)},[e,n,a,r,s,i,l,u]),p=o.useCallback(h=>{d();try{n.current&&(n.current.style.visibility="",n.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}},[d,n,a]);return o.useEffect(()=>d,[d]),{start:m,stop:d,settleTo:p}}function Wo({btnLabel:e,soundSrc:n,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:c=!0,leadInMs:d=0,tailMs:m=0}){const{t:p}=ve.useTranslation(),h=e,b=cr(),v=o.useRef(b?.registerAnalyser);o.useEffect(()=>{v.current=b?.registerAnalyser});const f=o.useRef(null),y=o.useRef(null),_=o.useRef(null),C=u3(),B=o.useRef(null),g=o.useRef(!1),w=o.useRef(0),x=o.useRef(null),{ref:A,rect:k,show:N,hide:E}=c3();o.useEffect(()=>()=>{v.current?.("main",null),v.current?.("noise",null)},[]);const[S,I]=o.useState(!1),[$,W]=o.useState("idle"),[j,M]=o.useState("stopped"),H=o.useRef("stopped");o.useEffect(()=>{H.current=j},[j]);const[Q,te]=o.useState(0),[V,U]=o.useState("active"),P=o.useRef(!1);o.useEffect(()=>{if(V!=="playMode"||!P.current)return;P.current=!1;const ee=typeof document<"u"?document.activeElement:null;if(ee&&ee!==document.body)return;const _e=_.current?.querySelectorAll("button")[1];try{_e?.focus()}catch{}},[V]);const[F,D]=o.useState(null),[O,L]=o.useState(null),[R,z]=o.useState(0),[X,K]=o.useState(!1),[Y,ae]=o.useState(0),le=b?.playbackRate??1,se=b?.mainVolume??1,ke=b?Io(b.settings):0,q=b?Gu(b.settings):se,[ne,fe]=o.useState("idle"),[xe,he]=o.useState(""),[ie]=o.useState("top"),ce=o.useRef(null),ue=o.useRef(0),ge=o.useRef(null),Ne=o.useRef({phase:"sound",at:0}),De=o.useRef(d),Ke=o.useRef(m);o.useEffect(()=>{De.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{Ke.current=Math.max(0,m||0)},[m]);const ze=o.useRef(null),qe=o.useCallback(()=>{ze.current&&(clearTimeout(ze.current),ze.current=null),Ne.current={phase:"sound",at:0}},[]),He=o.useCallback((ee,_e)=>{if(!(ee>0))return Promise.resolve(!0);const Le=gt.current;return Ne.current={phase:_e,at:Date.now()},new Promise(Oe=>{ze.current=setTimeout(()=>{ze.current=null,Oe(lt.current&&Le===gt.current)},ee)})},[]);o.useEffect(()=>()=>qe(),[qe]);const{start:dt,stop:ot,settleTo:st}=p3({audioRef:f,fillRef:y,waveProgressRef:ge,sourcesRef:ce,currentIndexRef:ue,padRef:Ne,leadInMs:d,tailMs:m}),{onReadyChange:ht,waitForReady:Ae,markNotReady:Ie}=l3({showSoundWaveForm:u,showNoiseWaveForm:c}),we=o.useRef(null),rt=o.useRef(s),Z=o.useRef(r),re=o.useRef(null),pe=o.useRef(!1),[Se,it]=o.useState(!1),Ye=o.useCallback(ee=>{pe.current=ee,it(ee)},[]),xt=o.useRef(null),{activeNoiseUrl:bt,noiseSettingsRef:ut,fadeInNoise:tt,fadeOutNoise:et}=U5({noisePlayer:b,audioRef:f,playbackStateRef:H,padRef:Ne}),{startTTS:nt,stopTTS:$e}=G5({ttsText:i,playbackRate:le,mainVolume:q,fillRef:y,waveProgressRef:ge,setProgress:te,setPlaybackState:M,setStateLocal:U,fadeInNoise:tt,fadeOutNoise:et,noiseSettingsRef:ut,onDoneRef:Z,handleEndRef:xt});o.useEffect(()=>{pt.current=$e});const Ge=ee=>{if(typeof window>"u"||!window.speechSynthesis){try{he(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}nt(ee);return}Nt("tts"),nt(ee)},Pe=Array.isArray(n)?n.filter(Boolean):n?[n]:[],Ct=(!Pe||Pe.length===0)&&!!i,Mt=Array.isArray(F)&&F.length>0?F:Array.isArray(O)&&O.length>0?O:null,Et=Math.max(Array.isArray(Mt)?Mt.length:0,Pe.length),lt=o.useRef(!0);o.useEffect(()=>(lt.current=!0,()=>{lt.current=!1}),[]);const gt=o.useRef(0),Fe=()=>{gt.current+=1,w.current+=1,qe()},pt=o.useRef(null),St=o.useRef(null),Pt=o.useRef(null),Je=o.useRef(null);Je.current||(Je.current=()=>{Pt.current=null;const ee=f.current;if(St.current==="audio"&&ee&&!ee.paused){gt.current+=1,w.current+=1;try{ee.pause()}catch{}lt.current&&M("paused")}else if(St.current==="tts")try{pt.current?.()}catch{}});const Nt=ee=>{St.current=ee,Pt.current=er(Je.current)},It=()=>{Pt.current?.(),Pt.current=null};o.useEffect(()=>()=>{Je.current&&tr(Je.current)},[]);const kt=o.useCallback(async(ee,_e=3,Le=50)=>{const Oe=gt.current;if(De.current>0){dt();const Xe=ut.current;if(Xe?.enabled&&(Xe.volume??0)>0)try{tt(Xe.volume)}catch{}if(!await He(De.current,"lead")||!lt.current||Oe!==gt.current)return!1}Ne.current={phase:"sound",at:Date.now()};for(let Xe=0;Xe<_e;Xe++){if(!lt.current||Oe!==gt.current)return!1;try{return Nt("audio"),await ee.play(),!0}catch(de){if((de instanceof Error||typeof de=="object"&&de&&"name"in de?de.name:void 0)==="AbortError"){if(Oe!==gt.current)return!1;await new Promise(Me=>setTimeout(Me,Le));continue}try{he(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{he(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,dt,He,tt,ut]),dn=o.useCallback(()=>{const ee=f.current;if(!ee)return;const _e=()=>{M("playing"),U("playMode"),K(!0),dt();try{Ir(),za(ee).then(de=>{if(lt.current)try{v.current?.("main",de)}catch{}})}catch{}const Xe=ut.current;Xe?.enabled&&(Xe?.volume??0)>0&&tt(Xe.volume)},Le=()=>{t3({ended:!!ee?.ended,completedByEnd:pe.current})||(M("paused"),ot(),et())},Oe=()=>{const Xe=()=>{try{const de=ce.current,Me=e3(de,ue.current);if(Me!==null){ue.current=Me,z(Me),K(!0);const at=de?.[Me]&&de[Me].src;if(at&&ee){ee.src=at,ee.load(),kt(ee).catch(()=>{});return}}}catch{}M("stopped"),te(1);try{if(ee)try{ee.currentTime=0}catch{}}catch{}ot(),K(!1),et();try{!rt.current&&xt.current&&xt.current()}catch{}};if(Ke.current>0){dt(),He(Ke.current,"tail").then(de=>{Ne.current={phase:"sound",at:0},de&&Xe()}).catch(()=>{});return}Xe()};return ee.addEventListener("play",_e),ee.addEventListener("pause",Le),ee.addEventListener("ended",Oe),()=>{try{ee.removeEventListener("play",_e),ee.removeEventListener("pause",Le),ee.removeEventListener("ended",Oe),ot()}catch{}}},[tt,et,kt,ut,dt,ot,He]);o.useEffect(()=>dn(),[dn]),o.useEffect(()=>{rt.current=s},[s]),o.useEffect(()=>{Z.current=r},[r]),o.useEffect(()=>{if(s||V!=="active")return;const ee=x.current;if(!ee)return;let _e=null;const Le=requestAnimationFrame(()=>{try{const Oe=ee.getTotalLength();if(!Oe)return;const Xe=Oe*.2;ee.style.strokeDasharray=`${Oe-Xe} ${Xe}`;const de="triFlow_"+Math.random().toString(36).slice(2);_e=document.createElement("style"),_e.textContent=`@keyframes ${de}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Oe}}}`,document.head.appendChild(_e),ee.style.animation=`${de} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(Le),_e?.remove()}},[V,s]),o.useEffect(()=>{ce.current=F},[F]),o.useEffect(()=>{ue.current=R},[R]),o.useEffect(()=>{const ee=_.current,_e=B.current;if(!ee||!_e)return;let Le=null;const Oe=32,Xe=60,de=()=>{try{const at=Array.from(ee.querySelectorAll(":scope > .button"));let ft=0;at.forEach(G=>{if(G===_e)return;const Ce=G.getBoundingClientRect();ft+=Ce.width});const wt=ee.getBoundingClientRect().width,nn=Math.max(0,Math.floor(wt-ft-8)),be=Et;if(!be||nn<=0){Array.from(_e.children).forEach(G=>{try{G.style.width=""}catch{}});return}let T=Math.floor(nn/be);T>Xe&&(T=Xe),T<Oe&&(T=Math.max(Oe,Math.floor(nn/be))),Array.from(_e.querySelectorAll(".button")).forEach(G=>{try{G.style.width=`${T}px`}catch{}})}catch{}},Me=requestAnimationFrame(de);try{Le=new ResizeObserver(()=>{requestAnimationFrame(de)}),Le.observe(ee),Le.observe(_e),window.addEventListener("resize",de)}catch{}return()=>{try{cancelAnimationFrame(Me)}catch{}try{Le&&(Le.disconnect(),Le=null)}catch{}try{window.removeEventListener("resize",de)}catch{}}},[F,O,Et]),o.useEffect(()=>()=>{try{we.current&&(clearTimeout(we.current),we.current=null),re.current&&(clearTimeout(re.current),re.current=null)}catch{}},[]);const pn=(ee,_e)=>{D(ee),ae(_e),Ie(),L(n3(ee)),ce.current=ee},fn=async(ee,_e)=>{Ye(!1),g.current=!1,ee.src=_e,ee.load(),await Ju(ee),await Ae()!==!1&&(I(!1),await kt(ee),U("playMode"),z(0),K(!0))},Pn=async(ee,_e=!1)=>{const Le=f.current;I(!0),W("measuring_duration");try{const Oe=await Vo(ee,{timeoutMs:1e4,rejectOnError:!0});pn([{src:ee,objectUrl:null,duration:Oe}],Oe),W("ready"),_e&&Le&&await fn(Le,ee)}finally{g.current=!1,I(!1)}},gn=async(ee,_e=!1)=>{const Le=f.current;I(!0),W("measuring_duration");try{const Oe=await Promise.all(ee.map(de=>Vo(de,{timeoutMs:1e4})));if(!lt.current)return;const Xe=ee.map((de,Me)=>({src:de,objectUrl:null,duration:Oe[Me]||0}));pn(Xe,a3(Xe)),W("ready"),_e&&Le&&Xe.length>0&&await fn(Le,Xe[0].src)}finally{g.current=!1,I(!1)}},In=async(ee=!1,_e=!0)=>{const Le=f.current,Oe=n?Array.isArray(n)?n:[n]:[];if(!Oe||Oe.length===0||!Oe.some(Boolean))return!1;if(g.current)return null;g.current=!0,_e&&I(!0),W("resolving");try{const Xe=r3(n,a,Gs),de=[];let Me=0;for(const at of Xe){let ft=at.src??null,wt=null;if(!ft&&at.resolvedPath){try{W("getting_signed_url"),ft=await Ks(at.resolvedPath)}catch{ft=null}if(!lt.current)return!1;if(!ft)try{W("downloading");const be=await Ys(at.resolvedPath);if(!lt.current)return!1;if(be){const T=be instanceof Blob?be:new Blob([be]);wt=C.track(URL.createObjectURL(T)),ft=wt}}catch{W("error");try{he(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),U("active")}catch{}}}if(!ft)continue;let nn=0;try{W("measuring_duration"),nn=await Vo(ft,{timeoutMs:3e3})}catch{nn=0}if(!lt.current){if(wt)try{URL.revokeObjectURL(wt)}catch{}for(const be of de)if(be.objectUrl)try{URL.revokeObjectURL(be.objectUrl)}catch{}return!1}Me+=nn||0,de.push({...at,src:ft,objectUrl:wt,duration:nn})}if(pn(de,Me),de.length>0&&ee&&Le){const at=de[0];Ye(!1);try{C.keepOnly(de.map(ft=>ft.objectUrl))}catch{}if(W("ready"),g.current=!1,at.src&&Le)try{if(Le.src=at.src,Le.load(),await Ju(Le),await Ae()===!1)return!1;_e&&I(!1),Le&&await kt(Le)}catch{_e&&I(!1)}else _e&&I(!1);U("playMode"),z(0),K(!0)}return de.length>0}finally{g.current=!1,_e&&I(!1),W(Xe=>Xe==="ready"?"ready":"idle")}},mn=async()=>{const ee=f.current;if(!(!ee&&!Ct)){if(Ct){const _e=window.speechSynthesis;if(V==="active"){const Le=$r(),Oe=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(Le&&Oe.length>0){U("load"),I(!0),W("synthesizing"),g.current=!0;try{const Xe=await Promise.all(Oe.map(de=>Promise.resolve(Le(de))));Xe.length>1?await gn(Xe,!0):await Pn(Xe[0],!0)}catch{g.current=!1,I(!1),U("active"),Ge(Oe.length>0?Oe:void 0)}return}Ge(Oe.length>0?Oe:void 0);return}if(V==="playMode"){const Le=!!_e&&(_e.speaking||_e.paused)&&!(ee&&(ee.currentSrc||ee.getAttribute("src")));if(ee&&!Le){if(ee.paused){if(pe.current){await Lt();return}await kt(ee),M("playing")}else Fe(),ee.pause(),M("paused");return}try{if(_e&&_e.paused)try{Nt("tts"),_e.resume(),M("playing")}catch{}else try{_e.pause(),M("paused")}catch{}}catch{}}return}if(V==="active"){if(s&&Array.isArray(ce.current)&&ce.current.length>0){const Le=ce.current[0];try{if(Le.src&&ee)try{ee.src=Le.src,ee.load(),ee&&await kt(ee)}catch{}U("playMode"),z(0),K(!0);return}catch{}}U("load");let _e;try{_e=await In(!0)}catch{_e=!1}if(_e===!1&&lt.current){try{he(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}U("active")}return}if(V!=="load"&&(V==="playMode"||V==="active"))try{if(ee&&ee.paused){if(pe.current){await Lt();return}ee&&await kt(ee),M("playing")}else ee&&(Fe(),ee.pause(),M("paused"))}catch(_e){(_e instanceof Error||typeof _e=="object"&&_e&&"name"in _e)&&_e.name}}},Lt=async()=>{const ee=f.current;if(ee)try{const _e=ce.current;if(Array.isArray(_e)&&_e.length>1){await Dn(0);return}Ye(!1);try{ee.currentTime=0}catch{}ee&&await kt(ee),M("playing"),U("playMode")}catch{}},bn=()=>{if(Fe(),It(),Ct){$e();return}const ee=f.current;try{if(ee){try{ee.pause()}catch{}try{ee.currentTime=0}catch{}}}catch{}et(),M("stopped"),U("active"),te(0),K(!1)},Ot=async(ee,{sameSegment:_e=!1}={})=>{const Le=++w.current,Oe=f.current,Xe=ce.current?.[ee]?.src;try{if(Ye(!1),z(ee),K(!0),ue.current=ee,!Xe||!Oe||(_e||Ie(),Oe.src=Xe,Oe.load(),!_e&&await Ae()===!1)||Le!==w.current||(await kt(Oe),Le!==w.current))return;M("playing"),U("playMode")}catch{}},qt=async()=>{const ee=ce.current,_e=ue.current||0;if(!ee||_e<=0){await Lt();return}await Ot(_e-1)},Fn=async()=>{const ee=ce.current,_e=ue.current||0;if(!ee||_e>=ee.length-1){bn();return}await Ot(_e+1)},on=()=>{if(pe.current)return;const ee=200,_e=340;Ye(!0),Fe(),It();try{te(1)}catch{}st(1);try{fe("hold")}catch{}try{const Le=f.current,Oe=Ct&&!!Le?.src;if(!Ct||Oe){if(Le){Le.pause();try{Le.currentTime=0}catch{}}}else $e();et()}catch{}try{M("stopped")}catch{}if(K(!1),!rt.current)try{re.current&&(clearTimeout(re.current),re.current=null),re.current=setTimeout(()=>{try{fe("out")}catch{}re.current=setTimeout(()=>{try{typeof Z.current=="function"&&Z.current(!0)}catch{}try{fe("idle")}catch{}re.current=null},_e)},ee)}catch{}};o.useEffect(()=>{xt.current=on});const yn=o.useCallback(()=>he(""),[]),Dn=async ee=>{(ce.current||[])[ee]&&await Ot(ee,{sameSegment:ee===ue.current})},Jt=j==="playing",Ut=o.useMemo(()=>{if(!O||O.length<=1)return O;const ee=O[R];return ee?[ee]:O},[O,R]),Ht=s===!0;o.useEffect(()=>{try{const ee=f.current;ee&&typeof ee.playbackRate=="number"&&(ee.playbackRate=le||1)}catch{}},[le]);const oe=o.useRef({raf:null,timer:null});o.useEffect(()=>{const ee=f.current;if(!ee)return;const _e=Math.max(0,Math.min(1,q)),Le=oe.current,Oe=()=>{Le.raf!==null&&(cancelAnimationFrame(Le.raf),Le.raf=null),Le.timer!==null&&(clearTimeout(Le.timer),Le.timer=null)};Oe();const Xe=Va(ee);if(ee.paused||Math.abs(Xe-_e)<.001||typeof requestAnimationFrame!="function"){try{jn(ee,_e)}catch{}return}const de=performance.now(),Me=()=>{const at=Math.min(1,(performance.now()-de)/150);try{jn(ee,Xe+(_e-Xe)*at)}catch{}Le.raf=at<1?requestAnimationFrame(Me):null};return Le.raf=requestAnimationFrame(Me),Le.timer=setTimeout(()=>{Oe();try{jn(ee,_e)}catch{}},200),Oe},[q]);const ye=ne==="hold",Ee=ne==="out",Ue=V==="playMode"&&!S&&!Se||ye||Ee,Te=j!=="stopped"||ye||Ee,Ve=j==="paused",We=Math.max(0,Math.min(100,(Q||0)*100)),mt=Be("audio-player__fill",Ue?"is-visible":"",Te?"is-expanded":"",Ve?"is-paused":"",Ee?"is-out":"");return t.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[t.jsxs("div",{className:`audio-player__panel ${Jt?"is-playing":""} ${S?"is-loading":""} ${V!=="default"?"is-revealed":""}`,children:[S?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:p(`training.audioStatus.${$}`,{defaultValue:s3[$]})})]}):null,V==="active"?t.jsx("button",{className:"audio-player__button",type:"button",disabled:Ht,onClick:()=>{P.current=or(),E(),mn()},"aria-label":typeof h=="string"?h:p("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:E,onFocus:N,onBlur:E,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:x,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,k&&t.jsx(xn,{anchorRect:k,text:typeof h=="string"&&h?h:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),t.jsxs("div",{className:`audio-player__play ${V==="playMode"||Jt?"is-visible":""}`,inert:!(V==="playMode"||Jt)||void 0,children:[t.jsxs("div",{ref:_,className:"audio-player__buttons",children:[t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:qt,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Jt?"pause":"play",onClick:mn,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Jt,width:"60px",variant:"transparent-white",disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:bn,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),Et>1?t.jsx("div",{ref:B,className:"audio-player__source-buttons",children:Array.from({length:Et}).map((ee,_e)=>t.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(_e+1),onClick:()=>{try{Dn(_e)}catch{}},ariaLabel:p("training.sourcePlay",{n:_e+1}),variant:"transparent-white",selected:X&&R===_e,disabled:V!=="playMode"||!(Array.isArray(F)&&F[_e]),showTooltipInfo:!0},_e))}):null,!Array.isArray(F)||F.length<=1?t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Lt,ariaLabel:p("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"}):null,t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Fn,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:V!=="playMode"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:on,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"})]}),t.jsxs("div",{className:"audio-player__slider",children:[t.jsx("div",{className:mt,ref:y,style:{left:`${We}%`},"aria-hidden":"true"}),(u||c)&&t.jsx(o3,{segments:Ut,progress:Q,totalDuration:Y,waveProgressRef:ge,showSoundWaveForm:u,leadInMs:d,tailMs:m,trackDurationSec:F?.[R]?.duration??0,noiseSrc:c&&b?.settings.enabled&&ke>0?bt:null,noiseRatio:b?Pa(b.settings):0,noiseSpeed:b?.settings.speed??1,mainVolume:se,onReadyChange:ht})]})]}),t.jsx("audio",{ref:f,crossOrigin:"anonymous",preload:"auto"})]}),!u&&t.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[t.jsx(Qe,{icon:"triangle-alert",size:14}),p("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),t.jsx(oa,{message:xe,position:ie,onClose:yn})]})}function hr(e){const{t:n}=ve.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[c,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",c)}catch{}},[c]);const{increase:m,decrease:p,canIncrease:h,canDecrease:b,fontSize:v,lineHeight:f}=al({storageKey:"tooltip-fontScale"}),y=o.useCallback(()=>d(w=>w==="dark"?"light":"dark"),[]),_=o.useCallback(w=>{try{w.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],B={fontSize:`${v}px`,lineHeight:`${f}px`,"--tt-line-height":`${f}px`,"--tt-marker-size":"28px"},g=t.jsxs("div",{className:`tooltip-textbox__root ${c==="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:B,children:C.map((w,x)=>t.jsxs("div",{className:"tooltip-textbox__line",children:[C.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:w})]},x))})]}),t.jsxs("div",{className:"tooltip-textbox__buttons",children:[t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:n("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!b}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:n("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!h}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:n("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:c==="dark"?"transparent-white":"transparent-gray"}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:_,ariaLabel:n("common.close","\uB2EB\uAE30"),variant:c==="dark"?"transparent-white":"transparent-gray"})]})]});return s?t.jsx(ln,{anchorRect:s,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||n("tooltip.textbox","\uBCF8\uBB38"),children:g}):t.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:g})}function Qu({state:e="disabled"}){const{t:n}=ve.useTranslation();return t.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[t.jsx("div",{className:"bullet__dot",children:t.jsx(Qe,{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 ec(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 c=r.current(),d=c?Array.from(c.querySelectorAll(hn)).find(m=>!m.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(u))};return i=requestAnimationFrame(u),()=>{i!==null&&cancelAnimationFrame(i);const c=document.activeElement;if(!c||c===document.body||!document.contains(c)||c.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function tc({title:e,children:n,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:u,usePlayAllBtn:c=!1,onPlayAll:d,playAllActive:m=!1}){const{t:p}=ve.useTranslation(),h=rn("(max-width: 767px)"),b=`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,_]=o.useState(!1),[C,B]=o.useState(null),[g,w]=o.useState(null);ec(y&&!!C,()=>{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 A=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]),k=o.useCallback(()=>{_(!1),B(null),w(null)},[]);o.useEffect(()=>{if(!y)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){k();return}w(typeof E<"u"&&E!==null?E:null)},[A]);const N=o.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(w(typeof E<"u"&&E!==null?E:l),!f.current){_(S=>!S);return}if(y)_(!1),B(null),w(null);else{const S=f.current.getBoundingClientRect();B(S),_(!0)}}},[i,l,y]);return t.jsxs("div",{className:v,children:[t.jsx("p",{className:b,children:t.jsx("span",{className:"training-step__title-text",children:e??n})}),s||c?t.jsxs("div",{className:"title-controls",children:[t.jsxs("div",{className:"title-buttons",children:[c&&t.jsx(me,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"play-circle",label:h?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m,onDisabledClick:m&&r!=="disabled"?()=>{}:void 0}),s&&t.jsx("div",{ref:f,children:t.jsx(me,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"eye",label:h?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:N,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(hr,{text:g??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function qo(e,n){return typeof n!="number"||typeof e!="number"?"disabled":e<n?"done":e===n?"active":"disabled"}function Kn({index:e,stepIndex:n,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:c=void 0}){const{t:d}=ve.useTranslation(),[m,p]=o.useState(()=>qo(e,n));o.useEffect(()=>{const w=qo(e,n);if(w!==m){const x=setTimeout(()=>p(w),0);return()=>clearTimeout(x)}},[e,n,m]);const h=o.useCallback((...w)=>{qo(e,n)==="done"||m==="done"||typeof u=="function"&&u(...w)},[e,n,m,u]),[b,v]=o.useState(!1),[f,y]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),_=o.useCallback(w=>{if(!w)return null;try{const x=w;if(typeof w=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const N=x.currentTarget??x.target;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect()}if(w instanceof DOMRect)return w;const A=w;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const k=w?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),C=o.useCallback((w,{text:x="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:N="center",alignY:E="top"}={})=>{const S=_(w);y({text:x,label:A,anchorRect:S,backdrop:k,alignX:N,alignY:E}),v(!0)},[_]),B=o.useCallback(()=>{v(!1),y(w=>({...w,anchorRect:null}))},[]),g=o.Children.map(i,w=>{if(o.isValidElement(w)){const x=w;if(typeof x.type=="string")return x;const A=x.props??{},k=typeof A.onDone=="function"?A.onDone:h,N=typeof A.disabled=="boolean";let E=m==="disabled";return N&&(E=!!A.disabled),o.cloneElement(x,{onDone:k,disabled:E,showTooltip:C,hideTooltip:B})}return w});return t.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${l}`,"aria-current":m==="active",children:[t.jsx(Qu,{state:m}),t.jsxs("div",{className:"training-step__content",children:[t.jsx(tc,{state:m,title:r,...s,useFaded:c}),g]}),b?t.jsx(ln,{anchorRect:f.anchorRect,backdrop:f.backdrop,onClose:B,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:t.jsx(hr,{text:f.text,onClose:B})}):null]})}function nc({context:e,state:n="disabled",theme:a="light"}){const{t:r}=ve.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 c=()=>u($=>$==="dark"?"light":"dark"),{increase:d,decrease:m,canIncrease:p,canDecrease:h,fontSize:b,lineHeight:v}=al({storageKey:"textbox_fontScale"}),[f,y]=o.useState(""),_=o.useRef(null),C=o.useRef(!1),B=o.useCallback(()=>{C.current=or()&&!!_.current&&_.current.contains(document.activeElement),i("active")},[]),g=o.useCallback(()=>y(""),[]),w=$=>{try{y($)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(n!=="disabled"){const $=setTimeout(()=>i(n),0);return()=>clearTimeout($)}},[n]);const A=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,N]=o.useState(A);k!==A&&(N(A),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":"",I=o.useMemo(()=>({fontSize:`${b}px`,lineHeight:`${v}px`}),[b,v]);return o.useEffect(()=>{if(E==="disabled"||!C.current)return;C.current=!1;const $=document.activeElement;$&&$!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),t.jsxs("div",{ref:_,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(me,{htmlType:"button",size:48,type:"bar",onClick:B,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:I,children:A})}),E!=="disabled"&&t.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:m,onDisabledClick:()=>w(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:!h,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>w(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:!p,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),t.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:c,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),t.jsx(oa,{message:f,position:"top",onClose:g})]})}function Uo({index:e,stepIndex:n,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:c,choices:d,multiSelect:m=!1,correctCount:p=0,useDisabledCovered:h=!1,choiceIcons:b,shuffleChoices:v=!0}){const{t:f}=ve.useTranslation(),y=r??f("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),_=typeof e=="number"?e:-1,C=typeof n!="number"?"disabled":_<n?"done":_===n?"active":"disabled",B=Array.isArray(d)&&d.length?d:typeof u<"u"?[u].concat(Array.isArray(c)?c:[]):void 0,g=c?c.join("||"):"",w=d?d.join("||"):"",[x,A]=o.useState(()=>Array.isArray(B)?v?va(B):B.slice():void 0);o.useEffect(()=>{Array.isArray(B)&&B.length?A(v?va(B):B.slice()):A(void 0)},[u,g,w,v]);const[k,N]=o.useState(null),[E,S]=o.useState(()=>new Set);o.useEffect(()=>{N(null),S(new Set)},[w,u,g]);const I=o.useRef(void 0);o.useEffect(()=>{const j=I.current;typeof j=="number"&&typeof n=="number"&&typeof e=="number"&&j>=e&&n<e&&(N(null),S(new Set)),I.current=n},[n,e]);const $=o.useCallback(j=>{if(C!=="active")return;const M=x?.[j];if(M==null)return;const H=M,Q=C==="active"||C==="done";if(m){const te=new Set(E),V=te.has(H);V?te.delete(H):te.add(H),S(te),typeof l=="function"&&l({selectedValues:[...te],__ts:Date.now()}),Q&&(typeof p=="number"&&p>0?te.size>=p:!V)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...te],__ts:Date.now()})}else N(H),typeof l=="function"&&l({selectedIndex:j,selectedValue:H,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:j,selectedValue:H,__ts:Date.now()})},[x,C,m,l,i,p,E]),W=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:y,useTitleFaded:s,children:t.jsx("div",{className:W,children:Array.isArray(x)&&x.length>0?x.map((j,M)=>t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>$(M),ariaLabel:String(j),label:j,useLabel:!0,icon:b?b[String(j)]:void 0,variant:"default",disabled:C==="disabled",selected:m?E.has(j):k===j,useDisabledCovered:h,minWidth:0},String(j))):null})})}function Go({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:c}=ve.useTranslation(),d=r??c("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,p=typeof n!="number"?"disabled":m<n?"done":m===n?"active":"disabled",h=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",b=l&&typeof l=="object"?l.choices:void 0,[v,f]=o.useState(u??null),y=`${String(h)}\0${JSON.stringify(b??null)}`,[_,C]=o.useState(y);_!==y&&(C(y),u==null&&f(null));const[B,g]=o.useState(u);Object.is(B,u)||(g(u),f(u??null));const w=o.useRef(void 0);o.useEffect(()=>{const N=w.current;typeof N=="number"&&typeof n=="number"&&typeof e=="number"&&N>=e&&n<e&&u==null&&f(null),w.current=n},[n,e,u]);const x=o.useCallback(N=>{const E=typeof N=="object"&&N!==null?Object.assign({},N,{__ts:Date.now()}):{value:N,__ts:Date.now()};typeof i=="function"&&i(E),p==="active"&&typeof s=="function"&&s(E)},[i,p,s]),A=o.useCallback(()=>{p==="active"&&(f(!1),x(!1))},[x,p]),k=o.useCallback(()=>{p==="active"&&(f(!0),x(!0))},[x,p]);return t.jsxs(Kn,{index:e,stepIndex:n,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[t.jsx(nc,{context:l,state:p}),t.jsx("div",{className:"training-step__buttons",children:Array.isArray(b)&&b.length>0?b.slice(0,6).map((N,E)=>t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>{p==="active"&&(f(E),x&&x(E))},disabled:p==="disabled",ariaLabel:String(N),label:N,variant:p,selected:v===E},E)):t.jsxs(t.Fragment,{children:[t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:A,disabled:p==="disabled",icon:"x",ariaLabel:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),t.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:p==="disabled",icon:"circle",ariaLabel:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function Ko({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:u,usePreviewTextBtn:c,previewText:d=null,onPreviewTextBtn:m,disabled:p,_pageIndex:h,showSoundWaveForm:b,showNoiseWaveForm:v,leadInMs:f,tailMs:y}){const{t:_}=ve.useTranslation(),C=r??_("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),B=p??(typeof n=="number"&&typeof e=="number"?e>n:!1);return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:C,onDone:s,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:m},children:t.jsx(Wo,{soundSrc:l,ttsText:l?null:d??C,bucketPath:u,btnLabel:i||_("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:B,className:"training-step__listen-sticky",showSoundWaveForm:b,showNoiseWaveForm:v,leadInMs:f,tailMs:y},`audio-p${h??0}-s${e}`)})}const m3=[];function Yo({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=m3}){const{t:u}=ve.useTranslation(),c=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=F=>typeof F=="string"?F:F&&(F.context||F.sentence||F.question||"")||"",[m,p]=o.useState(Array.isArray(l)?l:[]),[h,b]=o.useState(()=>(m||[]).map((F,D)=>({id:D,text:d(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:[];p(F);const D=(O=>{const L=(O||[]).map((K,Y)=>({id:Y,text:d(K)}));if(L.length<=1)return L;const R=(K,Y)=>{if(K.length!==Y.length)return!1;for(let ae=0;ae<K.length;ae++)if(K[ae].text!==Y[ae].text)return!1;return!0};let z=va(L),X=0;for(;R(z,L)&&X<20;)z=va(L),X+=1;return z})(F);b(D);try{if(typeof i=="function"){const O=D.filter((L,R)=>L.text===d(F[R])).length;i({shuffled:D,score:O,total:(F||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const O=D.filter((L,R)=>L.text===d(F[R])).length;s({shuffled:D,score:O,total:(F||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const _=(F,D)=>{const O=[...h],L=F+D;if(L<0||L>=O.length)return;const R=O[L];O[L]=O[F],O[F]=R,M(O);try{if(typeof s=="function"&&v==="active"){const z=O.filter((X,K)=>X.text===d(m[K])).length;s({shuffled:O,score:z,total:(m||[]).length,__ts:Date.now()})}}catch{}},[C,B]=o.useState(null),g=o.useRef(null),w=o.useRef(null),x=o.useRef(null),A=o.useRef(null),k=o.useRef(null),N=o.useRef({x:0,y:0}),E=o.useRef(null),S=o.useRef({dx:0,dy:0}),I=()=>{if(E.current!==null)return;const F=()=>{if(!g.current){E.current=null;return}E.current=requestAnimationFrame(F);const D=N.current,O=S.current||{dx:0,dy:0};g.current&&(g.current.style.transform=`translate3d(${D.x-O.dx}px, ${D.y-O.dy}px, 0)`)};E.current=requestAnimationFrame(F)},$=o.useRef(new Map),W=o.useRef(new Map),j=()=>{const F=new Map;return $.current.forEach((D,O)=>{D&&D.getBoundingClientRect&&F.set(O,D.getBoundingClientRect())}),F},M=F=>{const D=j();b(F);try{if(typeof i=="function"){const O=F.filter((L,R)=>L.text===d(m[R])).length;i({shuffled:F,score:O,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const O=j();F.forEach(L=>{const R=D.get(L.id),z=O.get(L.id),X=$.current.get(L.id);if(!X||!R||!z)return;const K=R.top-z.top;K&&(X.style.transition="none",X.style.transform=`translateY(${K}px)`,requestAnimationFrame(()=>{X.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",X.style.transform="";const Y=()=>{X.style.transition="",X.removeEventListener("transitionend",Y)};X.addEventListener("transitionend",Y)}))})})},H=(F,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(F))}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{}B(F);try{const O=h[F],L=document.createElement("div");L.className="order-list__dragging-object order-list__dragging-object--visible",L.textContent=O&&O.text?O.text:"",document.body.appendChild(L),g.current=L;const R=$.current.get(O.id);let z=D.clientX||0,X=D.clientY||0;try{if(R&&R.getBoundingClientRect){const ke=R.getBoundingClientRect();z=ke.left+ke.width/2,X=ke.top+ke.height/2}}catch{}const K=L.getBoundingClientRect(),Y=K.width/2,ae=K.height/2;S.current={dx:Y,dy:ae},L.style.transition="none",N.current={x:z,y:X},L.style.transform=`translate3d(${z-Y}px, ${X-ae}px, 0)`,requestAnimationFrame(()=>{try{L.style.transition=""}catch{}I()});const le=ke=>{const q=ke;N.current={x:q.clientX,y:q.clientY},I()};x.current=le,document.addEventListener("mousemove",le);const se=ke=>{const q=ke;N.current={x:q.clientX,y:q.clientY},I()};w.current=se,document.addEventListener("dragover",se);try{D.dataTransfer?.setData("text/plain",String(F));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:F}))}catch{}}catch{}}catch{}},Q=(F,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const O=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(O&&A.current!==O){if(A.current)try{A.current.classList.remove("drag-over")}catch{}try{O.classList.add("drag-over")}catch{}A.current=O}}catch{}},te=(F,D)=>{D.preventDefault();const O=D.dataTransfer?.getData("text/plain")||"",L=O?parseInt(O,10):C,R=F;if(typeof L!="number"||isNaN(L)||L===R){B(null),P(),V();return}const z=EC(h,L,R);M(z),B(null),V();try{if(typeof s=="function"&&v==="active"){const X=z.filter((K,Y)=>K.text===d(m[Y])).length;s({shuffled:z,score:X,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const X=document.querySelectorAll(".order-list .order-list__item")[R];if(!X)return;const K=X.querySelector(".order-list__slot")||X;try{K.classList.add("pulse"),K.offsetHeight,K.classList.add("to-dark");const Y=()=>{K.classList.remove("pulse","to-dark"),K.removeEventListener("transitionend",Y)};K.addEventListener("transitionend",Y)}catch{}})}catch{}P()},V=()=>{if(g.current){try{document.body.removeChild(g.current)}catch{}g.current=null}w.current&&(document.removeEventListener("dragover",w.current),w.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),E.current!==null&&(cancelAnimationFrame(E.current),E.current=null)},U=()=>{B(null),P(),V()};o.useEffect(()=>()=>V(),[]);const P=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),A.current){try{A.current.classList.remove("drag-over")}catch{}A.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,(h||[]).length);h.forEach((D,O)=>{const L=W.current.get(D.id);if(!L)return;let R=50;F>1&&(R=Math.round(O/(F-1)*100));try{L.style.setProperty("--marker-pos",R+"%")}catch{}})}catch{}},[h]),o.useEffect(()=>()=>{V(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:c,children:t.jsx("div",{className:"order-list",children:h.map((F,D)=>{const O=Math.max(1,(h||[]).length),L=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":L+"%"},ref:R=>{const z=W.current;R?z.set(F.id,R):z.delete(F.id)},children:t.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,t.jsxs("div",{ref:R=>{const z=$.current;R?z.set(F.id,R):z.delete(F.id)},className:`order-list__draggable ${C===D?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:f,onDragStart:f?R=>H(D,R):void 0,onDragEnter:f?R=>Q(D,R):void 0,onDragOver:f?R=>Q(D,R):void 0,onDragLeave:f?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const R=document.querySelectorAll(".order-list .order-list__item");R&&R[D]&&(R[D].classList.remove("drag-over"),A.current===R[D]&&(A.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f?R=>te(D,R):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(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(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(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(D,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===h.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},F.id)})})})}const h3=8e3;function C3(e,n){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,n)})}function ac({index:e,stepIndex:n,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:c=!1,hideAudio:d=!1,maxCards:m}){const{t:p}=ve.useTranslation(),h=r??p("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),b=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),v=m??3,f=(b||[]).slice(0,v);(b||[]).length>v&&console.warn(`TrainingStepCard: ${b.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,_=typeof n!="number"?"disabled":y<n?"done":y===n?"active":"disabled",[C,B]=o.useState(null),g=o.useRef([]),[w,x]=o.useState(!1),A=o.useRef(null),k=o.useRef(!0);o.useEffect(()=>(k.current=!0,()=>{k.current=!1}),[]);const N=o.useMemo(()=>b.map(W=>W?.id??W?.word??"").join("|"),[b]);o.useEffect(()=>{B(null)},[N]);const E=o.useRef(void 0);o.useEffect(()=>{const W=E.current;typeof W=="number"&&typeof n=="number"&&typeof e=="number"&&W>=e&&n<e&&B(null),E.current=n},[n,e]);const S=o.useCallback((W,j)=>{if(u)return;const M={item:W,index:j,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(_==="active"&&typeof s=="function")try{s(M)}catch{}},[u,i,_,s]),I=o.useCallback(async()=>{if(w||_==="disabled")return;x(!0);let W=!1;const j=new Promise(M=>{A.current=()=>{W=!0,M()}});try{for(let M=0;M<f.length&&!(!k.current||W);M++){const H=g.current[M];H&&await Promise.race([C3(H.play(),h3),j])}}finally{A.current=null,x(!1)}},[w,_,f.length]),$=o.useCallback((W,j)=>{if(_!=="active")return;B(j);const M={selectedValue:W.word||W.title||"",selectedIndex:j,item:W,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(_==="active"&&typeof s=="function")try{s(M)}catch{}},[i,_,s]);return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:h,onDone:s,titleProps:{usePlayAllBtn:!d&&f.length>0,onPlayAll:I,playAllActive:w},children:t.jsx("div",{className:"training-step__cards",onClickCapture:W=>{const j=A.current;if(!j)return;const M=W.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:p("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):f.map((W,j)=>t.jsx(Eo,{ref:M=>{g.current[j]=M},item:W,disabled:_==="disabled",onPlayDone:()=>S(W,j),selectable:u,selected:u&&C===j,onSelect:u?()=>$(W,j):void 0,flipDelay:j*120,hideLabel:c,hideAudio:d},W&&W.id||j))})})}const f3=160,g3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function b3(e,n){const a=g3[e];return a?n(`device.type.${a}`,{defaultValue:e}):e}const rc=()=>{};function Ln(e){const n=o.useId();if(!("variant"in e)){const{label:C,sub:B,onClick:g,children:w,align:x="horizontal",icon:A,useFullWidth:k=!1}=e,N=E=>{g&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),g())};return t.jsxs("div",{className:Be("panel-row",x==="vertical"?"panel-row--vertical":"",k?"panel-row--label-fixed panel-row--fill":"",g?"panel-row--clickable":""),onClick:g,onKeyDown:g?N:void 0,role:g?"button":void 0,tabIndex:g?0:void 0,children:[A!=null&&t.jsx("div",{className:"panel-row__icon",children:A}),C!=null&&t.jsxs("div",{className:"panel-row__left",children:[t.jsx("div",{className:"panel-row__label body-3",children:C}),B&&t.jsx("div",{className:"panel-row__sub caption-1",children:B})]}),t.jsx("div",{className:"panel-row__right",children:w})]})}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(La,{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:c="horizontal",useFullWidth:d=!1,icon:m}=e,p=a==="button"?void 0:i;let h=null;const b=a==="toggle"?`panel-toggle-${n}`:void 0,v=u?`panel-error-${n}`:void 0,f=`panel-helper-${n}`;if(a==="toggle"){const C=e;h=t.jsx(Wl,{checked:C.checked,onChange:C.onChange,id:b})}else if(a==="segmented"){const C=e;h=t.jsx(An,{options:C.options,value:C.value,onChange:C.onChange,size:C.size??40,ariaLabel:r})}else if(a==="dropdown"){const C=e,B=C.dropdowns?.length?t.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:C.dropdowns.map((g,w)=>t.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:t.jsx(cn,{options:g.options,value:g.value,onChange:g.onChange,placeholder:g.placeholder,block:d,error:!!u,ariaDescribedBy:v,ariaLabel:g.ariaLabel??([r,g.placeholder].filter(Boolean).join(" ")||void 0)})},w))}):t.jsx(cn,{options:C.options??[],value:C.value??"",onChange:C.onChange??rc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:v});h=u?t.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[B,t.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}):B}else if(a==="button"){const C=e;C.buttons?.length?h=t.jsx("div",{className:"panel-row__button-group",children:C.buttons.map((B,g)=>t.jsx(me,{htmlType:"button",size:B.btnSize??40,variant:B.btnVariant??"default",disabled:B.disabled,onClick:B.onClick,children:B.label},g))}):h=t.jsx(me,{htmlType:"button",size:C.btnSize??40,variant:C.btnVariant??"default",disabled:C.disabled,onClick:C.onClick,children:C.buttonLabel})}else if(a==="text"){const C=e;h=t.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:C.valueColor?{color:C.valueColor}:void 0,children:C.value})}else if(a==="input"){const C=e;h=t.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[t.jsx(Gn,{value:C.value,onChange:C.onChange??rc,onKeyDown:C.onKeyDown,onEnter:C.onEnter,placeholder:C.placeholder,ghostText:C.ghostText,ghostHint:C.ghostHint,inputMode:C.inputMode,readOnly:C.readOnly,disabled:C.disabled,type:C.type,autoComplete:C.autoComplete,maxLength:C.maxLength,showCount:C.showCount,multiline:C.multiline,rows:C.rows,fullWidth:d,error:u,ariaLabel:r,required:l,ariaDescribedBy:C.helperText?f:void 0}),C.helperText&&t.jsx("div",{id:f,className:"panel-row__helper caption-1",children:C.helperText})]})}else a==="custom"&&(h=e.children);u&&a!=="input"&&a!=="dropdown"&&(h=t.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,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")&&d,_=C=>{p&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),p())};return t.jsxs("div",{className:Be("panel-row",c==="vertical"?"panel-row--vertical":"",y?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",p?"panel-row--clickable":""),onClick:p,onKeyDown:p?_:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,children:[m!=null&&t.jsx("div",{className:"panel-row__icon",children:m}),t.jsxs("div",{className:"panel-row__left",children:[b?t.jsxs("label",{htmlFor:b,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:h})]})}function oc(e){const n=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==n);return[...new Set(a)].join(" \xB7 ")}function y3({devices:e,onRelease:n,emptyLabel:a}){const{t:r}=ve.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(me,{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(At,{size:"small",variant:lu(i.device),fill:"soft",label:b3(i.device,r)}),oc(i)&&t.jsx("span",{className:"panel-row__device-detail body-3",children:oc(i)})]}),t.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),ko(i.wornYear,i.wornMonth,i.wornDay)&&t.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:ko(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:c,scrollable:d,scrollbarGutter:m="auto",compactRows:p=!1,useBorder:h=!0,useBg:b=!0,useRowBorder:v=!0,labelWidth:f,form:y=!1,loading:_,empty:C,children:B}){const g=Be("panel",`panel--${i}`,y?"panel--form":"",l!==void 0?"panel--fill":"",h?"":"panel--no-border",b?"":"panel--no-bg",v?"":"panel--no-row-border",p?"panel--compact-rows":"",c),w={};l!==void 0&&(w.minHeight=l),u!==void 0&&(w.maxWidth=typeof u=="number"?`${u}px`:u),f!==void 0&&(w["--panel-label-width"]=typeof f=="number"?`${f}px`:f);const x=n?`h${n}`:"div";return t.jsxs("div",{className:g,style:Object.keys(w).length?w:void 0,children:[(!!e||r!=null)&&t.jsxs("div",{className:Be("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&t.jsx(Qe,{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})]}),_?t.jsx(Ln,{variant:"loading"}):C!=null&&o.Children.toArray(B).length===0?t.jsx(Ln,{variant:"empty",children:C}):d?t.jsx("div",{className:Be("panel__body--scroll",m==="stable"&&"panel__body--gutter-stable"),children:B}):B]})}function v3({cols:e=2,layout:n="grid",gap:a=1,collapseAt:r,className:s,style:i,children:l}){const u=o.useRef(null),[c,d]=o.useState();o.useEffect(()=>{const p=u.current;if(r===void 0||!p||(d(p.clientWidth),typeof ResizeObserver>"u"))return;const h=new ResizeObserver(([b])=>d(b.contentRect.width));return h.observe(p),()=>h.disconnect()},[r]);const m=r!==void 0&&c!==void 0&&c<=r;return t.jsx("div",{ref:u,className:Be("panel-grid",n==="columns"&&"panel-grid--columns",s),style:{"--panel-grid-cols":m?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function x3(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 sc(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"}]}x3($t.t.bind($t)),sc($t.t.bind($t));const Zo="none",_3=.5,w3=1.5,B3=.25;function Xo({title:e,valueLabel:n,value:a,min:r,max:s,step:i,tickStep:l,size:u,onChange:c}){return t.jsxs(Ln,{variant:"custom",label:e,useFullWidth:!0,children:[t.jsx(au,{value:a,onChange:c,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 ic({anchorRect:e,onClose:n}){const{t:a}=ve.useTranslation(),r=rn("(max-width: 767px)")?40:24,s=cr(),i=Pa(s?.settings??Fa),l=s?.settings.type??"defaultNoise",u=s?.settings.enabled??!0,c=s?.playbackRate??1,d=s?.mainVolume??1,m=Math.round(d*100),p=o.useCallback(f=>{try{s?.setMainVolume(Math.max(0,Math.min(1,f/100)))}catch{}},[s]),h=o.useCallback(f=>{try{s?.setPlaybackRate(f)}catch{}},[s]),b=o.useCallback(f=>{const y=Math.min(Ra,Math.max(0,Math.round(f*10)/10));try{s?.setSettings({noiseRatio:y})}catch{}},[s]),v=o.useCallback(f=>{try{f===Zo?s?.setSettings({enabled:!1}):s?.setSettings({type:f,enabled:!0})}catch{}},[s]);return t.jsx(ln,{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(me,{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(Xo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:p}),t.jsx(Xo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${c.toFixed(2)}x`,value:c,min:_3,max:w3,step:B3,size:r,onChange:h}),t.jsx(Ln,{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:Zo,label:a("training.noise.type.none","\uC5C6\uC74C")},...sc(a).map(f=>({key:f.value,label:f.label}))],value:u?l:Zo,onChange:v})}),t.jsx(Xo,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:Ra,step:qu,size:r,onChange:b})]})})}function lc({useNoiseSettingBtn:e=!1,onSettings:n,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:u=1,resultOpen:c=!1}){const{t:d}=ve.useTranslation(),[m,p]=o.useState(!1),[h,b]=o.useState(null),[v,f]=o.useState(!1),y=o.useRef(null),_=o.useRef(null),C=cr(),B=u>0,g=B&&l<u-1,w=!B||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),b(null))},[e]);const A=o.useCallback(()=>{p(!1),b(null)},[]),k=o.useCallback(()=>{if(m){p(!1),b(null);return}const H=y?.current?.getBoundingClientRect();H&&b(H),n?.(),p(!0)},[m,n]),N=o.useCallback(()=>{if(m){p(!1),b(null);return}const H=_?.current?.getBoundingClientRect();H&&b(H),n?.(),p(!0)},[m,n]),E=rn("(max-width: 767px)"),S=o.useRef(null),[I,$]=o.useState(null),W=o.useCallback(()=>{f(H=>{const Q=!H;return $(Q?S.current?.getBoundingClientRect()??null:null),Q})},[]),j=o.useCallback(()=>{f(!1),$(null)},[]);o.useEffect(()=>{c&&(f(!1),$(null))},[c]);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:d("training.meter.sentence","\uC7AC\uC0DD")}),t.jsx(wo,{analyser:C?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),t.jsxs("div",{className:"pp-bottom__meter",children:[t.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),t.jsx(wo,{analyser:C?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]});return ec(e&&m,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[y.current,_.current].map(H=>H?.querySelector("button")??null).find(H=>!!H&&H.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(me,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:k,className:m?"is-selected":void 0,"aria-expanded":m,"aria-haspopup":"dialog",ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),t.jsx("div",{className:"pp-bottom__settings--mobile",children:t.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:t.jsx(me,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:N,className:m?"is-selected":void 0,"aria-expanded":m,"aria-haspopup":"dialog",ariaLabel:d("training.settings","\uC124\uC815")})})})]}):null,e&&t.jsx("div",{ref:S,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:t.jsx(me,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:W,selected:v,"aria-expanded":E?v:void 0,ariaLabel:d("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&&I&&t.jsx(ln,{anchorRect:I,onClose:j,ariaLabel:d("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:[w&&t.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!x}),g&&t.jsx(me,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!x})]}),e&&m&&t.jsx(ic,{anchorRect:h,onClose:A})]})}function uc({title:e,subtitle:n,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:u,pageCount:c,progressMax:d,progressIndex:m,onBack:p,onClose:h}){const{t:b}=ve.useTranslation(),v=rn("(max-width: 767px)"),f=Number.isInteger(m)?m:u||0,y=Number.isInteger(d)?d:c||0,_=p||h,C=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,B=typeof e=="string"?e.trim():e,g=typeof n=="string"?n.trim():n,w=!!(B||g),x=w?B||g:b("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=C||(B?n:void 0),k=v&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,N=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:[_?t.jsx(me,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:b("common.back","\uB4A4\uB85C"),onClick:_,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,t.jsx("div",{children:s?t.jsx($l,{icon:s,label:e,tooltip:l,wrapperStyle:N}):null}),t.jsxs("div",{className:"pp-title__text",children:[k?t.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,t.jsx("span",{className:`pp-title__title h2${w?"":" pp-title__title--empty"}`,children:x}),a?t.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),t.jsx(iu,{max:Math.max(0,y??0),index:Math.max(0,f??0)})]})}function A3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function k3(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 cc=(e,n)=>{if(!n)return n;const a=typeof $t?.t=="function"?$t.t(e,{defaultValue:n}):void 0;return typeof a=="string"&&a?a:n};function dc(e,n,a){const r=e,s=r?.title||r?.name||(Array.isArray(n)?n[n.length-1]:void 0)||a||"\uD6C8\uB828",i=Ci().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?cc(`topic.${i.key}`,i.label):void 0,l?cc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Jo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function pc(e,n,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e,s=typeof a=="number"&&a>0?a:Date.now();return{...r,...r.shownAt===void 0&&n?{shownAt:n}:{},...r.answeredAt===void 0?{answeredAt:new Date(s).toISOString()}:{}}}function N3(e){const n=e;return Array.isArray(n?.items)?n.items:Array.isArray(e)?e:e?[e]:[]}function D3({idPrefix:e,trainingData:n,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const c=dc(n,a,r),d=typeof u=="function"?u(c)||{}:u||{},m=n?.id||n?.title||s.length;return{id:`${e}:${m}`,meta:{...c,...d},pages:s,emptyMessage:i,buildResults:l}}function E3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const n=e;return n.context||n.sentence||n.question||""||""}return""}function S3(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 j3(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 mc(e,n){if(!(!e||typeof e!="object"))return e[`step-${n}`]}function T3(e,n,a,r){return mc(e,n*a+r)}function M3({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 L3(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 hc=o.createContext(null);function $3(){const e=o.useContext(hc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function R3({index:e,stepIndex:n,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=ve.useTranslation(),c=typeof e=="number"?e:-1,d=typeof n!="number"?"disabled":c<n?"done":c===n?"active":"disabled",[m,p]=o.useState(()=>s.map(()=>null)),h=JSON.stringify(s),b=s.length;o.useEffect(()=>{p(Array.from({length:b},()=>null))},[h]);const v=o.useRef(void 0);o.useEffect(()=>{const C=v.current;typeof C=="number"&&typeof n=="number"&&typeof e=="number"&&C>=e&&n<e&&p(Array.from({length:b},()=>null)),v.current=n},[n,e,b]);const f=o.useMemo(()=>m.filter(C=>C!==null).length+1,[m]),y=o.useCallback(C=>{if(d!=="active")return;const B=m;let g;if(B[C]!=null){const x=B[C];g=B.map(A=>A!==null&&A>=x?null:A)}else g=[...B],g[C]=f;p(g);const w={selectedOrder:g,words:s,__ts:Date.now()};try{typeof l=="function"&&l(w)}catch{}if(B[C]==null&&g.length>0&&g.every(x=>x!==null))try{typeof i=="function"&&i(w)}catch{}},[d,m,f,l,i,s]),_=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return t.jsx(Kn,{index:e,stepIndex:n,isLast:a,title:_,onDone:i,children:t.jsx("div",{className:"training-step__cards",children:s.map((C,B)=>t.jsx(Eo,{item:{word:C},disabled:d==="disabled",selectable:!0,selected:m[B]!==null,orderRank:m[B],onSelect:()=>y(B),flipDelay:B*120,hideLabel:!1,hideAudio:!0},`${C}-${B}`))})})}function fr(e){return null}fr.__isTrainingPage=!0;function pa(e,n){const a=$3();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 Cc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=pa(e,n);return t.jsx(Ko,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function fc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Uo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function gc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Go,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function bc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(Yo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function yc({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(ac,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function P3({_stepIndex:e,_totalSteps:n,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=pa(e,n);return t.jsx(R3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Qo(...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 I3(e){return Qo(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function vc(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=Qo(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 xc(e){const{score:n,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=ve.useTranslation(),m=o.useId(),p=o.useCallback(()=>!c,[c]);o.useEffect(()=>{const C=a??0;if(n!=null&&C>0&&n/C>.5){const B=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(B)}},[n,a]);const h=o.useCallback(C=>{const B=vc(C),g=Qo(C?.wording,C?.label);return B===!0?{variant:"main",label:g??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:B===!1?{variant:"danger",label:g??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:g??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),b=a??0,v=n??0,f=o.useMemo(()=>Array.isArray(r)?r:[],[r]),y=o.useMemo(()=>f.map(C=>{const B=C??{},g=I3(B)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:w,label:x}=h(B),A=Array.isArray(B.corrects)?B.corrects:[],k=A.length?A.join(", "):B.answer!=null&&B.answer!==""?String(B.answer):null,N=typeof B.selectedText=="string"?B.selectedText:null,E=vc(B)===!0;return{problem:g,variant:w,label:x,answer:k,selectedText:N,isCorrect:E}}),[f,h,d]),_=o.useMemo(()=>y.some(C=>C.answer!==null||C.selectedText!==null),[y]);return t.jsx(Mn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:p,footerClassName:"trp-result__foot",footer:({animateThen:C,closeWithAnimation:B})=>t.jsxs(t.Fragment,{children:[c&&t.jsx("p",{id:m,className:"trp-actions__reason caption-1",role:"status",children:d("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(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>C(i)}),t.jsx(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:B,disabled:c,onDisabledClick:c?()=>{}:void 0,"aria-describedby":c?m: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:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),t.jsx("h1",{className:"trp-result__title h2",children:d("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":d("training.result.scoreAria",{correct:v,total:b}),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:b})]})})]}),y.length>0&&t.jsx("section",{className:"trp-result__body",children:t.jsxs("div",{className:`result-table${_?" result-table--answer":""}`,role:"table","aria-label":d("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:d("common.col.problem","\uBB38\uC81C")}),_&&t.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),t.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),y.map((C,B)=>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(B+1).padStart(2,"0")}),t.jsx("div",{className:"trp-row__q body-2",children:C.problem})]}),_&&t.jsxs("div",{className:"trp-row__answers",children:[C.answer!==null&&t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),t.jsx("span",{className:"trp-row__answer-value body-2",children:C.answer})]}),t.jsxs("div",{className:"trp-row__answer-line",children:[t.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${C.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),t.jsx("span",{className:`trp-row__answer-value body-2 ${C.isCorrect?"is-correct":"is-wrong"}`,children:C.selectedText??"\u2014"})]})]}),t.jsx("div",{className:"trp-row__judge",children:t.jsx(At,{variant:C.variant,label:C.label,fill:"soft",minWidth:80})})]},B))]})})]})})}function F3(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 m=Date.now();a==null&&(a=m),r==null&&(r=m)},u=()=>{r!=null&&(s+=Date.now()-r,r=null)};n()&&l();const c=()=>{if(u(),a==null||s-i<1e3||i===0&&s<5e3)return;const m=a+i;i=s,TC({trainingType:e,startedAt:new Date(m).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{n()?l():c()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",c),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",c),c()}},[e])}function gr(e,n){return e&&e.id||`page-${n??0}`}function br(e,n){return e&&e.key||`step-${n??0}`}function yr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function O3(e,n){return typeof e?.props=="function"?e.props(n)||{}:e?.props||{}}const H3=300,z3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},$n=Object.freeze({}),_c=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function wc(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 V3=e=>t.jsx(xc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function W3(e){const{scenario:n,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:u,pageIndex:c,pageCount:d,stepIndex:m,stepCount:p,onBack:h,onComplete:b,onNext:v,onSettings:f,useNoiseSetting:y=!0,children:_,ariaLabel:C,label:B,buildResults:g,onResult:w,typeKey:x,entryPoint:A,dailyTotal:k,itemRef:N,renderResultPopup:E,noiseOverride:S}=e;F3(x&&!_c.has(x)?x:"");const I=o.useRef(0);o.useEffect(()=>{I.current=Date.now()},[]);const{t:$}=ve.useTranslation(),W=w,j=!!n,M=n?.id||null,H=n?.meta||{},Q=Array.isArray(n?.pages)?n.pages:[],te=Array.isArray(_)||o.isValidElement(_)&&typeof _!="function"?o.Children.toArray(_).filter(o.isValidElement):[],V=te.length>0,U=oe=>oe===fr||oe?.__isTrainingPage===!0,P=V&&te.some(oe=>U(oe.type)),F=P?te.filter(oe=>U(oe.type)).map((oe,ye)=>{const Ee=oe.props||{};return{id:`children-page-${ye}`,steps:o.Children.toArray(Ee.children).filter(o.isValidElement),pageTop:Ee.pageTop||Ee.top||null,pageBottom:Ee.pageBottom||Ee.bottom||null}}):[{id:"children-page-0",steps:te}],D=V&&!j&&typeof _!="function",O=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 L4()},[]);const[L,R]=o.useState({...Fa,enabled:!1}),z=o.useRef(L);o.useEffect(()=>{z.current=L},[L]);const X=o.useRef(S),K=o.useRef(!1),Y=o.useRef(null);o.useEffect(()=>{let oe=!1;const ye=Ee=>{if(oe)return;K.current=!0;const Ue=Ee?Ia({...Fa,enabled:!1},Ee):{...Fa},Te=Y.current;Y.current=null;const Ve=Te?Ia(Ue,Te):Ue;z.current=Ve,R(Ve),Te&&!X.current&&ci(Ve),Ga(Ve);const We=X.current;if(We){const mt=typeof We=="function"?We(Ve):We,ee=Ia(Ve,mt);z.current=ee,R(ee),Ga(ee)}};return RC().then(ye),()=>{oe=!0}},[]);const[ae,le]=o.useState(null),[se,ke]=o.useState(null),q=o.useCallback((oe,ye)=>{oe==="main"?le(ye):ke(ye)},[]),ne=o.useRef(null),fe=o.useRef(null),xe=o.useCallback(()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null);const oe=ne.current;ne.current=null,oe&&ci(oe)},[]);o.useEffect(()=>{if(typeof window>"u")return;const oe=()=>{document.visibilityState==="hidden"&&xe()};return window.addEventListener("pagehide",xe),document.addEventListener("visibilitychange",oe),()=>{window.removeEventListener("pagehide",xe),document.removeEventListener("visibilitychange",oe),xe()}},[xe]);const he=o.useCallback(oe=>{const ye=Ia(z.current,oe);if(z.current=ye,R(ye),!K.current){Y.current={...Y.current??{},...oe},Ga(ye);return}X.current||(ne.current=ye,fe.current!==null&&clearTimeout(fe.current),fe.current=setTimeout(xe,H3)),Ga(ye)},[xe]),ie=L.mainSpeed,ce=L.mainVolume,ue=o.useCallback(oe=>he({mainSpeed:oe}),[he]),ge=o.useCallback(oe=>he({mainVolume:oe}),[he]),Ne=o.useMemo(()=>({settings:L,setSettings:he,registerAnalyser:q,mainAnalyser:ae,noiseAnalyser:se,playbackRate:ie,setPlaybackRate:ue,mainVolume:ce,setMainVolume:ge}),[L,he,q,ae,se,ie,ue,ce,ge]),De=o.useRef(null),[Ke,ze]=o.useState(0),qe=o.useRef([]),[He,dt]=o.useState("center"),[ot,st]=o.useState(!1),ht=o.useRef(!1),Ae=o.useRef(null),Ie=o.useCallback(oe=>{ht.current||(ht.current=!0,st(!0),Ae.current=setTimeout(()=>{try{oe()}catch{ht.current=!1,st(!1)}},z3()?0:f3))},[]);o.useEffect(()=>()=>{Ae.current&&clearTimeout(Ae.current)},[]);const we=o.useRef(h);o.useEffect(()=>{we.current=h}),o.useEffect(()=>{const oe=De.current,ye=document.activeElement;if(Yr(oe,ye),oe){const Ee=Array.from(oe.querySelectorAll(hn)).filter(Ue=>!Ue.closest('[aria-hidden="true"]'))[0];if(Ee)try{Ee.focus()}catch{}}return()=>{const Ee=document.activeElement;if(!Ee||Ee===document.body||oe&&oe.contains(Ee))try{Zr(ye)?.focus?.()}catch{}}},[]),o.useEffect(()=>Vn(()=>Ie(()=>{const oe=we.current;typeof oe=="function"&&oe()})),[Ie]),Gr(De,!0);const[rt,Z]=o.useState(!1),re=o.useRef(!1),[pe,Se]=o.useState(null),it=o.useRef(0),Ye=()=>{it.current+=1,Se(null)},[xt,bt]=o.useState(""),[ut,tt]=o.useState(()=>yr()),et=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!j&&!D||(tt(yr()),Ye())},[j,M,D]),o.useEffect(()=>{D&&tt(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 nt=D?Math.max(0,Math.min(ut.pageIndex,O-1)):0,$e=D?F[nt]:null,Ge=D&&$e&&Array.isArray($e.steps)?$e.steps:[],Pe=j?ut.pageIndex:D?nt:typeof c=="number"?c:0,Ct=j?Q[Math.max(0,Math.min(ut.pageIndex,Math.max(0,Q.length-1)))]:null,Mt=j&&Ct&&Array.isArray(Ct.steps)?Ct.steps:[],Et=j?Mt.length:D?Ge.length:typeof p=="number"?p:0,lt=j||D?Math.max(0,Math.min(ut.stepIndex,Math.max(0,Et))):typeof m=="number"?m:0,gt=j?Q.length:D?O:typeof d=="number"?d:0;o.useEffect(()=>{if(!j&&!D)return;const oe=j?gr(Ct,Pe):$e?.id||`children-page-${Pe??0}`,ye=new Date().toISOString();for(let Ee=0;Ee<=lt;Ee+=1){const Ue=j?br(Mt[Ee],Ee):`step-${Ee}`,Te=Pt(oe,Ue);St.current.has(Te)||St.current.set(Te,ye)}},[j,D,Pe,lt,$e?.id]),o.useLayoutEffect(()=>{const oe=et.current;if(typeof Pe=="number"&&oe!==null&&Pe!==oe&&Pe>oe)try{bt($("training.problemNotice",{n:Pe+1}))}catch{}et.current=typeof Pe=="number"?Pe:et.current},[Pe,c,$]),o.useLayoutEffect(()=>{const oe=De.current;if(!oe)return;const ye=()=>oe.querySelector(".page-popup__scroll");let Ee=null,Ue=null,Te=null;const Ve=Le=>{const Oe=ye();if(!Oe)return;const Xe=Oe.scrollHeight<=Oe.clientHeight;if(dt(Xe?"center":"top"),Le&&!re.current){re.current=!0;try{Z(!0)}catch{}try{ee.disconnect()}catch{}}},We=()=>{Ee!==null&&cancelAnimationFrame(Ee),Ee=requestAnimationFrame(()=>{Ue!==null&&clearTimeout(Ue),Ue=setTimeout(()=>Ve(!0),60)})},mt=()=>{Te!==null&&cancelAnimationFrame(Te),Te=requestAnimationFrame(()=>Ve(!1))};We(),window.addEventListener("resize",mt);const ee=new MutationObserver(We);ee.observe(oe,{childList:!0,subtree:!0,attributes:!0});const _e=setTimeout(()=>{re.current||Ve(!0)},400);return()=>{window.removeEventListener("resize",mt),Ee!==null&&cancelAnimationFrame(Ee),Ue!==null&&clearTimeout(Ue),Te!==null&&cancelAnimationFrame(Te),clearTimeout(_e);try{ee.disconnect()}catch{}}},[De]);const Fe=o.useCallback(oe=>{De.current&&(De.current._childOnNext=oe)},[]),pt=o.useCallback(oe=>{De.current&&(De.current._childOnResult=oe)},[]),St=o.useRef(new Map),Pt=(oe,ye)=>`${oe}\0${ye}`,Je=o.useCallback((oe,ye,Ee)=>{tt(Ue=>{const Te=Ue.answersByPage[oe]||{},Ve=Te[ye],We=Jo(Ee),mt=Jo(Ve);if(Ve&&mt>We)return Ue;const ee=pc(Ee,St.current.get(Pt(oe,ye)),We);return{...Ue,answersByPage:{...Ue.answersByPage,[oe]:{...Te,[ye]:ee}}}})},[tt]),Nt=o.useCallback((oe,ye,Ee)=>{const Ue=gr(Ct,Pe),Te=br(oe,ye);Je(Ue,Te,Ee)},[Ct,Pe,Je]),It=o.useCallback((oe,ye,Ee)=>{const Ue=gr(Ct,Pe),Te=br(oe,ye);Je(Ue,Te,Ee),!Ee?.allowChange&&oe?.autoAdvance!==!1&&tt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,ye+1)}))},[Ct,Pe,Je,tt]),kt=o.useCallback((oe,ye)=>{const Ee=$e?.id||`children-page-${Pe??0}`,Ue=typeof ye=="number"?ye:lt??0,Te=`step-${Ue}`;Je(Ee,Te,oe),oe?.allowChange||tt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,Ue+1)}))},[$e,Pe,lt,Je,tt]),dn=o.useCallback((oe,ye)=>{const Ee=$e?.id||`children-page-${Pe??0}`,Ue=`step-${typeof ye=="number"?ye:lt??0}`;Je(Ee,Ue,oe)},[$e,Pe,lt,Je]),pn=D?{currentPageIndex:Pe??0,currentStepIndex:lt??0,totalStepsInPage:Ge.length,handleStepDone:kt,handleStepChange:dn}:null,fn=async()=>{const oe=typeof n?.buildResults=="function"?await Promise.resolve(n.buildResults({scenario:n,pages:Q,flowState:ut,answersByPage:ut.answersByPage})):null;return typeof W=="function"&&await Promise.resolve(W(oe))||oe},Pn=async()=>{const oe=$e?.id||`children-page-${ut.pageIndex}`,ye=ut.answersByPage[oe]||{},Ee=P?(()=>{const Ve={};let We=0;return F.forEach(mt=>{const ee=ut.answersByPage[mt.id]||{},_e=Array.isArray(mt.steps)?mt.steps.length:0;for(let Le=0;Le<_e;Le+=1){const Oe=ee[`step-${Le}`];typeof Oe<"u"&&(Ve[`step-${We+Le}`]=Oe)}We+=_e}),Ve})():ye;if(typeof g=="function"){const Ve=await Promise.resolve(g(Ee,{pageAnswers:ye,answersByPage:ut.answersByPage,pages:F,currentPageId:oe}));return typeof W=="function"&&await Promise.resolve(W(Ve))||Ve}const Ue=Object.entries(ye).map(([Ve,We],mt)=>({index:mt,key:Ve,payload:We})),Te={results:Ue,answers:Ue,score:0};return typeof W=="function"&&await Promise.resolve(W(Te))||Te},gn=()=>{const oe=++it.current,ye=()=>oe!==it.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 Te=fn();Se($n);const Ve=Te;Promise.resolve(Ve).then(We=>{ye()||Se(We||{isEmpty:!0})}).catch(We=>{!ye()&&Se({isEmpty:!0})});return}if(D){const Te=Pn();Se($n);const Ve=Te;Promise.resolve(Ve).then(We=>{ye()||Se(We||{isEmpty:!0})}).catch(We=>{!ye()&&Se({isEmpty:!0})});return}const Ee=De.current&&De.current._childOnResult,Ue=Te=>{try{return Te?Te():void 0}catch{return}};if(typeof Ee=="function"){const Te=Ue(Ee);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Te&&typeof Te.then!="function"?Se(Te):Se(Te&&typeof Te.then=="function"?$n:{});const Ve=()=>{ye()||Se(We=>We===$n?{}:We)};Promise.resolve(Te).then(We=>{We&&!ye()?Se(We):Ve()}).catch(We=>{Ve()});return}if(typeof W=="function"){const Te=Ue(W);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Te&&typeof Te.then!="function"?Se(Te):Se(Te&&typeof Te.then=="function"?$n:{});const Ve=()=>{ye()||Se(We=>We===$n?{}:We)};Promise.resolve(Te).then(We=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}We&&!ye()?Se(We):Ve()}).catch(We=>{console.error("viewResults external handler failed",We),Ve()});return}},In=()=>{if(j){if(typeof Pe=="number"&&typeof gt=="number"&&Pe<gt-1){tt(ye=>({...ye,pageIndex:ye.pageIndex+1,stepIndex:0}));return}return gn()}if(D){const ye=Ge.length;if(typeof lt=="number"&&lt<ye-1){tt(Ee=>({...Ee,stepIndex:Ee.stepIndex+1}));return}if(typeof Pe=="number"&&typeof gt=="number"&&Pe<gt-1){tt(Ee=>({...Ee,pageIndex:Ee.pageIndex+1,stepIndex:0}));return}return gn()}if(typeof v=="function"){try{v()}catch{}return}const oe=De.current&&De.current._childOnNext;if(typeof oe=="function"){try{oe()}catch{}return}},mn=j?H.title||H.label||C||$("common.popup","\uD31D\uC5C5"):a||B||(Array.isArray(s)?s[s.length-1]:void 0)||C||$("common.popup","\uD31D\uC5C5"),Lt=C||mn,bn=j?H.title??H.label??mn:a??B??mn,Ot=(oe,ye)=>{const Ee=gr(Ct,Pe),Ue=br(oe,ye),Te=ut.answersByPage[Ee]?.[Ue],Ve=O3(oe,{page:Ct,pageIndex:Pe,step:oe,stepIndex:ye,storedPayload:Te,answersByPage:ut.answersByPage,flowState:ut}),We={key:Ue,index:ye,stepIndex:lt,isLast:ye===Mt.length-1};switch(oe?.type){case"listen":return t.jsx(Ko,{...We,...Ve,onDone:mt=>It(oe,ye,mt)});case"confirm":return t.jsx(Uo,{...We,...Ve,onDone:mt=>It(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});case"confirmWithText":return t.jsx(Go,{...We,...Ve,onDone:mt=>It(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});case"orderList":return t.jsx(Yo,{...We,...Ve,onDone:mt=>It(oe,ye,mt),onChange:mt=>Nt(oe,ye,mt)});default:return null}},qt=o.useRef(void 0);o.useEffect(()=>{const oe=qt.current;if(qt.current=Pe,oe===void 0||oe===Pe||!or())return;const ye=De.current;if(!ye)return;const Ee=document.activeElement;if(!(!Ee||Ee===document.body||!ye.contains(Ee)||Ee.disabled===!0))return;const Ue=ye.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(ye.querySelectorAll(hn)).find(Te=>!Te.closest('[aria-hidden="true"]'));try{Ue?.focus()}catch{}},[Pe]);const Fn=j?Q.length>0?t.jsx("div",{className:"training-steps",children:Mt.map((oe,ye)=>Ot(oe,ye))},`replay-${Ke}`):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||$("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,on=D?t.jsxs(hc.Provider,{value:pn,children:[$e?.pageTop?t.jsx("div",{className:"training-page-top",children:$e.pageTop}):null,t.jsx("div",{className:"training-steps",children:Ge.map((oe,ye)=>{const Ee=oe;return o.cloneElement(Ee,{...Ee.props,_stepIndex:ye,_totalSteps:Ge.length,_stepKey:`step-${ye}`,_pageIndex:Pe})})},`replay-${Ke}`),$e?.pageBottom?t.jsx("div",{className:"training-page-bottom",children:$e.pageBottom}):null]}):null,yn=o.useCallback(()=>{let oe;if(x){const ye=pe,{results:Ee,correct:Ue,total:Te}=wc(pe);MC({items:$C(Ee),category:_c.has(x)?"sentence":"word",trainingType:x,entryPoint:A??"sentence",itemRef:N??null,correct:Ue,total:Te,score:typeof ye?.score=="number"?ye.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-I.current)/1e3)),dailyTotal:k??null}),oe={correct:Ue,total:Te,attempt:qe.current.length+1,previousAttempts:[...qe.current]}}Ye(),Ie(()=>{typeof b=="function"&&b(oe),typeof h=="function"&&h()})},[b,h,x,A,k,N,pe,Se,Ie]),Dn=o.useCallback(()=>bt(""),[bt]),Jt=o.useCallback(()=>{Ie(()=>{typeof h=="function"&&h()})},[h,Ie]),Ut=t.jsxs("div",{className:`page-popup${ot?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Lt,children:[t.jsxs("div",{ref:De,className:`page-popup__panel ${rt?"":"page-popup__panel--measuring"} ${He==="center"?"page-popup__panel--center":He==="top"?"page-popup__panel--top":""}`,children:[t.jsx(uc,{title:bn,subtitle:j?H.subtitle||H.label:Array.isArray(s)?s.join(" / "):void 0,desc:j?void 0:r,depth:j?H.depth:s,icon:j?H.icon:i,wrapperStyle:j?H.wrapperStyle:l,iconTooltip:j?H.iconTooltip:u,progressMax:gt,progressIndex:Pe,pageIndex:Pe,pageCount:gt,onBack:Jt,onClose:Jt}),t.jsx("div",{className:"page-popup__scroll",children:t.jsx("div",{className:`page-popup__content ${He==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:D?on:j?Fn:typeof _=="function"?_({registerOnNext:Fe,registerOnResult:pt,panelRef:De,setResultOverlay:Se}):_})}),t.jsx(lc,{onSettings:f,onNext:In,onResult:gn,useNoiseSettingBtn:!!(j?H.useNoiseSetting??!0:y),stepIndex:lt,stepCount:Et,pageIndex:Pe,pageCount:gt,resultOpen:!!(pe&&!pe.isEmpty)})]}),pe&&!pe.isEmpty&&(E??V3)({score:pe.score,results:pe.results||pe.answers||[],contextsLength:pe.results?pe.results.length:pe.answers?pe.answers.length:0,onReplay:()=>{if(I.current=Date.now(),pe!==$n){const{correct:oe,total:ye}=wc(pe);qe.current.push({correct:oe,total:ye})}if(Ye(),ze(oe=>oe+1),j){if(tt(yr()),typeof n?.onReplay=="function")try{n.onReplay()}catch{}return}if(D){tt(yr());return}try{const oe=De.current&&De.current._childOnResult;typeof oe=="function"&&oe({replay:!0})}catch{}},onClose:yn,pending:pe===$n}),pe?.isEmpty&&t.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":$("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:$("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),t.jsx("div",{className:"page-popup__bottom",children:t.jsx(me,{htmlType:"button",variant:"main",size:48,onClick:yn,label:$("training.result.done","\uC644\uB8CC")})})]})}),t.jsx(oa,{message:xt,position:"top",onClose:Dn})]}),Ht=t.jsx(Oo.Provider,{value:Ne,children:Ut});return typeof document<"u"&&document.body?Qt.createPortal(Ht,document.body):Ht}const Rn=W3;Rn.Page=fr,Rn.ListenStep=Cc,Rn.ConfirmStep=fc,Rn.ConfirmWithTextStep=gc,Rn.OrderListStep=bc,Rn.CardStep=yc,Rn.CardOrderStep=P3;function q3({label:e,homonum:n}){const a=Jn()?.(e,n)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=Do(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 Bc({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 c=n.left+n.width/2-i/2,d=n.top-l-8;d<8&&(d=n.bottom+8),c=Math.max(8,Math.min(c,u-i-8)),s({left:c,top:d})},[n]),!n||e.length===0?null:Qt.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(q3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const U3=new Intl.Collator("ko");function G3({titleIcon:e,resultCount:n,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:u,maxSelect:c,onClearSelection:d,onPrint:m,onPrintEmpty:p,className:h,emptyHint:b,sectionType:v="page",disc:f}){const{t:y,i18n:_}=ve.useTranslation(),C=_.language?.startsWith("ko")??!1,{anchorRect:B,openAt:g,close:w}=Ba(),[x,A]=o.useState(null),k=o.useCallback(()=>{w(),A(null)},[w]);hb(k,!!x);const N=(r??"").trim(),E=/^[^,[\]\s]+$/.test(N)?N:"",S=E.length>0,I=r===void 0&&n===void 0,$=S?"match":I?"original":"ganada",[W,j]=o.useState(()=>$),[M,H]=o.useState("50"),[Q,te]=o.useState(1),[V,U]=o.useState(S);V!==S&&(U(S),j($));const P=W==="match"&&!S||W==="original"&&!I?$:W,F=o.useMemo(()=>[...S?[{value:"match",label:y("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...I?[{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,I]),D=o.useMemo(()=>["10","25","50","100"].map(ie=>({value:ie,label:y("wordSearch.pageSize",{count:Number(ie),defaultValue:`${ie}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),O=ie=>ie.words?.[0],L=o.useMemo(()=>{const ie=[...E].length,ce=bC(E),ue=new Map;return ge=>{let Ne=ue.get(ge);return Ne===void 0&&(Ne=ce((ge.words?.[0]?.label??"").slice(0,ie))?0:1,ue.set(ge,Ne)),Ne}},[E]),R=o.useCallback((ie,ce)=>{const ue=De=>O(De)?.label??"",ge=De=>O(De)?.syllables??[...ue(De)].length,Ne=De=>(De.words??[]).reduce((Ke,ze)=>{const qe=parseInt(ze.grade??"",10);return Number.isFinite(qe)&&qe<Ke?qe:Ke},999);switch(P){case"match":return L(ie)-L(ce)||U3.compare(ue(ie),ue(ce));case"ganada":return ue(ie).localeCompare(ue(ce),"ko");case"ganada_desc":return ue(ce).localeCompare(ue(ie),"ko");case"syllable":return ge(ie)-ge(ce)||ue(ie).localeCompare(ue(ce),"ko");case"syllable_desc":return ge(ce)-ge(ie)||ue(ie).localeCompare(ue(ce),"ko");case"grade":return Ne(ie)-Ne(ce)||ue(ie).localeCompare(ue(ce),"ko");case"grade_desc":return Ne(ce)-Ne(ie)||ue(ie).localeCompare(ue(ce),"ko");default:return 0}},[P,L]),z=o.useMemo(()=>s.slice().sort(R),[s,R]),X=Number(M)||10,K=o.useMemo(()=>(i??[]).flatMap(ie=>ie.items.slice().sort(R).map(ce=>({item:ce,label:ie.label}))),[i,R]),Y=i?K.length:z.length,ae=Math.max(1,Math.ceil(Y/X)),le=Math.min(Q,ae),se=o.useMemo(()=>z.slice((le-1)*X,le*X),[z,le,X]),ke=o.useMemo(()=>{if(!i)return null;const ie=K.slice((le-1)*X,le*X),ce=new Map;for(const{item:ue,label:ge}of ie)ce.has(ge)||ce.set(ge,[]),ce.get(ge).push(ue);return[...ce.entries()].map(([ue,ge])=>({label:ue,items:ge}))},[i,K,le,X]);o.useEffect(()=>{te(1)},[W,M,Y,r]);const q=Y>0?t.jsxs("div",{className:"word-search-result-block__toolbar",children:[t.jsx(cn,{size:40,options:F,value:P,onChange:j,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),t.jsx(cn,{size:40,options:D,value:M,onChange:H,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),t.jsx(nr,{page:le,totalPages:ae,onChange:te})]}):void 0,ne=ie=>{u&&u(ie)},fe=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:C?kC(a):a})]}):void 0,xe=n!==void 0&&n>0&&c!==void 0&&a?y("wordSearch.resultDisc",{unit:C?DC(a):a,max:c,selected:l.length}):void 0,he=f??xe;return t.jsxs(ia,{type:v,className:Be("word-search-result-block",h),children:[t.jsxs("div",{className:"word-search-result-block__inner",children:[(fe||q||he)&&t.jsxs("div",{className:"word-search-result-block__head",children:[t.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&t.jsx(Qe,{icon:e,className:"word-search-result-block__head-icon"}),fe&&t.jsx("span",{className:"word-search-result-block__title h3",children:fe})]}),q&&t.jsx("div",{className:"word-search-result-block__head-actions",children:q}),he&&t.jsx("div",{className:"word-search-result-block__head-disc body-3",children:he})]}),(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.")}),b&&t.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:b})]}),i?(ke??[]).map(ie=>t.jsx("div",{className:"word-search-result-block__group",children:t.jsx("div",{className:"word-search-result-block__items",children:ie.items.map(ce=>{const ue=l.includes(ce.id);return t.jsx("div",{onMouseEnter:ge=>{g(ge.currentTarget),A(ce.words??[])},onMouseLeave:k,children:t.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(ce.words??[]).map(ge=>ge.label),subLabel:(ce.words??[]).some(ge=>ge.subLabel)?(ce.words??[]).map(ge=>ge.subLabel):void 0,selected:ue,onClick:()=>ne(ce.id),minWidth:200})},ce.id)})})},ie.label)):t.jsx("div",{className:"word-search-result-block__items",children:se.map(ie=>{const ce=l.includes(ie.id);return t.jsx("div",{onMouseEnter:ue=>{g(ue.currentTarget),A(ie.words??[])},onMouseLeave:k,children:t.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(ie.words??[]).map(ue=>ue.label),subLabel:(ie.words??[]).some(ue=>ue.subLabel)?(ie.words??[]).map(ue=>ue.subLabel):void 0,selected:ce,onClick:()=>ne(ie.id),minWidth:200})},ie.id)})}),x&&B&&t.jsx(Bc,{words:x,anchorRect:B})]}),ae>1&&t.jsx("div",{className:"word-search-result-block__pagination-bottom",children:t.jsx(nr,{page:le,totalPages:ae,onChange:te})}),(d||m)&&t.jsxs("div",{className:"word-search-result-block__actions",children:[d&&t.jsx(me,{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:d}),m&&t.jsx("div",{onClick:l.length===0?p:void 0,children:t.jsx(me,{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:m})})]})]})}function K3(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 Y3({sections:e,selectedList:n,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:c,placeholder:d="-",className:m,title:p,titleIcon:h,disc:b,showInfoButton:v=!0,onClearPhoneme:f,onSearch:y,onSearchEmpty:_,searchDisabled:C=!1,searchLabel:B,searchChecking:g=!1,pairMode:w=!1,sectionType:x="page",beforeSearchContent:A,beforeContent:k,afterContent:N,hideCountControl:E=!1,ordinal:S=!1}){const{t:I}=ve.useTranslation(),$=o.useMemo(()=>I("wordPairs.infoNotes",{returnObjects:!0}),[I]),W=o.useMemo(()=>Array.from({length:s-i+1},(L,R)=>{const z=i+R;return{key:String(z),label:I("wordPairs.count",{n:z})}}),[I,s,i]),j=o.useMemo(()=>I("wordPairs.ordinals",{returnObjects:!0}),[I]),M=o.useCallback(L=>S?I("wordPairs.phonemeOrdinalLabel",{ordinal:j[L-1]??L}):a===1?I("wordPairs.phonemeSingleLabel","\uC74C\uC808"):I("wordPairs.phonemeN",{n:L}),[S,j,a,I]),H=o.useCallback(L=>S?I("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[L-1]??L}):a===1?I("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):I("wordPairs.phonemeContrast",{n:L}),[S,j,a,I]),Q=o.useCallback((L,R)=>R?t.jsxs(t.Fragment,{children:[L,t.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):L,[]),{anchorRect:te,toggleAt:V,close:U}=Ba(),P=o.useCallback(L=>r(Number(L)),[r]),F=rn("(max-width: 767px)"),D=o.useCallback(L=>K3(L,e).map(({label:R,value:z,displayLabel:X})=>{const K=!!z&&z!=="\uC5C6\uC74C";return t.jsxs("span",{className:Be("phoneme-select-block__cell-jamo-part",z?"":"phoneme-select-block__cell-jamo-part--empty",K?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[t.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${z==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:z==="\uC5C6\uC74C"?"x":z||d}),K&&t.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:X??R})]},R)}),[e,d]),O=t.jsxs(t.Fragment,{children:[t.jsx("div",{"data-tooltip-ignore":!0,children:t.jsx(me,{htmlType:"button",size:40,type:F?"dot":void 0,icon:"info",label:F?void 0:I("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:I("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(Wn,{title:I("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:te,onClose:U})]});return t.jsxs(ia,{type:x,title:p,icon:h,disc:b,action:v?O:void 0,className:Be("phoneme-select-block",m),children:[k,!E&&t.jsx("div",{className:"phoneme-select-block__controls",children:t.jsx(An,{options:W,value:String(a),onChange:P,size:40,ariaLabel:I("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),t.jsx("div",{className:"phoneme-select-block__cells",children:w?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,R)=>{const z=n[R*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(z)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M(R+1)})]},R)})}),t.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:I("wordPairs.phonemeSelect.vs","\uB300")}),t.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,R)=>{const z=n[R*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(z)})}),t.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:H(R+1)})]},R)})})]}):n.map((L,R)=>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(R+1)})]},R))}),(l||u)&&t.jsx("div",{className:"phoneme-select-block__panels",children:t.jsx("div",{className:"phoneme-select-block__detail",children:w?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,R)=>{const z=n[R*2]??{};return t.jsx(Nn,{title:Q(M(R+1),R===0),sections:u?u(z,R*2):l,selected:z,onSelect:c?.(R*2),align:"newline"},R)})}),t.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,R)=>{const z=n[R*2+1]??{};return t.jsx(Nn,{title:H(R+1),sections:u?u(z,R*2+1):l,selected:z,onSelect:c?.(R*2+1),align:"newline"},R)})})]}):n.map((L,R)=>t.jsx(Nn,{title:Q(M(R+1),R===0),sections:u?u(L,R):l,selected:L,onSelect:c?.(R),align:"newline"},R))})}),A&&t.jsx("div",{className:"phoneme-select-block__before-search",children:A}),(f||y||g)&&(()=>{const L=n.every(R=>Object.entries(R).every(([z,X])=>!X||z==="\uC885\uC131"&&X==="\uC5C6\uC74C"));return t.jsxs("div",{className:"phoneme-select-block__search-row",onClick:L?_:void 0,children:[f&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:I("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:L,onClick:L?void 0:f}),y?t.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:g?t.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:B??I("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:L||C||g,onDisabledClick:g?()=>{}:void 0,"aria-busy":g||void 0,onClick:y}):g?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:B??I("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),N]})}function Z3({title:e,sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,className:m}){const{t:p}=ve.useTranslation();return t.jsx(Nn,{className:m,title:e??p("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:n,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,align:"inline"})}function X3({title:e,headerAction:n,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=ve.useTranslation();return a.length===0?null:t.jsx(Nn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:n,sections:a,selected:r,onSelect:s,align:"newline"})}function J3({title:e,mode:n,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:m}=ve.useTranslation(),p={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},h=y=>m("wordPairs.count",{n:y}),b=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:t.jsx(Sa,{title:m("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[m("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."),m("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."),m("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:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:t.jsx(Sa,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[h(1),h(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:t.jsx(Sa,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("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."),m("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={[p.searchMode]:n==="explicit"?p.explicit:n==="pick"?p.pick:p.include,[p.phonemeOrder]:r==="ordered"?p.orderMatch:p.orderAny,[p.count]:h(i),[p.inputMode]:u==="phoneme"?p.pronInput:p.charInput},f=(y,_)=>{_===p.searchMode?a(y===p.explicit?"explicit":y===p.pick?"pick":"include"):_===p.phonemeOrder?s(y===p.orderMatch?"ordered":"unordered"):_===p.count?l(y===h(2)?2:1):_===p.inputMode&&c(y===p.pronInput?"phoneme":"word")};return t.jsx(Nn,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:b,selected:v,onSelect:f,align:"inline"})}function Q3(e){const{title:n,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:u,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:m,selectedIds:p,onSelect:h,onClose:b,pageSizeOptions:v=[10,25,50,100],initialPageSize:f,emptyText:y,noMatchText:_,countLabel:C,topContent:B,className:g=""}=e,{t:w}=ve.useTranslation(),x=l??w("common.search","\uAC80\uC0C9"),A=y??w("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),k=_??w("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[N,E]=o.useState(""),[S,I]=o.useState(c??r[0]?.key??""),[$,W]=o.useState(d),[j,M]=o.useState(String(f??v[0]??10)),[H,Q]=o.useState(1);o.useEffect(()=>{Q(1)},[N,j]);const te=u!==null,V=o.useCallback((K,Y)=>{if(!Y)return!0;const ae=Y.toLowerCase();return r.some(le=>{const se=K[le.key];return se==null?!1:String(se).toLowerCase().includes(ae)})},[r]),U=u??V,P=o.useMemo(()=>{const K=te?a.filter(Y=>U(Y,N)):a;return S?[...K].sort((Y,ae)=>{const le=Y[S],se=ae[S];return le===se?0:ro(le,se,$)}):K},[a,N,S,$,te,U]),F=Math.max(1,Math.ceil(P.length/Number(j)));H>F&&Q(F);const D=Math.min(H,F),O=P.slice((D-1)*Number(j),D*Number(j)),L=o.useCallback(K=>{S===K?W(Y=>!Y):(I(K),W(!0)),Q(1)},[S]),R=o.useMemo(()=>{if(typeof C=="function"){const K=P.length,Y=C(K);if(typeof Y=="string"){const ae=Y.lastIndexOf(String(K));if(ae>=0)return{prefix:Y.slice(0,ae),suffix:Y.slice(ae+String(K).length)}}return{label:Y}}if(typeof C=="string"&&C.includes("{n}")){const[K,Y]=C.split("{n}");return{prefix:K,suffix:Y}}return{prefix:w("common.totalCountPrefix","\uCD1D "),suffix:w("common.totalCountSuffix","\uAC1C")}},[C,P.length,w]),z=o.useMemo(()=>r.map(K=>({label:K.label,onClick:K.sortable!==!1?()=>L(K.key):void 0,className:K.className,sortDir:K.sortable!==!1&&S===K.key?$?"asc":"desc":null})),[r,S,$,L]),X=o.useMemo(()=>v.map(K=>({value:String(K),label:w("common.pageSizeLabel",{n:K})})),[v,w]);return t.jsxs(Mn,{className:`popup-list ${g}`,title:n,onClose:b,children:[B,"label"in R&&t.jsx("p",{className:"toolbar__count body-1",children:R.label}),t.jsx(fo,{count:"label"in R?void 0:{value:P.length,prefix:R.prefix,suffix:R.suffix},search:te?{value:N,onChange:E,placeholder:x}:void 0,pageSize:{options:X,value:j,onChange:M},pagination:{page:D,total:F,onChange:Q}}),t.jsx(Ao,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:z,items:O,onRowClick:h,renderRow:K=>{const Y=p!=null?K.id!=null&&p.has(K.id):m!=null&&K.id===m;return r.map(ae=>({content:ae.render?ae.render(K):K[ae.key]??"",className:Be(ae.className,Y&&"popup-list__row--selected")}))},empty:te&&N!==""&&a.length>0?k:A})]})}function Ac(e){const{title:n,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:u,hideCancel:c=!1,extraAction:d,confirmVariant:m="main",confirmDisabled:p=!1,onConfirm:h,closeOnConfirm:b=!0,onClose:v,inline:f,size:y="small",className:_,initialFocus:C="close"}=e,{t:B}=ve.useTranslation(),g=o.useRef(null);o.useEffect(()=>{if(f||C==="close")return;const E=g.current?.closest(".popup-panel"),S=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),I=C==="confirm"?S[S.length-1]:c?void 0:S[d?1:0];I&&!I.disabled&&I.focus()},[]);const w=o.useRef(!1),[x,A]=o.useState(!1),k=E=>{let S=!1;return{close:()=>{S=!0,E()},\uB2EB\uC558\uB098:()=>S}},N=async E=>{if(w.current)return;w.current=!0;const S=typeof document<"u"?document.activeElement:null;A(!0);let I=!1;try{I=await E()}catch($){typeof console<"u"&&console.error($)}finally{I||(w.current=!1,A(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&S?.isConnected&&S.focus()}))}};return t.jsxs(Mn,{title:n,onClose:v,closeDisabled:x,inline:f,size:y,className:Be("confirm-popup",r!=null&&"confirm-popup--has-top",_),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const S=k(E);await d.onClick(S.close);const I=d.closeOnClick??!0;return I&&E(),I||S.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??B("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??B("common.confirm","\uD655\uC778"),variant:m,disabled:p||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const S=k(E);return await h(S.close),b&&E(),b||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(Ln,{label:E.label,children:t.jsx("span",{className:"panel-row__text body-2",children:E.value})},S))}),t.jsx("p",{ref:g,className:"body-2 confirm-popup__message",children:a}),i]})}function e7(e,n,a={}){const{t:r}=ve.useTranslation(),[s,i]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),c=o.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),d=s?t.jsx(Ac,{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:c,discardPopup:d,allowClose:u}}function t7({onApply:e,onCancel:n}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const m=o.useCallback(async b=>{const v=r.trim();if(v){l(!0),c(null);try{await e(v),b()}catch(f){c(si(f)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),p=o.useCallback((b,v)=>{b.key==="Enter"&&!b.nativeEvent.isComposing&&m(v)},[m]),h=b=>{s(b.target.value),c(null)};return t.jsx(Mn,{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:b})=>b()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:b})=>{m(b)}}],children:({closeWithAnimation:b})=>t.jsxs(t.Fragment,{children:[t.jsx("input",{ref:d,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:h,onKeyDown:v=>p(v,b),disabled:i,autoComplete:"off",spellCheck:!1}),u&&t.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const kc=["var(--color-main)","var(--color-sub)"],n7=2e3;function a7(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 es({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,_=(C,B)=>Array.from({length:C}).map((g,w)=>{const x=6+Math.random()*12,A=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),k=kc[Math.floor(Math.random()*kc.length)],N=Math.random()*300,E=(360+Math.random()*260)*r*1.2,S=(B==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,I=Math.cos(S)*E,$=Math.sin(S)*E*1.35,W=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),M=Math.random()>.7?"50%":"3px";return{id:`${B}-${w}`,side:B,size:A,color:k,delay:N,vx:I,vy:$,angularVel:W,life:j,borderRadius:M}});return[..._(f,"left"),..._(y,"right")]},[n,r]),u=o.useRef(null),c=o.useRef({}),d=o.useRef(null),m=o.useRef(s);o.useEffect(()=>{m.current=s},[s]);const p=o.useRef(null),h=o.useRef(null),b=()=>{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"&&h.current==null&&(h.current=b()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const U=setTimeout(()=>m.current?.(),0);return()=>clearTimeout(U)}const f=1200,y=performance.now(),_=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),B=U=>Math.max(40,(U||window.innerWidth)*.02),g=_?.width||window.innerWidth||375,w=_?.height||window.innerHeight||812,x=U=>{const P=[...U].sort((F,D)=>F-D);return P[Math.floor(P.length/2)]||1},A=x(l.map(U=>Math.abs(U.vy))),k=x(l.map(U=>Math.abs(U.vx))),N=Math.sqrt(2*f*(w*.72+C))/A,E=A*N/f,S=g*.5/(k*E),I=(U,P,F)=>Math.min(F,Math.max(P,U)),$=I(N,.8,2.4),W=I(S,.7,2.2),j=a>0?a/n7:1,M=l.map(U=>({...U,life:U.life*j,vx:U.vx*W,vy:U.vy*$,startTime:y+U.delay,ended:!1})),H=_?{x:_.left-B(_.width),y:_.top+_.height+C}:{x:-B(window.innerWidth),y:window.innerHeight+C},Q=_?{x:_.left+_.width+B(_.width),y:_.top+_.height+C}:{x:window.innerWidth+B(window.innerWidth),y:window.innerHeight+C},te=U=>{let P=!1;for(const F of M){const D=c.current[F.id];if(!D||!D)continue;if(U<F.startTime){D.style.display="none",P=!0;continue}if(!F._inited){const se=F.side==="left"?H.x:Q.x,ke=F.side==="left"?H.y:Q.y;D.style.left=`${se}px`,D.style.top=`${ke}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=a7(D,F.color)??"#FF0060"),F._inited=!0}const O=(U-F.startTime)/1e3;if(O<0)continue;const L=F.life/1e3;if(O>=L){D.style.opacity="0",D.style.display="none",F.ended=!0;continue}P=!0;const R=F.side==="left"?H.x:Q.x,z=F.side==="left"?H.y:Q.y,X=R+F.vx*O,K=z+F.vy*O+.5*f*O*O,Y=(F.angularVel||0)*O,ae=X-R,le=K-z;D.style.transform=`translate3d(${ae}px, ${le}px, 0) rotate(${Y}deg)`,D.style.opacity=`${Math.max(0,1-O/L)}`}P?d.current=requestAnimationFrame(te):m.current?.()};d.current=requestAnimationFrame(te);const V=setTimeout(()=>{try{if((h.current?h.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),c.current[P.id]=F}(document.body||h.current).appendChild(U),p.current=U}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(V),p.current){try{p.current.remove()}catch{}p.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=>{c.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"?Qt.createPortal(v,h.current||document.body):v}const ts=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function r7({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(c=>({n:(c?.n??0)+1,count:ts(u.count),strength:ts(u.strength),duration:ts(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(es,{active:n,trigger:e}),a&&t.jsx(es,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function o7({title:e,sub:n,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:u,backLabel:c,wrap:d=!1}){const{t:m}=ve.useTranslation();Qg(typeof e=="string"?e:l??null);const p=c??m("common.back","\uB4A4\uB85C");return t.jsxs("div",{className:d?"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(me,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:p,showTooltipInfo:p,onClick:u}),t.jsx("h1",{className:"page-title__title h1",children:e}),s&&t.jsx("div",{className:"page-title__badge",children:t.jsx(At,{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 s7(e){return e??""}const Nc=o.createContext({words:[],loading:!1});function i7(){return o.useContext(Nc)}function l7({words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){return t.jsx(Nc.Provider,{value:{words:e,loading:n,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c},children:d})}function u7({items:e,actions:n,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return t.jsx("section",{className:Be("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,c)=>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})]},c))}),n&&t.jsx("div",{className:"summary-strip__actions",children:n})]})})}const c7=(e,n)=>`${e} / ${n}`;function d7({blocks:e,sectionTitles:n,logo:a,footer:r,pageLabel:s=c7,pageWidth:i,pageHeight:l,margin:u,className:c,style:d}){const{t:m}=ve.useTranslation(),p=o.useRef(null),h=o.useRef(null),b=o.useRef(null),v=o.useRef(null),[f,y]=o.useState(null),[_,C]=o.useState(!1);o.useEffect(()=>{const j=p.current;if(!j)return;const M=()=>C(j.scrollWidth>j.clientWidth+1);if(M(),typeof ResizeObserver>"u")return;const H=new ResizeObserver(M);return H.observe(j),()=>H.disconnect()},[f]);const B=e.map(j=>`${j.id}\0${j.section??""}\0${j.group??""}`).join(""),g=f&&f.shape===B?f.pages:null,[w,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[A,k]=o.useState(0);o.useEffect(()=>{const j=h.current;if(!j||typeof ResizeObserver>"u")return;let M=null;const H=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),Q=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),te=new ResizeObserver(()=>{M==null&&(M=H(()=>{M=null,k(V=>V+1)}))});return Array.from(j.children).forEach(V=>te.observe(V)),()=>{te.disconnect(),M!=null&&Q(M)}},[B]),o.useLayoutEffect(()=>{const j=h.current,M=v.current;if(!j||!M)return;const H=L=>L.getBoundingClientRect().height||L.offsetHeight,Q=new Map;b.current?.querySelectorAll("[data-chrome-section]").forEach(L=>{Q.set(L.dataset.chromeSection??"",H(L))});const te=L=>H(M)-(Q.get(L??"")??0),V=Array.from(j.children).map(L=>H(L)),U=[];e.forEach((L,R)=>{const z=U[U.length-1],X=z?e[z[0]]:void 0;X&&L.group!=null&&X.group===L.group&&X.section===L.section?z.push(R):U.push([R])});const P=[];let F=[],D=0;const O=()=>{F.length&&P.push(F),F=[],D=0};U.forEach(L=>{const R=L.reduce((X,K)=>X+V[K],0),z=te(e[L[0]].section);F.length&&e[F[0]].section!==e[L[0]].section&&O(),R>z?L.forEach(X=>{F.length&&D+V[X]>z+.01&&O(),F.push(X),D+=V[X]}):(F.length&&D+R>z+.01&&O(),L.forEach(X=>F.push(X)),D+=R)}),O(),y(L=>L&&L.shape===B&&JSON.stringify(L.pages)===JSON.stringify(P)?L:{shape:B,pages:P})},[B,w,i,l,u,A]);const N=po,E=N,S=r??t.jsxs(t.Fragment,{children:[t.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),I=(j,M,H)=>({header:t.jsxs("div",{className:"report-doc__header",children:[t.jsx("h2",{className:"report-doc__title h3b",children:H!=null&&n?.[H]||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)})]})}),$=Array.from(new Set(e.map(j=>j.section??""))),W={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...d};return t.jsxs("div",{ref:p,className:Be("report-doc",c),style:W,tabIndex:_?0:void 0,role:_?"group":void 0,"aria-label":_?m("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:b,children:$.map(j=>{const M=I(1,1,j||void 0);return t.jsxs("div",{"data-chrome-section":j,children:[M.header,M.footer]},j)})}),t.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(j=>t.jsx("div",{children:j.content},j.id))})]}),g&&t.jsx("div",{className:"report-doc__pages",children:g.map((j,M)=>{const{header:H,footer:Q}=I(M+1,g.length,e[j[0]].section);return t.jsxs("section",{className:"report-doc__page",children:[H,j.map(te=>t.jsx("div",{children:e[te].content},e[te].id)),Q]},M)})})]})}function p7({title:e,fields:n,columns:a=4,className:r,style:s}){return t.jsxs("div",{className:Be("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 Yn=new Map;let vr=null;const m7=12;function h7(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 xr(){const e=new Map;for(const n of Yn.keys()){if(!n.isConnected)continue;const a=h7(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+m7)}}}function C7(e){return typeof window>"u"?()=>{}:(Yn.set(e,(Yn.get(e)??0)+1),Yn.get(e)===1&&typeof ResizeObserver<"u"&&(vr??(vr=new ResizeObserver(()=>xr())),vr.observe(e)),xr(),()=>{const n=(Yn.get(e)??1)-1;if(n>0){Yn.set(e,n),xr();return}Yn.delete(e),vr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),xr()})}function f7({title:e,message:n,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=ve.useTranslation(),c=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),m=o.useRef(!1);return o.useLayoutEffect(()=>{const p=d.current,h=p?.parentElement?.closest(".update-alert-stack")??p,b=h?C7(h):null;return()=>{b?.(),m.current&&p&&p.contains(document.activeElement)&&Ya(p)}},[]),t.jsxs("div",{ref:d,className:Be("update-alert",l),role:"alert",children:[i&&t.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{m.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(ms,{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(me,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:c})]})}function g7({title:e,titleLevel:n=3,description:a,topActions:r,children:s,footerLeft:i,footerRight:l,ariaLabel:u,onClick:c,draggable:d,onDragStart:m,onDragEnd:p,className:h}){const b=n?`h${n}`:"div",v=i!=null||l!=null,f=s!=null&&s!==!1,y=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return t.jsxs("div",{className:Be("training-card",c?"training-card--clickable":"",h),onClick:c,onKeyDown:c?y:void 0,role:c?"button":void 0,"aria-label":c?u??(typeof e=="string"?e:void 0):void 0,tabIndex:c?0:void 0,draggable:d,onDragStart:m,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(b,{className:"training-card__title h4",children:e}):e,r!=null&&t.jsx("div",{className:"training-card__top-actions",onClick:_=>_.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:" "})]}),f&&t.jsx("div",{className:"training-card__body",children:s}),v&&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 b7({title:e,titleLevel:n=3,count:a,collapsed:r=!1,onToggle:s,sort:i,actions:l,empty:u=!1,emptyContent:c,dragOver:d=!1,onDragOver:m,onDragLeave:p,onDrop:h,children:b,className:v}){const{t:f}=ve.useTranslation(),y=o.useId(),_=n?`h${n}`:"span",C=s!=null,B=Be("training-card-group",d&&"training-card-group--dragover",r&&"training-card-group--collapsed",C&&"training-card-group--collapsible",v);return t.jsxs("div",{className:B,onDragOver:m,onDragLeave:p,onDrop:h,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:[C&&t.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?r?f("common.expandFor",{name:e}):f("common.collapseFor",{name:e}):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(_,{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:g=>g.stopPropagation(),children:[i&&t.jsx(cn,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange,ariaLabel:typeof e=="string"&&e?f("common.sortFor",{name:e}):void 0}),l]})]}),!r&&(u?t.jsx("div",{className:"training-card-group__empty body-3",children:c}):t.jsx("div",{className:"training-card-group__grid",children:b}))]})}const y7="speechear:saved_word_tables";function v7(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 x7(){try{const e=localStorage.getItem(y7);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(v7):[]}catch{return[]}}function Dc(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 ns(e){return e.map(n=>n.homonum!=null?`${n.word}#${n.homonum}`:n.word).join("|")}function _7(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 w7({title:e,titleIcon:n,disc:a,filterTitle:r,filterCollapsible:s,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:c,brand:d,code:m,items:p,onSaveComplete:h,onLoad:b,onRemoveItem:v,onReset:f,resetLabel:y,saveButtonLabel:_,secondarySaveButtonLabel:C,onReorder:B,showCellCount:g,onAddItem:w,className:x,renderSavePopup:A,renderWordSearch:k,hideControls:N,saveOnly:E,tableName:S,nameValue:I,onNameChange:$,descriptionValue:W,onDescriptionChange:j,namePlaceholder:M,descriptionPlaceholder:H,existingNames:Q,editingName:te,onCancel:V,initialItemsPerPage:U,renderCellAction:P,actionsLeftExtra:F}){const{t:D}=ve.useTranslation(),O=y??D("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),L=p===void 0,R=!!$,[z,X]=o.useState([]),K=(I??"").trim(),Y=K||(M??"").trim(),ae=(W??"").trim()||(H??"").trim(),le=(Q??[]).map(de=>de.trim().toLowerCase()),se=[te?.trim().toLowerCase(),...z].filter(de=>!!de),ke=[...le];for(const de of se){const Me=ke.indexOf(de);Me!==-1&&ke.splice(Me,1)}const q=K!==""&&ke.includes(K.toLowerCase()),[ne,fe]=o.useState(Array(4).fill(null)),[xe,he]=o.useState(4),[ie,ce]=o.useState(null),ue=ne.slice(0,xe),ge=!!d?.show,[Ne,De]=o.useState(!0),[Ke,ze]=o.useState(!0),qe=d&&{...d,top:Ne,bottom:Ke},[He,dt]=o.useState("landscape"),[ot,st]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ht,Ae]=o.useState("\uD45C\uC2DC"),[Ie,we]=o.useState(!0),[rt,Z]=o.useState(!0),re=o.useRef(null),pe=o.useRef([]),[Se,it]=o.useState(U==="all"?Number.POSITIVE_INFINITY:U??8),[Ye,xt]=o.useState("right"),[bt,ut]=o.useState(!1),[tt,et]=o.useState(!1),{toastMessage:nt,toastType:$e,showWarning:Ge,clearToast:Pe}=dl("warning"),Ct=o.useCallback(()=>ce(null),[ce]);w&&!L&&!g&&an("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[Mt,Et]=o.useState(()=>Math.max(p?.length??1,1)),lt=L?xe:g?Math.max(Mt,p?.length??1,1):Math.max(p?.length??0,1),{width:gt,height:Fe}=la[He],pt=!L&&!g,St=p?.length??0,Pt=Math.min(Se,Math.max(St,1)),Je=pt?Pt:lt,Nt=pt?gu(p??[],Je):null,It=!!Nt&&Nt.length>1,kt=L?ue.some(de=>de!==null&&de.length>1):(p??[]).some(de=>(de.words??[]).length>1),dn=S?.trim()||`${mi(xa())} ${kt?D("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):D("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,pn=o.useCallback(()=>It?pe.current.filter(de=>de!==null):re.current?[re.current]:[],[It]),{print:fn,openNewWindow:Pn,downloadHtml:gn}=$o({getElements:pn,paperW:gt,paperH:Fe,fileName:dn,onPopupBlocked:()=>{Ge(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."))}}),In=de=>{he(de),fe(Me=>Me.length>=de?Me:[...Me,...Array(de-Me.length).fill(null)]),ce(null)},mn=de=>{fe(Me=>{const at=[...Me];return at[de]=null,at}),ie===de&&ce(null)},Lt=de=>{if(ie===null)return;const Me=ie;fe(ft=>{const wt=[...ft];return wt[Me]=de.length>0?de:null,wt});const at=ue.findIndex((ft,wt)=>wt>Me&&ft===null);ce(at!==-1?at:null)},bn=L?ue.some(de=>de?.some(Me=>!!Me.colloquialPronunciation)):(p??[]).some(de=>(de.words??[]).some(Me=>!!Me.colloquialLabel)),Ot=o.useMemo(()=>Jn()?L?ne.slice(0,xe).flatMap(de=>(de??[]).map(Me=>[Me.word,Me.homonum])):(p??[]).flatMap(de=>(de.words??[]).map(Me=>[Me.label,Me.homonum])):[],[L,ne,xe,p]),[qt,Fn]=o.useState(!1);o.useEffect(()=>{if(Ot.length===0)return;let de=!1;return Promise.all(Ot.map(([Me,at])=>ni(Me,at))).then(Me=>{de||Fn(Me.some(Boolean))},()=>{}),()=>{de=!0}},[Ot]);const on=Ot.length>0&&qt,yn=o.useMemo(()=>[...L||g?[{label:D("wordTable.filter.columns","\uCE78 \uC218"),items:n5.map(de=>({value:`${de}\uCE78`,displayLabel:D("wordTable.filter.column",{count:de})})),display:"segmented"}]:[],...pt&&(p?.length??0)>0?[Lu(D,{hasPairs:kt,itemCount:St})]:[],...It?[a5(D)]:[]],[D,L,g,pt,p?.length,kt,St,It]),Dn={...L||g?{[D("wordTable.filter.columns","\uCE78 \uC218")]:`${lt}\uCE78`}:{},...pt&&(p?.length??0)>0?{[D(kt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Pt}\uAC1C`}:{},...It?{[D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[Ye]}:{}},Jt=(de,Me)=>{Me===D("wordTable.filter.columns","\uCE78 \uC218")?L?In(parseInt(de)):Et(parseInt(de)):Me===D(kt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?it($u(parseInt(de),St)):Me===D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&xt(Pu(de))},Ut=L?_7(ue.filter(de=>de!==null&&de.length>0).map(de=>({id:ns(de),words:de.map(Dc)}))):p??[],Ht=()=>{L&&fe(de=>de.length>xe?de.slice(0,xe):de)},oe=(de=!1)=>{if(et(de),R&&h){const Me=Y.trim().toLowerCase();Me&&X(at=>at.includes(Me)?at:[...at,Me]),h(Y,Ut,ae||void 0,de),Ht();return}if(E&&h){h("",Ut,void 0,de),Ht();return}if(h){ut(!0);return}gn()},[ye,Ee]=o.useState(!1),[Ue,Te]=o.useState(""),Ve=Ue.trim(),We=Ve!==""&&le.includes(Ve.toLowerCase()),mt=()=>{Te(Y?D("wordTable.save.copyName",{name:Y,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Ee(!0)},ee=()=>{!Ve||We||!h||(h(Ve,Ut,ae||void 0,!0),Ht(),Ee(!1))},_e=Ut.length===0,Le=_e||R&&(Y===""||q),Oe=()=>{if(_e){Ge(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(R&&Y===""){Ge(D("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}R&&q&&Ge(D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},Xe=t.jsx(ua,{items:Ut,orientation:He,contentTypes:ot,cutLine:ht,showOutline:Ie,showDivLine:rt,count:lt});return t.jsxs(t.Fragment,{children:[t.jsxs(ia,{type:"page",icon:n,title:e,disc:a,className:Be("word-table-block",x),children:[ye&&t.jsx(Mn,{size:"small",title:C??D("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Ee(!1),footer:({closeWithAnimation:de})=>t.jsxs(t.Fragment,{children:[t.jsx(me,{htmlType:"button",size:48,type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:de}),t.jsx(me,{htmlType:"button",size:48,type:"bar",variant:"main",label:D("common.save","\uC800\uC7A5"),disabled:!Ve||We,onClick:ee})]}),children:t.jsx(Gn,{label:D("wordTable.save.nameLabel","\uC774\uB984"),value:Ue,onChange:Te,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:ee,error:We?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),bt&&h&&A?.({defaultName:typeof e=="string"?e:D("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:Xe,previewW:gt,previewH:Fe,items:Ut,existingNames:x7().map(de=>de.name),saveAsNew:tt,onSave:(de,Me)=>{h(de,Ut,Me,tt),Ht(),ut(!1)},onCancel:()=>ut(!1)}),(L||w)&&ie!==null&&k?.({cellIndex:ie,onConfirm:L?Lt:de=>{if(w){const Me=de[0];if(Me){const at=new Set((p??[]).map(wt=>wt.id));let ft=ns([Me]);for(let wt=2;at.has(ft);wt++)ft=`${ns([Me])}~${wt}`;w({id:ft,words:[Dc(Me)]})}}ce(null)},onClose:Ct}),!N&&t.jsx(To,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:on,hasColloquial:bn,contentTypes:ot,orientation:He,showOutline:Ie,cutLine:ht,showDivLine:rt,setters:{setContentTypes:st,setOrientation:dt,setShowOutline:we,setCutLine:Ae,setShowDivLine:Z,setShowTopInfo:De,setShowBottomInfo:ze},showCutLine:(pt?Je:lt)>1,showDivLine2:kt,middleSections:yn,extraSelected:Dn,onExtraSelect:Jt,showPaperBands:ge,showTopInfo:Ne,showBottomInfo:Ke}),It&&Nt?t.jsx("div",{className:"word-table-block__pages",children:Nt.map((de,Me)=>t.jsx(ua,{orientation:He,contentTypes:ot,cutLine:ht,showOutline:Ie,showDivLine:rt,count:Je,items:de,onRemoveItem:v,onReorder:B&&((at,ft)=>B(at+Me*Je,ft+Me*Je)),renderCellAction:P&&((at,ft)=>P(at+Me*Je,ft)),brand:qe,code:m,contentRef:at=>{pe.current[Me]=at},pageNumber:{current:Me+1,total:Nt.length},pageNumberPosition:Ye},Me))}):t.jsx(ua,{orientation:He,contentTypes:ot,cutLine:ht,showOutline:Ie,showDivLine:rt,count:lt,items:L?void 0:p??[],editCells:L?ue:void 0,activeCell:ie,onActivateCell:L||w?ce:void 0,onRemoveCell:L?mn:void 0,onRemoveItem:L?void 0:v,onReorder:L?void 0:B,renderCellAction:L?void 0:P,brand:qe,code:m,showFillerAdd:!!w,contentRef:re}),R&&!N&&t.jsxs(Cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[t.jsx(Ln,{variant:"custom",label:D("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:t.jsx(Gn,{required:!0,value:I??"",onChange:$,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:q?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(I??"").trim()&&(M??"").trim()&&(de.preventDefault(),$?.(M??""))}})}),t.jsx(Ln,{variant:"custom",label:D("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:t.jsx(Gn,{value:W??"",onChange:j,placeholder:H?H+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:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(W??"").trim()&&(H??"").trim()&&(de.preventDefault(),j?.(H??""))}})})]})]}),!N&&t.jsxs("div",{className:"word-table-block__actions",children:[t.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&f&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:O,onClick:f}),!E&&F,!E&&b&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:b}),!E&&t.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Pn})]}),t.jsxs("div",{className:"word-table-block__actions-right",children:[V&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:V}),!E&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:fn}),C&&t.jsx(me,{htmlType:"button",size:"56",type:"bar",label:C,onClick:()=>R?mt():oe(!0),disabled:_e,onDisabledClick:()=>{Ge(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),t.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",label:_??D("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>oe(!1),disabled:Le,onDisabledClick:Oe})]})]}),t.jsx(oa,{message:nt,type:$e,onClose:Pe})]})}function Ec({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:Be("word-table-thumb",n),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,u)=>{const c=e[u];return c?t.jsx("div",{className:"word-table-thumb__cell",children:(c.words?.length?c.words:[{label:c.id}]).map((d,m)=>t.jsxs(o.Fragment,{children:[m>0&&t.jsx("span",{className:"word-table-thumb__divider"}),t.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},m))},u):t.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function B7({items:e,name:n,description:a,createdAt:r,code:s,published:i,publishedLabel:l,shared:u,sharedLabel:c,isNew:d,publisherName:m,publishedAt:p,likeCount:h,downloadCount:b,onPublisherClick:v,selected:f,onClick:y,onMore:_,titleNode:C,className:B}){const{t:g}=ve.useTranslation(),w=C!=null,x=m!=null||p!=null||h!=null||b!=null,A=k=>{k.target===k.currentTarget&&!w&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),y?.())};return t.jsxs("div",{className:Be("word-table-button",f?"word-table-button--selected":"",x?"":"word-table-button--no-footer",B),role:"button",tabIndex:0,"aria-label":s?`${n} (${s})`:n,onClick:w?void 0:y,onKeyDown:A,children:[d&&t.jsx("span",{className:"word-table-button__new-dot","aria-label":g("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),t.jsx(Ec,{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:[C??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&&t.jsx(me,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:g("common.moreFor",{name:n}),onClick:k=>{k.stopPropagation(),_(k)}})]}),(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?pi(r,g):""})}),t.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&t.jsxs("span",{className:"word-table-button__badges",children:[i&&t.jsx(At,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??g("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&t.jsx(At,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??g("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:[m&&(v?t.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":g("wordTable.publisherFilter",{name:m,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:k=>{k.stopPropagation(),v()},children:m}):t.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:m})),p&&t.jsx("span",{className:"training-card__date body-4",children:pi(p,g)})]}),t.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&t.jsx(At,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h),"aria-label":g("common.likeCount",{count:h,defaultValue:`\uC88B\uC544\uC694 ${h}`})}),b!=null&&t.jsx(At,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(b),"aria-label":g("common.downloadCount",{count:b,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${b}`})})]})]})]})}/**
1049
1049
  * @license lucide-react v1.38.0 - ISC
1050
1050
  *
1051
1051
  * This source code is licensed under the ISC license.
@@ -1055,4 +1055,4 @@ ${f.badge}`:f.badge:void 0;if(x&&c(f.code))return null;if(!f.badge&&!p)return m(
1055
1055
  *
1056
1056
  * This source code is licensed under the ISC license.
1057
1057
  * See the LICENSE file in the root directory of this source tree.
1058
- */const N7=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],D7=J("circle-x",N7);function E7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function as({icon:e,label:n,state:a,pct:r,subText:s}){const{t:i}=ve.useTranslation(),l=a==="done",u=a==="pending",c=a==="error",d=l?100:r??0;return t.jsxs("div",{className:"wdup-phase-card",children:[t.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":c?" wdup-phase-card__icon--error":""}`,children:l?t.jsx(gs,{size:22,color:"white",strokeWidth:2.5}):c?t.jsx(D7,{size:22,color:"white",strokeWidth:2.5}):t.jsx("span",{className:`wdup-phase-card__icon-inner${u?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),t.jsxs("div",{className:"wdup-phase-card__body",children:[t.jsxs("div",{className:"wdup-phase-card__top",children:[t.jsx("span",{className:`wdup-phase-card__label body-2${u?" wdup-phase-card__label--pending":""}`,children:n}),l?t.jsx(At,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):c?t.jsx(At,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&t.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!u&&t.jsx("div",{className:"wdup-bar",children:t.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":c?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||c?`${c?100:d}%`:void 0}})})]})]})}function S7({title:e,progress:n,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=ve.useTranslation(),{phase:u,error:c,wordCount:d,imagePage:p,imageDone:m,imageTotal:h,pairPercent:b}=n,v=E7(u),g=u==="done",y=!!c;function _(D){return y&&v===D?"error":v>D?"done":v===D?"active":"pending"}const C=_(1),w=_(2),f=_(3),B=u==="image-match"&&h?Math.round((m??0)/h*100):void 0,x=o.useMemo(()=>{if(w!=="done"){if(u==="image-list")return l("wordData.checkingPage",{page:p??1});if(u==="image-match"&&h)return l("wordData.imageCount",{done:Ur(m),total:Ur(h)})}},[w,u,p,h,m,l]);return t.jsx(Mn,{inline:i,className:"popup--word-data-update",title:e,footer:y&&r?t.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):y?t.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):t.jsx(me,{htmlType:"button",size:56,variant:"main",disabled:!g,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:t.jsxs("div",{className:"wdup-cards",children:[t.jsx(as,{icon:t.jsx(ps,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:C,subText:C==="active"?l("wordData.downloadingCount",{n:Ur(d)}):void 0}),t.jsx(as,{icon:t.jsx(k7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:w,pct:B,subText:x}),t.jsx(as,{icon:t.jsx(Cs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:f,pct:f==="active"?b??0:void 0,subText:void 0})]})})}function j7({enabled:e=!1,renderResultPopup:n}={}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),u=b=>{let v=null;b==="noise"?v={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:b==="short"?v={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:b==="long"?v={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:b==="order"&&(v={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(v),s(b)},c=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>u("noise"),[]),p=o.useCallback(()=>u("short"),[]),m=o.useCallback(()=>u("long"),[]),h=o.useCallback(()=>u("order"),[]);return e?t.jsxs("div",{className:"debug-result-launcher",children:[t.jsxs("div",{className:"debug-buttons",children:[t.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?n?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:c,onClose:c}):null]}):null}exports.Accordion=vb,exports.ActionCard=lf,exports.Alert=p4,exports.AppHeader=kb,exports.AudioMeter=wo,exports.AudioPlayer=Wo,exports.Avatar=y4,exports.Badge=At,exports.BarChart=uy,exports.BarChartControls=Xl,exports.Board=P4,exports.BottomNav=hl,exports.BrandIdentity=yl,exports.Breadcrumb=_4,exports.BulkBar=Z4,exports.Button=me,exports.CORE_VERSION=tf,exports.Calendar=jy,exports.CardStep=yc,exports.ChartLegend=go,exports.ChartSection=bo,exports.ChartTotal=$a,exports.Checkbox=ql,exports.ChoiceChips=R5,exports.CircleBadge=l4,exports.CodeBox=K4,exports.ColorPicker=N4,exports.CompanyMeta=V4,exports.ConfirmPopup=Ac,exports.ConfirmStep=fc,exports.ConfirmWithTextStep=gc,exports.ContrastFilterPanel=J3,exports.CoreScope=uf,exports.CountTile=M4,exports.CouponInputPopup=t7,exports.DEFAULT_NOISE_SETTINGS=Ia,exports.DatePicker=ny,exports.DebugResultLauncher=j7,exports.DescriptionTooltip=Wn,exports.DeviceSideTable=Dy,exports.Dialog=R4,exports.Divider=u4,exports.Dropdown=cn,exports.EffectPartyPopper=es,exports.EffectPartyPopperHost=r7,exports.EmptyState=of,exports.ErrorState=sf,exports.FILTER_ALL_VALUE=un,exports.FileUpload=x4,exports.FilterPanel=Nn,exports.FilterSectionInfo=Sa,exports.Footer=P5,exports.GameIntro=py,exports.Header=vl,exports.Icon=Qe,exports.IconGridMenu=$5,exports.IconRenderer=Qe,exports.InfoTooltip=xn,exports.ItemActions=J4,exports.LEVEL_MAX=da,exports.LINE_CHART_HOVER_DELAY_MS=Jl,exports.LandingBottomSticky=I5,exports.LandingHeader=F5,exports.LineChart=dy,exports.ListPopup=Q3,exports.ListenStep=Cc,exports.Loader=La,exports.MARKS=lr,exports.MARK_ICON=hu,exports.MARK_VARIANT=Cu,exports.MediaQueryOverrideContext=_i,exports.MenuTooltip=Na,exports.NOISE_RATIO_MAX=Ra,exports.NOISE_RATIO_STEP=qu,exports.NoisePlayerContext=Oo,exports.NoiseSettingsTooltip=ic,exports.NoticeBox=cf,exports.OrderListStep=bc,exports.PASS_CARD_BG_VARS=Un,exports.POS_LABEL=bu,exports.PROMO_BANNER_BG_COMPONENTS=nl,exports.PROMO_BANNER_BG_OPTIONS=Xg,exports.PROMO_BANNER_BG_VARS=wa,exports.Page=fr,exports.PageTitle=o7,exports.Pagination=nr,exports.Panel=Cr,exports.PanelGrid=v3,exports.PanelRow=Ln,exports.PanelRowDevice=y3,exports.PassCard=Sl,exports.PassCardBg=r4,exports.PassCardBgIHAB=o4,exports.PassCardBgLeftColorGrid=s4,exports.PassCardBgTwoCircle=Al,exports.PaymentPlan=a4,exports.PersonCard=F4,exports.PhonemeFilterPanel=X3,exports.PhonemeSelectBlock=Y3,exports.Popup=Mn,exports.ProgressBar=yy,exports.ProgressIndicator=iu,exports.PromoBanner=gb,exports.PromoBannerBgDark=Hi,exports.PromoBannerBgDeep=$i,exports.PromoBannerBgDiagonal=qi,exports.PromoBannerBgDots=Gi,exports.PromoBannerBgInstagram=tl,exports.PromoBannerBgMain=Ei,exports.PromoBannerBgNaver=Qi,exports.PromoBannerBgOutline=Yi,exports.PromoBannerBgRadial=Vi,exports.PromoBannerBgSoft=ji,exports.PromoBannerBgSoftSub=Pi,exports.PromoBannerBgSub=Mi,exports.PromoBannerBgSuccess=Xi,exports.PromoBannerBgWarm=Ii,exports.PublicationCard=O4,exports.Radio=Ll,exports.RadioGroup=c4,exports.Rating=B4,exports.ReportDocument=d7,exports.ReportInfoPanel=p7,exports.RingChart=hy,exports.SENTENCE_TRAINING_TYPES=Ro,exports.SearchSummary=C4,exports.Section=ia,exports.SectionHeadFloat=Gl,exports.SectionHeader=z4,exports.SegmentedControl=An,exports.ShortcutBadge=Ml,exports.SideNav=bl,exports.Slider=au,exports.SoundCompass=i4,exports.SplashLogo=H4,exports.StatChart=Cy,exports.SummaryStrip=u7,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=Rl,exports.Table=Ao,exports.TableFilterPanel=To,exports.Tabs=f4,exports.TextBoxTooltip=hr,exports.TextField=Gn,exports.Timeline=I4,exports.Toast=oa,exports.Toggle=Wl,exports.Toolbar=fo,exports.Tooltip=ln,exports.TooltipInfo=xn,exports.TooltipTextBox=hr,exports.TopBanner=bb,exports.TrainingBlock=My,exports.TrainingBlockButton=mo,exports.TrainingCard=g7,exports.TrainingCardGroup=b7,exports.TrainingPagePopup=Rn,exports.TrainingPagePopupBottom=lc,exports.TrainingPagePopupTitle=uc,exports.TrainingResultPopup=xc,exports.TrainingStep=Kn,exports.TrainingStepAudioPlayer=Wo,exports.TrainingStepBullet=Qu,exports.TrainingStepCard=ac,exports.TrainingStepConfirm=Uo,exports.TrainingStepConfirmWithText=Go,exports.TrainingStepListen=Ko,exports.TrainingStepOrderList=Yo,exports.TrainingStepTextBox=nc,exports.TrainingStepTitle=tc,exports.TrainingTooltip=Pl,exports.TrainingWordCard=Eo,exports.UpdateAlert=f7,exports.WAVE_A_MAX=Z5,exports.WAVE_H1_PX=zo,exports.WAVE_HMAX_PX=Y5,exports.WORD_TABLE_PAPER=la,exports.WORD_TYPE_LABEL=yu,exports.WordDataProvider=l7,exports.WordDataUpdatePopup=S7,exports.WordImageTooltip=Bc,exports.WordSearchFilterPanel=Z3,exports.WordSearchResultBlock=G3,exports.WordTable=ua,exports.WordTableBlock=w7,exports.WordTableButton=B7,exports.WordTablePopup=i5,exports.WordTableThumbnail=Ec,exports.buildMonthChartData=ry,exports.cellKey=C5,exports.cellLabel=h5,exports.cellsForLabels=N5,exports.clearPassCardBgTheme=Bn,exports.clearPromoBannerBgTheme=Wt,exports.closeTrainingPopup=A3,exports.companyTypeLabel=s7,exports.createTrainingScenario=D3,exports.cx=Be,exports.deriveNoiseContexts=L3,exports.derivePassCard=_l,exports.draftValues=M5,exports.effectiveNoiseVolume=Fo,exports.effectiveSpeechVolume=Gu,exports.expandSlashLabel=jo,exports.formatDuration=D5,exports.getControlDateRange=my,exports.getPayloadTimestamp=Jo,exports.getPromoBannerBgTheme=no,exports.getSelectedFromPayload=S3,exports.getSelectedText=j3,exports.getStepPayload=mc,exports.getSteppedPayload=T3,exports.injectPassCardBgTheme=wn,exports.injectPromoBannerBgTheme=Vt,exports.isSelectionCorrect=M3,exports.labelOfCellKey=Vu,exports.labelsForSave=m5,exports.levelToPct=O5,exports.markAfterClick=mu,exports.marksForSave=So,exports.mergeNoiseSettings=Fa,exports.missesByType=w5,exports.nextFocus=y5,exports.nextMisses=_5,exports.noiseElementVolume=Io,exports.noiseRatioOf=Pa,exports.pageStartIndexes=fu,exports.passCardBgIhabTheme=jl,exports.passCardBgLeftColorGridTheme=Tl,exports.passCardBgTwoCircleTheme=Bl,exports.pctToLevel=H5,exports.printWordTable=Iy,exports.promoBannerBgDarkTheme=Oi,exports.promoBannerBgDeepTheme=Li,exports.promoBannerBgDiagonalTheme=Wi,exports.promoBannerBgDotsTheme=Ui,exports.promoBannerBgInstagramTheme=el,exports.promoBannerBgMainTheme=Di,exports.promoBannerBgNaverTheme=Ji,exports.promoBannerBgOutlineTheme=Ki,exports.promoBannerBgRadialTheme=zi,exports.promoBannerBgSoftSubTheme=Ri,exports.promoBannerBgSoftTheme=Si,exports.promoBannerBgSubTheme=Ti,exports.promoBannerBgSuccessTheme=Zi,exports.promoBannerBgWarmTheme=Fi,exports.recommendTables=A5,exports.regenerateUnpinned=T5,exports.removeItem=j5,exports.resolveTrainingItems=N3,exports.resolveTrainingPopupMeta=dc,exports.reviewCells=u5,exports.reviewMeta=p5,exports.reviewSetPlan=B5,exports.reviewTableName=d5,exports.scoreKey=ir,exports.scoreSheetHeader=f5,exports.shouldConfirmDiscard=Fy,exports.splitTrainingVariants=k3,exports.summarize=Py,exports.summarizeMisses=x5,exports.tableTrends=b5,exports.toDraft=E5,exports.toTrainingText=E3,exports.togglePin=S5,exports.uncoveredLabels=k5,exports.useAnchoredMenu=ka,exports.useBarChartControl=Zl,exports.useCalendarMonth=Ul,exports.useComboboxSuggestions=zl,exports.useDiscardGuard=e7,exports.useFitScale=xu,exports.useNoisePlayer=cr,exports.useSoundCompassExam=fb,exports.useToastLifecycle=ou,exports.useWordData=i7,exports.useWordTableDisplaySettings=Hu,exports.useWordTablePrint=$o,exports.waveBarPx=pr,exports.waveBarVal=mr,exports.weakItems=g5,exports.withStepTimes=pc;
1058
+ */const N7=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],D7=J("circle-x",N7);function E7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function as({icon:e,label:n,state:a,pct:r,subText:s}){const{t:i}=ve.useTranslation(),l=a==="done",u=a==="pending",c=a==="error",d=l?100:r??0;return t.jsxs("div",{className:"wdup-phase-card",children:[t.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":c?" wdup-phase-card__icon--error":""}`,children:l?t.jsx(gs,{size:22,color:"white",strokeWidth:2.5}):c?t.jsx(D7,{size:22,color:"white",strokeWidth:2.5}):t.jsx("span",{className:`wdup-phase-card__icon-inner${u?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),t.jsxs("div",{className:"wdup-phase-card__body",children:[t.jsxs("div",{className:"wdup-phase-card__top",children:[t.jsx("span",{className:`wdup-phase-card__label body-2${u?" wdup-phase-card__label--pending":""}`,children:n}),l?t.jsx(At,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):c?t.jsx(At,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&t.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!u&&t.jsx("div",{className:"wdup-bar",children:t.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":c?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||c?`${c?100:d}%`:void 0}})})]})]})}function S7({title:e,progress:n,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=ve.useTranslation(),{phase:u,error:c,wordCount:d,imagePage:m,imageDone:p,imageTotal:h,pairPercent:b}=n,v=E7(u),f=u==="done",y=!!c;function _(A){return y&&v===A?"error":v>A?"done":v===A?"active":"pending"}const C=_(1),B=_(2),g=_(3),w=u==="image-match"&&h?Math.round((p??0)/h*100):void 0,x=o.useMemo(()=>{if(B!=="done"){if(u==="image-list")return l("wordData.checkingPage",{page:m??1});if(u==="image-match"&&h)return l("wordData.imageCount",{done:Ur(p),total:Ur(h)})}},[B,u,m,h,p,l]);return t.jsx(Mn,{inline:i,className:"popup--word-data-update",title:e,footer:y&&r?t.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):y?t.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):t.jsx(me,{htmlType:"button",size:56,variant:"main",disabled:!f,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:t.jsxs("div",{className:"wdup-cards",children:[t.jsx(as,{icon:t.jsx(ps,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:C,subText:C==="active"?l("wordData.downloadingCount",{n:Ur(d)}):void 0}),t.jsx(as,{icon:t.jsx(k7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:B,pct:w,subText:x}),t.jsx(as,{icon:t.jsx(Cs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:g,pct:g==="active"?b??0:void 0,subText:void 0})]})})}function j7({enabled:e=!1,renderResultPopup:n}={}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),u=b=>{let v=null;b==="noise"?v={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:b==="short"?v={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:b==="long"?v={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:b==="order"&&(v={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(v),s(b)},c=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>u("noise"),[]),m=o.useCallback(()=>u("short"),[]),p=o.useCallback(()=>u("long"),[]),h=o.useCallback(()=>u("order"),[]);return e?t.jsxs("div",{className:"debug-result-launcher",children:[t.jsxs("div",{className:"debug-buttons",children:[t.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),t.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?n?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:c,onClose:c}):null]}):null}exports.Accordion=vb,exports.ActionCard=lf,exports.Alert=p4,exports.AppHeader=kb,exports.AudioMeter=wo,exports.AudioPlayer=Wo,exports.Avatar=y4,exports.Badge=At,exports.BarChart=uy,exports.BarChartControls=Xl,exports.Board=P4,exports.BottomNav=hl,exports.BrandIdentity=yl,exports.Breadcrumb=_4,exports.BulkBar=Z4,exports.Button=me,exports.CORE_VERSION=tf,exports.Calendar=jy,exports.CardStep=yc,exports.ChartLegend=go,exports.ChartSection=bo,exports.ChartTotal=$a,exports.Checkbox=ql,exports.ChoiceChips=R5,exports.CircleBadge=l4,exports.CodeBox=K4,exports.ColorPicker=N4,exports.CompanyMeta=V4,exports.ConfirmPopup=Ac,exports.ConfirmStep=fc,exports.ConfirmWithTextStep=gc,exports.ContrastFilterPanel=J3,exports.CoreScope=uf,exports.CountTile=M4,exports.CouponInputPopup=t7,exports.DEFAULT_NOISE_SETTINGS=Fa,exports.DatePicker=ny,exports.DebugResultLauncher=j7,exports.DescriptionTooltip=Wn,exports.DeviceSideTable=Dy,exports.Dialog=R4,exports.Divider=u4,exports.Dropdown=cn,exports.EffectPartyPopper=es,exports.EffectPartyPopperHost=r7,exports.EmptyState=of,exports.ErrorState=sf,exports.FILTER_ALL_VALUE=un,exports.FileUpload=x4,exports.FilterPanel=Nn,exports.FilterSectionInfo=Sa,exports.Footer=P5,exports.GameIntro=py,exports.Header=vl,exports.Icon=Qe,exports.IconGridMenu=$5,exports.IconRenderer=Qe,exports.InfoTooltip=xn,exports.ItemActions=J4,exports.LEVEL_MAX=da,exports.LINE_CHART_HOVER_DELAY_MS=Jl,exports.LandingBottomSticky=F5,exports.LandingHeader=I5,exports.LineChart=dy,exports.ListPopup=Q3,exports.ListenStep=Cc,exports.Loader=La,exports.MARKS=lr,exports.MARK_ICON=hu,exports.MARK_VARIANT=Cu,exports.MediaQueryOverrideContext=_i,exports.MenuTooltip=Na,exports.NOISE_RATIO_MAX=Ra,exports.NOISE_RATIO_STEP=qu,exports.NoisePlayerContext=Oo,exports.NoiseSettingsTooltip=ic,exports.NoticeBox=cf,exports.OrderListStep=bc,exports.PASS_CARD_BG_VARS=Un,exports.POS_LABEL=bu,exports.PROMO_BANNER_BG_COMPONENTS=nl,exports.PROMO_BANNER_BG_OPTIONS=Xg,exports.PROMO_BANNER_BG_VARS=wa,exports.Page=fr,exports.PageTitle=o7,exports.Pagination=nr,exports.Panel=Cr,exports.PanelGrid=v3,exports.PanelRow=Ln,exports.PanelRowDevice=y3,exports.PassCard=Sl,exports.PassCardBg=r4,exports.PassCardBgIHAB=o4,exports.PassCardBgLeftColorGrid=s4,exports.PassCardBgTwoCircle=Al,exports.PaymentPlan=a4,exports.PersonCard=I4,exports.PhonemeFilterPanel=X3,exports.PhonemeSelectBlock=Y3,exports.Popup=Mn,exports.ProgressBar=yy,exports.ProgressIndicator=iu,exports.PromoBanner=gb,exports.PromoBannerBgDark=Hi,exports.PromoBannerBgDeep=$i,exports.PromoBannerBgDiagonal=qi,exports.PromoBannerBgDots=Gi,exports.PromoBannerBgInstagram=tl,exports.PromoBannerBgMain=Ei,exports.PromoBannerBgNaver=Qi,exports.PromoBannerBgOutline=Yi,exports.PromoBannerBgRadial=Vi,exports.PromoBannerBgSoft=ji,exports.PromoBannerBgSoftSub=Pi,exports.PromoBannerBgSub=Mi,exports.PromoBannerBgSuccess=Xi,exports.PromoBannerBgWarm=Fi,exports.PublicationCard=O4,exports.Radio=Ll,exports.RadioGroup=c4,exports.Rating=B4,exports.ReportDocument=d7,exports.ReportInfoPanel=p7,exports.RingChart=hy,exports.SENTENCE_TRAINING_TYPES=Ro,exports.SearchSummary=C4,exports.Section=ia,exports.SectionHeadFloat=Gl,exports.SectionHeader=z4,exports.SegmentedControl=An,exports.ShortcutBadge=Ml,exports.SideNav=bl,exports.Slider=au,exports.SoundCompass=i4,exports.SplashLogo=H4,exports.StatChart=Cy,exports.SummaryStrip=u7,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=Rl,exports.Table=Ao,exports.TableFilterPanel=To,exports.Tabs=f4,exports.TextBoxTooltip=hr,exports.TextField=Gn,exports.Timeline=F4,exports.Toast=oa,exports.Toggle=Wl,exports.Toolbar=fo,exports.Tooltip=ln,exports.TooltipInfo=xn,exports.TooltipTextBox=hr,exports.TopBanner=bb,exports.TrainingBlock=My,exports.TrainingBlockButton=mo,exports.TrainingCard=g7,exports.TrainingCardGroup=b7,exports.TrainingPagePopup=Rn,exports.TrainingPagePopupBottom=lc,exports.TrainingPagePopupTitle=uc,exports.TrainingResultPopup=xc,exports.TrainingStep=Kn,exports.TrainingStepAudioPlayer=Wo,exports.TrainingStepBullet=Qu,exports.TrainingStepCard=ac,exports.TrainingStepConfirm=Uo,exports.TrainingStepConfirmWithText=Go,exports.TrainingStepListen=Ko,exports.TrainingStepOrderList=Yo,exports.TrainingStepTextBox=nc,exports.TrainingStepTitle=tc,exports.TrainingTooltip=Pl,exports.TrainingWordCard=Eo,exports.UpdateAlert=f7,exports.WAVE_A_MAX=Z5,exports.WAVE_H1_PX=zo,exports.WAVE_HMAX_PX=Y5,exports.WORD_TABLE_PAPER=la,exports.WORD_TYPE_LABEL=yu,exports.WordDataProvider=l7,exports.WordDataUpdatePopup=S7,exports.WordImageTooltip=Bc,exports.WordSearchFilterPanel=Z3,exports.WordSearchResultBlock=G3,exports.WordTable=ua,exports.WordTableBlock=w7,exports.WordTableButton=B7,exports.WordTablePopup=i5,exports.WordTableThumbnail=Ec,exports.buildMonthChartData=ry,exports.cellKey=C5,exports.cellLabel=h5,exports.cellsForLabels=N5,exports.clearPassCardBgTheme=Bn,exports.clearPromoBannerBgTheme=Wt,exports.closeTrainingPopup=A3,exports.companyTypeLabel=s7,exports.createTrainingScenario=D3,exports.cx=Be,exports.deriveNoiseContexts=L3,exports.derivePassCard=_l,exports.draftValues=M5,exports.effectiveNoiseVolume=Io,exports.effectiveSpeechVolume=Gu,exports.expandSlashLabel=jo,exports.formatDuration=D5,exports.getControlDateRange=my,exports.getPayloadTimestamp=Jo,exports.getPromoBannerBgTheme=no,exports.getSelectedFromPayload=S3,exports.getSelectedText=j3,exports.getStepPayload=mc,exports.getSteppedPayload=T3,exports.injectPassCardBgTheme=wn,exports.injectPromoBannerBgTheme=Vt,exports.isSelectionCorrect=M3,exports.labelOfCellKey=Vu,exports.labelsForSave=m5,exports.levelToPct=O5,exports.markAfterClick=mu,exports.marksForSave=So,exports.mergeNoiseSettings=Ia,exports.missesByType=w5,exports.nextFocus=y5,exports.nextMisses=_5,exports.noiseElementVolume=Fo,exports.noiseRatioOf=Pa,exports.pageStartIndexes=fu,exports.passCardBgIhabTheme=jl,exports.passCardBgLeftColorGridTheme=Tl,exports.passCardBgTwoCircleTheme=Bl,exports.pctToLevel=H5,exports.printWordTable=Fy,exports.promoBannerBgDarkTheme=Oi,exports.promoBannerBgDeepTheme=Li,exports.promoBannerBgDiagonalTheme=Wi,exports.promoBannerBgDotsTheme=Ui,exports.promoBannerBgInstagramTheme=el,exports.promoBannerBgMainTheme=Di,exports.promoBannerBgNaverTheme=Ji,exports.promoBannerBgOutlineTheme=Ki,exports.promoBannerBgRadialTheme=zi,exports.promoBannerBgSoftSubTheme=Ri,exports.promoBannerBgSoftTheme=Si,exports.promoBannerBgSubTheme=Ti,exports.promoBannerBgSuccessTheme=Zi,exports.promoBannerBgWarmTheme=Ii,exports.recommendTables=A5,exports.regenerateUnpinned=T5,exports.removeItem=j5,exports.resolveTrainingItems=N3,exports.resolveTrainingPopupMeta=dc,exports.reviewCells=u5,exports.reviewMeta=p5,exports.reviewSetPlan=B5,exports.reviewTableName=d5,exports.scoreKey=ir,exports.scoreSheetHeader=f5,exports.shouldConfirmDiscard=Iy,exports.splitTrainingVariants=k3,exports.summarize=Py,exports.summarizeMisses=x5,exports.tableTrends=b5,exports.toDraft=E5,exports.toTrainingText=E3,exports.togglePin=S5,exports.uncoveredLabels=k5,exports.useAnchoredMenu=ka,exports.useBarChartControl=Zl,exports.useCalendarMonth=Ul,exports.useComboboxSuggestions=zl,exports.useDiscardGuard=e7,exports.useFitScale=xu,exports.useNoisePlayer=cr,exports.useSoundCompassExam=fb,exports.useToastLifecycle=ou,exports.useWordData=i7,exports.useWordTableDisplaySettings=Hu,exports.useWordTablePrint=$o,exports.waveBarPx=pr,exports.waveBarVal=mr,exports.weakItems=g5,exports.withStepTimes=pc;