@ihabdevteam/core 0.177.0 → 0.179.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/dist/components.cjs.js +42 -42
- package/dist/components.esm.css +3 -3
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +45 -45
- package/dist/ihabdevteam-core.d.ts +47 -3
- package/dist/packages/core/src/components/BarChart.js +7 -1
- package/dist/packages/core/src/components/Button.css +16 -0
- package/dist/packages/core/src/components/Button.js +3 -2
- package/dist/packages/core/src/components/ChartSection.css +14 -3
- package/dist/packages/core/src/components/ChartSection.d.ts +10 -1
- package/dist/packages/core/src/components/ChartSection.js +11 -4
- package/dist/packages/core/src/components/Popup/DeviceSideTable.d.ts +4 -1
- package/dist/packages/core/src/components/Popup/DeviceSideTable.js +2 -2
- package/dist/packages/core/src/components/Popup/Popup.css +10 -1
- package/dist/packages/core/src/components/Popup/Popup.d.ts +10 -0
- package/dist/packages/core/src/components/Popup/Popup.js +2 -2
- package/dist/packages/core/src/components/RingChart.js +7 -1
- package/dist/packages/core/src/components/SegmentedControl.css +4 -1
- package/dist/packages/core/src/components/SegmentedControl.d.ts +9 -0
- package/dist/packages/core/src/components/SegmentedControl.js +2 -2
- package/dist/packages/core/src/components/TextField.js +2 -3
- package/dist/packages/core/src/components/Training/TrainingBlock.css +20 -0
- package/dist/packages/core/src/components/Training/TrainingPagePopup.css +6 -0
- package/dist/packages/core/src/components/Training/TrainingPagePopup.d.ts +4 -0
- package/dist/packages/core/src/components/Training/TrainingPagePopup.js +3 -3
- package/dist/packages/core/src/components/buttonTypes.d.ts +9 -0
- package/dist/packages/core/src/hooks/useIsoLayoutEffect.d.ts +16 -0
- package/dist/packages/core/src/hooks/useIsoLayoutEffect.js +17 -0
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/dist/components.cjs.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";var n=require("react/jsx-runtime"),o=require("react"),
|
|
1
|
+
"use strict";var n=require("react/jsx-runtime"),o=require("react"),Dt=require("i18next"),ve=require("react-i18next"),Ut=require("react-dom"),hn=typeof document<"u"?document.currentScript:null;function yu(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var Xo=yu(o);function Se(...e){return e.filter(Boolean).join(" ")}const Jo=new Set,Qo=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function fn(e,...t){!Qo||Jo.has(e)||(Jo.add(e),console.warn(...t))}/**
|
|
2
2
|
* @license lucide-react v1.38.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const
|
|
6
|
+
*/const es=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();/**
|
|
7
7
|
* @license lucide-react v1.38.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the ISC license.
|
|
20
20
|
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const
|
|
21
|
+
*/const ts=e=>{const t=xu(e);return t.charAt(0).toUpperCase()+t.slice(1)};/**
|
|
22
22
|
* @license lucide-react v1.38.0 - ISC
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
@@ -28,17 +28,17 @@
|
|
|
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 _u=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},wu=o.createContext({}),ku=()=>o.useContext(wu),Au=o.forwardRef(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:r,className:s="",children:i,iconNode:l,...c},u)=>{const{size:d=24,strokeWidth:p=2,absoluteStrokeWidth:m=!1,color:
|
|
31
|
+
*/const _u=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},wu=o.createContext({}),ku=()=>o.useContext(wu),Au=o.forwardRef(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:r,className:s="",children:i,iconNode:l,...c},u)=>{const{size:d=24,strokeWidth:p=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:v=""}=ku()??{},y=r??m?Number(a??p)*24/Number(t??d):a??p;return o.createElement("svg",{ref:u,...hr,width:t??d??hr.width,height:t??d??hr.height,stroke:e??h,strokeWidth:y,className:es("lucide",v,s),...!i&&!_u(c)&&{"aria-hidden":"true"},...c},[...l.map(([g,_])=>o.createElement(g,_)),...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.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const Q=(e,t)=>{const a=o.forwardRef(({className:r,...s},i)=>o.createElement(Au,{ref:i,iconNode:t,className:
|
|
36
|
+
*/const Q=(e,t)=>{const a=o.forwardRef(({className:r,...s},i)=>o.createElement(Au,{ref:i,iconNode:t,className:es(`lucide-${vu(ts(e))}`,`lucide-${e}`,r),...s}));return a.displayName=ts(e),a};/**
|
|
37
37
|
* @license lucide-react v1.38.0 - ISC
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the ISC license.
|
|
40
40
|
* See the LICENSE file in the root directory of this source tree.
|
|
41
|
-
*/const Bu=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],
|
|
41
|
+
*/const Bu=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],ns=Q("triangle-alert",Bu);/**
|
|
42
42
|
* @license lucide-react v1.38.0 - ISC
|
|
43
43
|
*
|
|
44
44
|
* This source code is licensed under the ISC license.
|
|
@@ -78,12 +78,12 @@
|
|
|
78
78
|
*
|
|
79
79
|
* This source code is licensed under the ISC license.
|
|
80
80
|
* See the LICENSE file in the root directory of this source tree.
|
|
81
|
-
*/const Hu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],
|
|
81
|
+
*/const Hu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],zu=Q("ban",Hu);/**
|
|
82
82
|
* @license lucide-react v1.38.0 - ISC
|
|
83
83
|
*
|
|
84
84
|
* This source code is licensed under the ISC license.
|
|
85
85
|
* See the LICENSE file in the root directory of this source tree.
|
|
86
|
-
*/const
|
|
86
|
+
*/const Vu=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Wu=Q("bell",Vu);/**
|
|
87
87
|
* @license lucide-react v1.38.0 - ISC
|
|
88
88
|
*
|
|
89
89
|
* This source code is licensed under the ISC license.
|
|
@@ -143,17 +143,17 @@
|
|
|
143
143
|
*
|
|
144
144
|
* This source code is licensed under the ISC license.
|
|
145
145
|
* See the LICENSE file in the root directory of this source tree.
|
|
146
|
-
*/const md=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],
|
|
146
|
+
*/const md=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],as=Q("check",md);/**
|
|
147
147
|
* @license lucide-react v1.38.0 - ISC
|
|
148
148
|
*
|
|
149
149
|
* This source code is licensed under the ISC license.
|
|
150
150
|
* See the LICENSE file in the root directory of this source tree.
|
|
151
|
-
*/const hd=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],
|
|
151
|
+
*/const hd=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],rs=Q("chevron-left",hd);/**
|
|
152
152
|
* @license lucide-react v1.38.0 - ISC
|
|
153
153
|
*
|
|
154
154
|
* This source code is licensed under the ISC license.
|
|
155
155
|
* See the LICENSE file in the root directory of this source tree.
|
|
156
|
-
*/const fd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],
|
|
156
|
+
*/const fd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],os=Q("chevron-right",fd);/**
|
|
157
157
|
* @license lucide-react v1.38.0 - ISC
|
|
158
158
|
*
|
|
159
159
|
* This source code is licensed under the ISC license.
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
*
|
|
184
184
|
* This source code is licensed under the ISC license.
|
|
185
185
|
* See the LICENSE file in the root directory of this source tree.
|
|
186
|
-
*/const Bd=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],
|
|
186
|
+
*/const Bd=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],ss=Q("database",Bd);/**
|
|
187
187
|
* @license lucide-react v1.38.0 - ISC
|
|
188
188
|
*
|
|
189
189
|
* This source code is licensed under the ISC license.
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
*
|
|
194
194
|
* This source code is licensed under the ISC license.
|
|
195
195
|
* See the LICENSE file in the root directory of this source tree.
|
|
196
|
-
*/const Sd=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],
|
|
196
|
+
*/const Sd=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],is=Q("download",Sd);/**
|
|
197
197
|
* @license lucide-react v1.38.0 - ISC
|
|
198
198
|
*
|
|
199
199
|
* This source code is licensed under the ISC license.
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
*
|
|
219
219
|
* This source code is licensed under the ISC license.
|
|
220
220
|
* See the LICENSE file in the root directory of this source tree.
|
|
221
|
-
*/const Id=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],
|
|
221
|
+
*/const Id=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],ls=Q("ellipsis",Id);/**
|
|
222
222
|
* @license lucide-react v1.38.0 - ISC
|
|
223
223
|
*
|
|
224
224
|
* This source code is licensed under the ISC license.
|
|
@@ -228,12 +228,12 @@
|
|
|
228
228
|
*
|
|
229
229
|
* This source code is licensed under the ISC license.
|
|
230
230
|
* See the LICENSE file in the root directory of this source tree.
|
|
231
|
-
*/const Hd=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],
|
|
231
|
+
*/const Hd=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],zd=Q("external-link",Hd);/**
|
|
232
232
|
* @license lucide-react v1.38.0 - ISC
|
|
233
233
|
*
|
|
234
234
|
* This source code is licensed under the ISC license.
|
|
235
235
|
* See the LICENSE file in the root directory of this source tree.
|
|
236
|
-
*/const
|
|
236
|
+
*/const Vd=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Wd=Q("eye",Vd);/**
|
|
237
237
|
* @license lucide-react v1.38.0 - ISC
|
|
238
238
|
*
|
|
239
239
|
* This source code is licensed under the ISC license.
|
|
@@ -268,7 +268,7 @@
|
|
|
268
268
|
*
|
|
269
269
|
* This source code is licensed under the ISC license.
|
|
270
270
|
* See the LICENSE file in the root directory of this source tree.
|
|
271
|
-
*/const ap=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],
|
|
271
|
+
*/const ap=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],cs=Q("git-merge",ap);/**
|
|
272
272
|
* @license lucide-react v1.38.0 - ISC
|
|
273
273
|
*
|
|
274
274
|
* This source code is licensed under the ISC license.
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
*
|
|
369
369
|
* This source code is licensed under the ISC license.
|
|
370
370
|
* See the LICENSE file in the root directory of this source tree.
|
|
371
|
-
*/const
|
|
371
|
+
*/const zp=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Vp=Q("lock",zp);/**
|
|
372
372
|
* @license lucide-react v1.38.0 - ISC
|
|
373
373
|
*
|
|
374
374
|
* This source code is licensed under the ISC license.
|
|
@@ -503,12 +503,12 @@
|
|
|
503
503
|
*
|
|
504
504
|
* This source code is licensed under the ISC license.
|
|
505
505
|
* See the LICENSE file in the root directory of this source tree.
|
|
506
|
-
*/const
|
|
506
|
+
*/const z1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],us=Q("circle-alert",z1);/**
|
|
507
507
|
* @license lucide-react v1.38.0 - ISC
|
|
508
508
|
*
|
|
509
509
|
* This source code is licensed under the ISC license.
|
|
510
510
|
* See the LICENSE file in the root directory of this source tree.
|
|
511
|
-
*/const
|
|
511
|
+
*/const V1=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],ds=Q("circle-check-big",V1);/**
|
|
512
512
|
* @license lucide-react v1.38.0 - ISC
|
|
513
513
|
*
|
|
514
514
|
* This source code is licensed under the ISC license.
|
|
@@ -643,7 +643,7 @@
|
|
|
643
643
|
*
|
|
644
644
|
* This source code is licensed under the ISC license.
|
|
645
645
|
* See the LICENSE file in the root directory of this source tree.
|
|
646
|
-
*/const
|
|
646
|
+
*/const zm=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Vm=Q("upload",zm);/**
|
|
647
647
|
* @license lucide-react v1.38.0 - ISC
|
|
648
648
|
*
|
|
649
649
|
* This source code is licensed under the ISC license.
|
|
@@ -678,7 +678,7 @@
|
|
|
678
678
|
*
|
|
679
679
|
* This source code is licensed under the ISC license.
|
|
680
680
|
* See the LICENSE file in the root directory of this source tree.
|
|
681
|
-
*/const th=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],
|
|
681
|
+
*/const th=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],ps=Q("volume-2",th);/**
|
|
682
682
|
* @license lucide-react v1.38.0 - ISC
|
|
683
683
|
*
|
|
684
684
|
* This source code is licensed under the ISC license.
|
|
@@ -688,7 +688,7 @@
|
|
|
688
688
|
*
|
|
689
689
|
* This source code is licensed under the ISC license.
|
|
690
690
|
* See the LICENSE file in the root directory of this source tree.
|
|
691
|
-
*/const rh=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],
|
|
691
|
+
*/const rh=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ms=Q("x",rh);/**
|
|
692
692
|
* @license lucide-react v1.38.0 - ISC
|
|
693
693
|
*
|
|
694
694
|
* This source code is licensed under the ISC license.
|
|
@@ -718,7 +718,7 @@
|
|
|
718
718
|
*
|
|
719
719
|
* This source code is licensed under the ISC license.
|
|
720
720
|
* See the LICENSE file in the root directory of this source tree.
|
|
721
|
-
*/const fh=[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}]],
|
|
721
|
+
*/const fh=[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}]],hs=Q("calendar",fh);/**
|
|
722
722
|
* @license lucide-react v1.38.0 - ISC
|
|
723
723
|
*
|
|
724
724
|
* This source code is licensed under the ISC license.
|
|
@@ -788,17 +788,17 @@
|
|
|
788
788
|
*
|
|
789
789
|
* This source code is licensed under the ISC license.
|
|
790
790
|
* See the LICENSE file in the root directory of this source tree.
|
|
791
|
-
*/const
|
|
791
|
+
*/const zh=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]],Vh=Q("volume",zh);/**
|
|
792
792
|
* @license lucide-react v1.38.0 - ISC
|
|
793
793
|
*
|
|
794
794
|
* This source code is licensed under the ISC license.
|
|
795
795
|
* See the LICENSE file in the root directory of this source tree.
|
|
796
|
-
*/const Wh=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],
|
|
796
|
+
*/const Wh=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],fs=Q("chevron-down",Wh);/**
|
|
797
797
|
* @license lucide-react v1.38.0 - ISC
|
|
798
798
|
*
|
|
799
799
|
* This source code is licensed under the ISC license.
|
|
800
800
|
* See the LICENSE file in the root directory of this source tree.
|
|
801
|
-
*/const qh=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],
|
|
801
|
+
*/const qh=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Cs=Q("chevron-up",qh);/**
|
|
802
802
|
* @license lucide-react v1.38.0 - ISC
|
|
803
803
|
*
|
|
804
804
|
* 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 e0=[["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"}]],t0=Q("thumbs-up",e0),
|
|
827
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u0(e,t){return i0(e)||l0(e,t)||d0(e,t)||c0()}function d0(e,t){if(e){if(typeof e=="string")return bs(e,t);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)?bs(e,t):void 0}}const ys=Object.entries,vs=Object.setPrototypeOf,p0=Object.isFrozen,m0=Object.getPrototypeOf,h0=Object.getOwnPropertyDescriptor;let bt=Object.freeze,vt=Object.seal,qn=Object.create,xs=typeof Reflect<"u"&&Reflect,Cr=xs.apply,gr=xs.construct;bt||(bt=function(t){return t}),vt||(vt=function(t){return t}),Cr||(Cr=function(t,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 t.apply(a,s)}),gr||(gr=function(t){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 t(...r)});const $n=Ct(Array.prototype.forEach),f0=Ct(Array.prototype.lastIndexOf),_s=Ct(Array.prototype.pop),ca=Ct(Array.prototype.push),C0=Ct(Array.prototype.splice),Un=Array.isArray,ua=Ct(String.prototype.toLowerCase),br=Ct(String.prototype.toString),ws=Ct(String.prototype.match),da=Ct(String.prototype.replace),ks=Ct(String.prototype.indexOf),g0=Ct(String.prototype.trim),b0=Ct(Number.prototype.toString),y0=Ct(Boolean.prototype.toString),As=typeof BigInt>"u"?null:Ct(BigInt.prototype.toString),Bs=typeof Symbol>"u"?null:Ct(Symbol.prototype.toString),Ot=Ct(Object.prototype.hasOwnProperty),pa=Ct(Object.prototype.toString),Et=Ct(RegExp.prototype.test),Rn=v0(TypeError);function Ct(e){return function(t){t instanceof RegExp&&(t.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 Cr(e,t,r)}}function v0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return gr(e,a)}}function Je(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ua;if(vs&&vs(e,null),!Un(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const i=a(s);i!==s&&(p0(t)||(t[r]=i),s=i)}e[s]=!0}return e}function x0(e){for(let t=0;t<e.length;t++)Ot(e,t)||(e[t]=null);return e}function Ut(e){const t=qn(null);for(const r of ys(e)){var a=u0(r,2);const s=a[0],i=a[1];Ot(e,s)&&(Un(i)?t[s]=x0(i):i&&typeof i=="object"&&i.constructor===Object?t[s]=Ut(i):t[s]=i)}return t}function _0(e){switch(typeof e){case"string":return e;case"number":return b0(e);case"boolean":return y0(e);case"bigint":return As?As(e):"0";case"symbol":return Bs?Bs(e):"Symbol()";case"undefined":return pa(e);case"function":case"object":{if(e===null)return pa(e);const t=e,a=en(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:pa(r)}return pa(e)}default:return pa(e)}}function en(e,t){for(;e!==null;){const r=h0(e,t);if(r){if(r.get)return Ct(r.get);if(typeof r.value=="function")return Ct(r.value)}e=m0(e)}function a(){return null}return a}function w0(e){try{return Et(e,""),!0}catch{return!1}}const Ns=bt(["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"]),yr=bt(["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"]),vr=bt(["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"]),k0=bt(["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"]),xr=bt(["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"]),A0=bt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ds=bt(["#text"]),Ss=bt(["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"]),_r=bt(["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"]),Es=bt(["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"]),Pa=bt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),B0=vt(/{{[\w\W]*|^[\w\W]*}}/g),N0=vt(/<%[\w\W]*|^[\w\W]*%>/g),D0=vt(/\${[\w\W]*/g),S0=vt(/^data-[\-\w.\u00B7-\uFFFF]+$/),E0=vt(/^aria-[\-\w]+$/),js=vt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),j0=vt(/^(?:\w+script|data):/i),T0=vt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),M0=vt(/^html$/i),L0=vt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ts=vt(/<[/\w!]/g),Ms=vt(/<[/\w]/g),$0=vt(/<\/no(script|embed|frames)/i),R0=vt(/\/>/i),Gt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ls=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],P0=bt(Je({},Ls)),I0=(function(){const e={};return $n(Ls,t=>{e[t]=vt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),bt(e)})(),F0=function(){return typeof window>"u"?null:window},O0=function(t,a){if(typeof t!="object"||typeof t.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 t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},$s=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Bn=function(t,a,r,s){return Ot(t,a)&&Un(t[a])?Je(s.base?Ut(s.base):{},t[a],s.transform):r},wr=function(t,a,r){const s=Ot(t,a)?t[a]:void 0;return s&&typeof s=="object"?Ut(s):r()};function Rs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F0();const t=xe=>Rs(xe);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Gt.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,c=e.Element,u=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,f=c.prototype,b=en(f,"cloneNode"),C=en(f,"remove"),y=en(f,"nextSibling"),_=en(f,"childNodes"),h=en(f,"parentNode"),v=en(f,"shadowRoot"),x=en(f,"attributes"),g=l&&l.prototype?en(l.prototype,"nodeType"):null,k=l&&l.prototype?en(l.prototype,"nodeName"):null,w=l&&l.prototype?en(l.prototype,"ownerDocument"):null,B=function(j){return g?g(j):j.nodeType},N=function(j){return k?k(j):j.nodeName};if(typeof i=="function"){const xe=a.createElement("template");xe.content&&xe.content.ownerDocument&&(a=xe.content.ownerDocument)}let A,D="",F,$=!1,R=0;const U=function(){if(R>0)throw Rn('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.')},E=function(j){U(),R++;try{return A.createHTML(j)}finally{R--}},T=function(j){U(),R++;try{return A.createScriptURL(j)}finally{R--}},V=function(){return $||(F=O0(m,s),$=!0),F},Y=a,K=Y.implementation,G=Y.createNodeIterator,J=Y.createDocumentFragment,O=Y.getElementsByTagName,I=r.importNode;let S=$s();t.isSupported=typeof ys=="function"&&typeof h=="function"&&K&&K.createHTMLDocument!==void 0;const H=B0,P=N0,M=D0,L=S0,X=E0,W=j0,ae=T0,ue=L0;let Se=js,pe=null;const re=Je({},[...Ns,...yr,...vr,...xr,...Ds]);let q=null;const se=Je({},[...Ss,..._r,...Es,...Pa]);let de=Object.seal(qn(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}})),ve=null,ye=null;const Be=Object.seal(qn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let he=!0,ke=!0,je=!1,oe=!0,ee=!1,fe=!0,te=!1,ge=!1,_e=null,Ye=null,He=!1,Ue=!1,Ee=!1,Ge=!1,$e=!0,Ie=!1;const Ve="user-content-";let at=!0,ot=!1,We={},Xe=null;const gt=Je({},["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 Bt=null;const jt=Je({},["audio","video","img","source","image","track"]);let dt=null;const Qe=Je({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ze="http://www.w3.org/1998/Math/MathML",Oe="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml";let et=rt,yt=!1,ze=null;const it=Je({},[Ze,Oe,rt],br),Nt=bt(["mi","mo","mn","ms","mtext"]);let Dt=Je({},Nt);const Le=bt(["annotation-xml"]);let Ke=Je({},Le);const St=Je({},["title","style","font","a","script"]);let xt=null;const Tt=["application/xhtml+xml","text/html"],sn="text/html";let tt=null,Kt=null;const kn=a.createElement("form"),_t=function(j){return j instanceof RegExp||j instanceof Function},zt=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Kt&&Kt===j)return;(!j||typeof j!="object")&&(j={}),j=Ut(j),xt=Tt.indexOf(j.PARSER_MEDIA_TYPE)===-1?sn:j.PARSER_MEDIA_TYPE,tt=xt==="application/xhtml+xml"?br:ua,pe=Bn(j,"ALLOWED_TAGS",re,{transform:tt}),q=Bn(j,"ALLOWED_ATTR",se,{transform:tt}),ze=Bn(j,"ALLOWED_NAMESPACES",it,{transform:br}),dt=Bn(j,"ADD_URI_SAFE_ATTR",Qe,{transform:tt,base:Qe}),Bt=Bn(j,"ADD_DATA_URI_TAGS",jt,{transform:tt,base:jt}),Xe=Bn(j,"FORBID_CONTENTS",gt,{transform:tt}),ve=Bn(j,"FORBID_TAGS",Ut({}),{transform:tt}),ye=Bn(j,"FORBID_ATTR",Ut({}),{transform:tt}),We=Ot(j,"USE_PROFILES")?j.USE_PROFILES&&typeof j.USE_PROFILES=="object"?Ut(j.USE_PROFILES):j.USE_PROFILES:!1,he=j.ALLOW_ARIA_ATTR!==!1,ke=j.ALLOW_DATA_ATTR!==!1,je=j.ALLOW_UNKNOWN_PROTOCOLS||!1,oe=j.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ee=j.SAFE_FOR_TEMPLATES||!1,fe=j.SAFE_FOR_XML!==!1,te=j.WHOLE_DOCUMENT||!1,Ue=j.RETURN_DOM||!1,Ee=j.RETURN_DOM_FRAGMENT||!1,Ge=j.RETURN_TRUSTED_TYPE||!1,He=j.FORCE_BODY||!1,$e=j.SANITIZE_DOM!==!1,Ie=j.SANITIZE_NAMED_PROPS||!1,at=j.KEEP_CONTENT!==!1,ot=j.IN_PLACE||!1,Se=w0(j.ALLOWED_URI_REGEXP)?j.ALLOWED_URI_REGEXP:js,et=typeof j.NAMESPACE=="string"?j.NAMESPACE:rt,Dt=wr(j,"MATHML_TEXT_INTEGRATION_POINTS",()=>Je({},Nt)),Ke=wr(j,"HTML_INTEGRATION_POINTS",()=>Je({},Le));const Z=wr(j,"CUSTOM_ELEMENT_HANDLING",()=>qn(null));if(de=qn(null),Ot(Z,"tagNameCheck")&&_t(Z.tagNameCheck)&&(de.tagNameCheck=Z.tagNameCheck),Ot(Z,"attributeNameCheck")&&_t(Z.attributeNameCheck)&&(de.attributeNameCheck=Z.attributeNameCheck),Ot(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(de.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),vt(de),ee&&(ke=!1),Ee&&(Ue=!0),We&&(pe=Je({},Ds),q=qn(null),We.html===!0&&(Je(pe,Ns),Je(q,Ss)),We.svg===!0&&(Je(pe,yr),Je(q,_r),Je(q,Pa)),We.svgFilters===!0&&(Je(pe,vr),Je(q,_r),Je(q,Pa)),We.mathMl===!0&&(Je(pe,xr),Je(q,Es),Je(q,Pa))),Be.tagCheck=null,Be.attributeCheck=null,Ot(j,"ADD_TAGS")&&(typeof j.ADD_TAGS=="function"?Be.tagCheck=j.ADD_TAGS:Un(j.ADD_TAGS)&&(pe===re&&(pe=Ut(pe)),Je(pe,j.ADD_TAGS,tt))),Ot(j,"ADD_ATTR")&&(typeof j.ADD_ATTR=="function"?Be.attributeCheck=j.ADD_ATTR:Un(j.ADD_ATTR)&&(q===se&&(q=Ut(q)),Je(q,j.ADD_ATTR,tt))),Ot(j,"ADD_FORBID_CONTENTS")&&Un(j.ADD_FORBID_CONTENTS)&&(Xe===gt&&(Xe=Ut(Xe)),Je(Xe,j.ADD_FORBID_CONTENTS,tt)),at&&(pe["#text"]=!0),te&&Je(pe,["html","head","body"]),pe.table&&(Je(pe,["tbody"]),delete ve.tbody),j.TRUSTED_TYPES_POLICY){if(typeof j.TRUSTED_TYPES_POLICY.createHTML!="function")throw Rn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof j.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Rn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const me=A;A=j.TRUSTED_TYPES_POLICY;try{D=E("")}catch(Te){throw A=me,Te}}else j.TRUSTED_TYPES_POLICY===null?(A=void 0,D=""):(A===void 0&&(A=V()),A&&typeof D=="string"&&(D=E("")));bt&&bt(j),Kt=j},Jt=Je({},[...yr,...vr,...k0]),an=Je({},[...xr,...A0]),ln=function(j,Z,me){return Z.namespaceURI===rt?j==="svg":Z.namespaceURI===Ze?j==="svg"&&(me==="annotation-xml"||Dt[me]):!!Jt[j]},Qt=function(j,Z,me){return Z.namespaceURI===rt?j==="math":Z.namespaceURI===Oe?j==="math"&&Ke[me]:!!an[j]},An=function(j,Z,me){return Z.namespaceURI===Oe&&!Ke[me]||Z.namespaceURI===Ze&&!Dt[me]?!1:!an[j]&&(St[j]||!Jt[j])},Yt=function(j){let Z=h(j);(!Z||!Z.tagName)&&(Z={namespaceURI:et,tagName:"template"});const me=ua(j.tagName),Te=ua(Z.tagName);return ze[j.namespaceURI]?j.namespaceURI===Oe?ln(me,Z,Te):j.namespaceURI===Ze?Qt(me,Z,Te):j.namespaceURI===rt?An(me,Z,Te):!!(xt==="application/xhtml+xml"&&ze[j.namespaceURI]):!1},ht=function(j){ca(t.removed,{element:j});try{h(j).removeChild(j)}catch{if(C(j),!h(j))throw Rn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},cn=function(j,Z,me){try{j.removeAttributeNode(Z)}catch{try{j.removeAttribute(me)}catch{}}},Zt=function(j){Xt(j);const Z=_(j);if(Z){const Te=[];$n(Z,Re=>{ca(Te,Re)}),$n(Te,Re=>{try{C(Re)}catch{}})}const me=x(j);if(me)for(let Te=me.length-1;Te>=0;--Te){const Re=me[Te],Fe=Re&&Re.name;typeof Fe=="string"&&cn(j,Re,Fe)}},Mt=function(j,Z,me){if(!me)try{me=Z.getAttributeNode(j)}catch{me=null}ca(t.removed,{attribute:me||null,from:Z});try{me?Z.removeAttributeNode(me):Z.removeAttribute(j)}catch{try{Z.removeAttribute(j)}catch{}}if(j==="is")if(Ue||Ee)try{ht(Z)}catch{}else try{Z.setAttribute(j,"")}catch{}},un=function(j){const Z=x(j);if(Z)for(let me=Z.length-1;me>=0;--me){const Te=Z[me],Re=Te&&Te.name;typeof Re!="string"||q[tt(Re)]||cn(j,Te,Re)}},Xt=function(j){const Z=[j];for(;Z.length>0;){const me=Z.pop();B(me)===Gt.element&&un(me);const Re=_(me);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)Z.push(Re[Fe])}},dn=function(j,Z){return fe?j==="patchsrc"?!0:j==="for"&&Z!=="label"&&Z!=="output":!1},Ne=function(j){if(!fe)return;const Z=[j];for(;Z.length>0;){const me=Z.pop(),Te=B(me);if(Te===Gt.processingInstruction||Te===Gt.comment&&Et(Ms,me.data)){try{C(me)}catch{}continue}if(Te===Gt.element){const Fe=me,st=tt(N(me));try{Fe.hasAttribute&&Fe.hasAttribute("patchsrc")&&Fe.removeAttribute("patchsrc"),Fe.hasAttribute&&Fe.hasAttribute("for")&&dn("for",st)&&Fe.removeAttribute("for")}catch{}}const Re=_(me);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)Z.push(Re[Fe])}},Pe=function(j){let Z=null,me=null;if(He)j="<remove></remove>"+j;else{const Fe=ws(j,/^[\r\n\t ]+/);me=Fe&&Fe[0]}xt==="application/xhtml+xml"&&et===rt&&(j='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+j+"</body></html>");const Te=A?E(j):j;if(et===rt)try{Z=new p().parseFromString(Te,xt)}catch{}if(!Z||!Z.documentElement){Z=K.createDocument(et,"template",null);try{Z.documentElement.innerHTML=yt?D:Te}catch{}}const Re=Z.body||Z.documentElement;return j&&me&&Re.insertBefore(a.createTextNode(me),Re.childNodes[0]||null),et===rt?O.call(Z,te?"html":"body")[0]:te?Z.documentElement:Re},ne=function(j){const Z=w?w(j):j.ownerDocument;return G.call(Z||j,j,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ce=function(j){return j=da(j,H," "),j=da(j,P," "),j=da(j,M," "),j},z=function(j){var Z;j.normalize();const me=w?w(j):j.ownerDocument,Te=G.call(me||j,j,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let Re=Te.nextNode();for(;Re;)Re.data=Ce(Re.data),Re=Te.nextNode();const Fe=(Z=j.querySelectorAll)===null||Z===void 0?void 0:Z.call(j,"template");Fe&&$n(Fe,st=>{ce(st.content)&&z(st.content)})},ie=function(j){const Z=k?k(j):null;return typeof Z!="string"||tt(Z)!=="form"?!1:typeof j.nodeName!="string"||typeof j.textContent!="string"||typeof j.removeChild!="function"||j.attributes!==x(j)||typeof j.removeAttribute!="function"||typeof j.setAttribute!="function"||typeof j.namespaceURI!="string"||typeof j.insertBefore!="function"||typeof j.hasChildNodes!="function"||j.nodeType!==g(j)||j.childNodes!==_(j)},ce=function(j){if(!g||typeof j!="object"||j===null)return!1;try{return g(j)===Gt.documentFragment}catch{return!1}},we=function(j){if(!g||typeof j!="object"||j===null)return!1;try{return typeof g(j)=="number"}catch{return!1}};function Ae(xe,j,Z){xe.length!==0&&$n(xe,me=>{me.call(t,j,Z,Kt)})}const Me=function(j,Z){return!!(fe&&j.hasChildNodes()&&!we(j.firstElementChild)&&Et(Ts,j.textContent)&&Et(Ts,j.innerHTML)||fe&&j.namespaceURI===rt&&P0[Z]&&(we(j.firstElementChild)||typeof j.textContent=="string"&&Et(I0[Z],j.textContent))||j.nodeType===Gt.processingInstruction||fe&&j.nodeType===Gt.comment&&Et(Ms,j.data))},nt=function(j,Z){if(j instanceof RegExp)return Et(j,Z);if(j instanceof Function){for(var me=arguments.length,Te=new Array(me>2?me-2:0),Re=2;Re<me;Re++)Te[Re-2]=arguments[Re];return!!j(Z,...Te)}return!1},ft=function(j,Z,me){if(!ve[Z]&&mn(Z)&&nt(de.tagNameCheck,Z))return!1;if(at&&!Xe[Z]){const Te=h(j),Re=_(j);if(Re&&Te){const Fe=Re.length;for(let st=Fe-1;st>=0;--st){const ut=j===me?b(Re[st],!0):Re[st];Te.insertBefore(ut,y(j))}}}return ht(j),!0},ct=function(j,Z,me,Te){return j.length===0?Z:Z===me||Z===Te?Ut(Z):Z},wt=function(j,Z){return j===Z||h(j)!==null?!1:(ot&&Xt(j),!0)},Wt=function(j,Z){if(Ae(S.beforeSanitizeElements,j,null),wt(j,Z))return!0;if(ie(j))return ht(j),!0;const me=tt(N(j));if(pe=ct(S.uponSanitizeElement,pe,re,_e),Ae(S.uponSanitizeElement,j,{tagName:me,allowedTags:pe}),wt(j,Z))return!0;if(Me(j,me))return ht(j),!0;if(ve[me]||!(Be.tagCheck instanceof Function&&Be.tagCheck(me))&&!pe[me]){const Re=ft(j,me,Z);return Re===!1&&Ae(S.afterSanitizeElements,j,null),Re}if(B(j)===Gt.element&&!Yt(j)||(me==="noscript"||me==="noembed"||me==="noframes")&&Et($0,j.innerHTML))return ht(j),!0;if(ee&&j.nodeType===Gt.text){const Re=Ce(j.textContent);j.textContent!==Re&&(ca(t.removed,{element:j.cloneNode()}),j.textContent=Re)}return Ae(S.afterSanitizeElements,j,null),!1},Pt=function(j,Z,me){if(ye[Z]||dn(Z,j)||$e&&(Z==="id"||Z==="name")&&(me in a||me in kn))return!1;const Te=q[Z]||Be.attributeCheck instanceof Function&&Be.attributeCheck(Z,j);return ke&&Et(L,Z)||he&&Et(X,Z)?!0:Te?dt[Z]||Et(Se,da(me,ae,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&j!=="script"&&ks(me,"data:")===0&&Bt[j]||je&&!Et(W,da(me,ae,""))?!0:!me:mn(j)&&nt(de.tagNameCheck,j)&&nt(de.attributeNameCheck,Z,j)||Z==="is"&&de.allowCustomizedBuiltInElements&&nt(de.tagNameCheck,me)},pn=Je({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),mn=function(j){return!pn[ua(j)]&&Et(ue,j)},dr=function(j,Z,me,Te){if(A&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!me)switch(m.getAttributeType(j,Z)){case"TrustedHTML":return E(Te);case"TrustedScriptURL":return T(Te)}return Te},bu=function(j,Z,me,Te){try{me?j.setAttributeNS(me,Z,Te):j.setAttribute(Z,Te),ie(j)?ht(j):_s(t.removed)}catch{Mt(Z,j)}},Ko=function(j){Ae(S.beforeSanitizeAttributes,j,null);const Z=j.attributes;if(!Z||ie(j))return;q=ct(S.uponSanitizeAttribute,q,se,Ye);const me={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:q,forceKeepAttr:void 0};let Te=Z.length;const Re=tt(j.nodeName);for(;Te--;){const Fe=Z[Te],st=Fe.name,ut=Fe.namespaceURI,It=Fe.value,Ft=tt(st),mr=It;let Lt=st==="value"?mr:g0(mr);if(me.attrName=Ft,me.attrValue=Lt,me.keepAttr=!0,me.forceKeepAttr=void 0,Ae(S.uponSanitizeAttribute,j,me),Lt=me.attrValue,Ie&&(Ft==="id"||Ft==="name")&&ks(Lt,Ve)!==0&&(Mt(st,j,Fe),Lt=Ve+Lt),fe&&Et(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Lt)){Mt(st,j,Fe);continue}if(Ft==="attributename"&&ws(Lt,"href")){Mt(st,j,Fe);continue}if(!me.forceKeepAttr){if(!me.keepAttr){Mt(st,j,Fe);continue}if(!oe&&Et(R0,Lt)){Mt(st,j,Fe);continue}if(ee&&(Lt=Ce(Lt)),!Pt(Re,Ft,Lt)){Mt(st,j,Fe);continue}Lt=dr(Re,Ft,ut,Lt),Lt!==mr&&bu(j,st,ut,Lt)}}Ae(S.afterSanitizeAttributes,j,null)},Ra=function(j){let Z=null;const me=ne(j);for(Ae(S.beforeSanitizeShadowDOM,j,null);Z=me.nextNode();)if(Ae(S.uponSanitizeShadowNode,Z,null),Wt(Z,j),Ko(Z),ce(Z.content)&&Ra(Z.content),B(Z)===Gt.element){const Te=v(Z);ce(Te)&&(pr(Te),Ra(Te))}Ae(S.afterSanitizeShadowDOM,j,null)},pr=function(j){const Z=[{node:j,shadow:null}];for(;Z.length>0;){const me=Z.pop();if(me.shadow){Ra(me.shadow);continue}const Te=me.node,Fe=B(Te)===Gt.element,st=_(Te);if(st)for(let ut=st.length-1;ut>=0;--ut)Z.push({node:st[ut],shadow:null});if(Fe){const ut=k?k(Te):null;if(typeof ut=="string"&&tt(ut)==="template"){const It=Te.content;ce(It)&&Z.push({node:It,shadow:null})}}if(Fe){const ut=v(Te);ce(ut)&&Z.push({node:null,shadow:ut},{node:ut,shadow:null})}}};return t.sanitize=function(xe){let j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,me=null,Te=null,Re=null;if(yt=!xe,yt&&(xe="<!-->"),typeof xe!="string"&&!we(xe)&&(xe=_0(xe),typeof xe!="string"))throw Rn("dirty is not a string, aborting");if(!t.isSupported)return xe;ge?(pe=_e,q=Ye):zt(j),(S.uponSanitizeElement.length>0||S.uponSanitizeAttribute.length>0)&&(pe=Ut(pe)),S.uponSanitizeAttribute.length>0&&(q=Ut(q)),t.removed=[];const Fe=ot&&typeof xe!="string"&&we(xe);if(Fe){Ne(xe);const It=N(xe);if(typeof It=="string"){const Ft=tt(It);if(!pe[Ft]||ve[Ft])throw Zt(xe),Rn("root node is forbidden and cannot be sanitized in-place")}if(ie(xe))throw Zt(xe),Rn("root node is clobbered and cannot be sanitized in-place");try{pr(xe)}catch(Ft){throw Zt(xe),Ft}}else if(we(xe))Z=Pe("<!---->"),me=Z.ownerDocument.importNode(xe,!0),me.nodeType===Gt.element&&me.nodeName==="BODY"||me.nodeName==="HTML"?Z=me:Z.appendChild(me),pr(me);else{if(!Ue&&!ee&&!te&&xe.indexOf("<")===-1)return A&&Ge?E(xe):xe;if(Z=Pe(xe),!Z)return Ue?null:Ge?D:""}Z&&He&&ht(Z.firstChild);const st=Fe?xe:Z;try{const It=ne(st);for(;Te=It.nextNode();)Wt(Te,st),Ko(Te),ce(Te.content)&&Ra(Te.content)}catch(It){throw Fe&&(Zt(xe),$n(t.removed,Ft=>{Ft.element&&Xt(Ft.element)})),It}if(Fe)return $n(t.removed,It=>{It.element&&Xt(It.element)}),ee&&z(xe),xe;if(Ue){if(ee&&z(Z),Ee)for(Re=J.call(Z.ownerDocument);Z.firstChild;)Re.appendChild(Z.firstChild);else Re=Z;return(q.shadowroot||q.shadowrootmode)&&(Re=I.call(r,Re,!0)),Re}let ut=te?Z.outerHTML:Z.innerHTML;return te&&pe["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&Et(M0,Z.ownerDocument.doctype.name)&&(ut="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
|
|
828
|
-
`+ut),ee&&(ut=
|
|
826
|
+
*/const e0=[["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"}]],t0=Q("thumbs-up",e0),gs={"alert-triangle":ns,"align-start-vertical":Du,anchor:lh,armchair:uh,"arrow-down":Eu,"arrow-left":Tu,"arrow-right":Lu,"arrow-right-left":Ru,"arrow-up-a-z":ph,"audio-lines":Iu,baby:Ou,ban:zu,"bar-chart-2":hh,bell:Wu,"book-marked":Uu,"book-open":Ku,"bow-arrow":Zu,braces:Ju,bug:ed,calendar:hs,"calendar-check":nd,"calendar-days":rd,camera:sd,car:gh,"chart-column":ld,"chart-line":ud,"chart-pie":pd,check:as,"chevron-down":fs,"chevron-left":rs,"chevron-right":os,"chevron-up":Cs,circle:Gh,"clipboard-list":gd,coffee:yh,combine:yd,copy:xd,"chevrons-left-right-ellipsis":wd,"credit-card":Ad,database:ss,diff:Dd,download:is,ear:jd,edit:Md,"edit-2":$d,"edit-3":Pd,ellipsis:ls,eraser:Od,"external-link":zd,eye:Wd,"file-text":Ud,"flip-horizontal":Kd,"folder-open":Zd,"folder-plus":Jd,gamepad:ep,"gamepad-2":xh,clock:wh,target:Ah,percent:Nh,gavel:np,"git-merge":cs,globe:op,"grip-vertical":ip,headphones:cp,heart:dp,home:mp,inbox:Sh,info:fp,"key-round":gp,landmark:yp,layers:xp,"layout-dashboard":wp,leaf:Ap,lightbulb:Np,link:Sp,"link-2":jp,"link-2-off":Mp,list:$p,"list-checks":Pp,"list-ordered":Fp,"list-tree":jh,loader:Hp,lock:Vp,"log-out":qp,mail:Gp,"map-pin":Yp,menu:Xh,"message-circle":Xp,"message-circle-question-mark":Qp,"message-square":t1,"message-square-more":Mh,"message-square-text":a1,minus:$h,"minus-circle":o1,moon:Qh,"more-horizontal":ls,package:i1,palette:c1,"party-popper":d1,pause:m1,pencil:f1,phone:g1,play:y1,"play-circle":x1,plus:w1,printer:A1,"refresh-cw":N1,repeat:S1,replace:j1,rocket:M1,"rotate-ccw":$1,"rotate-cw":P1,salad:F1,"scan-search":H1,search:q1,"circle-alert":us,"alert-circle":us,"check-circle":ds,scissors:G1,"search-x":Y1,send:X1,settings:Q1,"share-2":Ph,"shield-check":tm,"shopping-cart":am,shuffle:om,"skip-back":im,"skip-forward":cm,sparkles:Fh,square:dm,star:mm,store:fm,"sun-medium":gm,table:ym,"table-2":xm,tag:wm,terminal:Am,"text-cursor-input":Nm,"text-initial":Sm,"thumbs-up":t0,ticket:jm,trash:$m,triangle:Yh,"trash-2":Mm,"trending-up":Pm,"triangle-alert":ns,trophy:Fm,type:Hh,unlink:Hm,upload:Vm,user:fr,"user-plus":Um,"user-round":Km,"user-round-check":Zm,users:Jm,"users-round":eh,volume:Vh,"volume-2":ps,wrench:ah,x:ms,zap:sh};function n0(e){return gs[e]??null}const bs=new Set;function a0(e){return Qo&&!(e in gs)&&!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 r0=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 o0(e){const t=e.toLowerCase();if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")||e.includes("/assets/")||/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i.test(t))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?r0(a):null}const ys=new Map;function s0(e){const t=typeof e=="string"?o0(e):null,a=t?n0(t)??ys.get(t)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!t||a)return;let i=!1;return a0(t).then(l=>{ys.set(t,l),i||s(l)}),()=>{i=!0}},[t,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 vs(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function i0(e){if(Array.isArray(e))return e}function l0(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,c=[],u=!0,d=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(u=(r=i.call(a)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(p){d=!0,s=p}finally{try{if(!u&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw s}}return c}}function c0(){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 u0(e,t){return i0(e)||l0(e,t)||d0(e,t)||c0()}function d0(e,t){if(e){if(typeof e=="string")return vs(e,t);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)?vs(e,t):void 0}}const xs=Object.entries,_s=Object.setPrototypeOf,p0=Object.isFrozen,m0=Object.getPrototypeOf,h0=Object.getOwnPropertyDescriptor;let _t=Object.freeze,kt=Object.seal,qn=Object.create,ws=typeof Reflect<"u"&&Reflect,Cr=ws.apply,gr=ws.construct;_t||(_t=function(t){return t}),kt||(kt=function(t){return t}),Cr||(Cr=function(t,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 t.apply(a,s)}),gr||(gr=function(t){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 t(...r)});const $n=vt(Array.prototype.forEach),f0=vt(Array.prototype.lastIndexOf),ks=vt(Array.prototype.pop),ca=vt(Array.prototype.push),C0=vt(Array.prototype.splice),Un=Array.isArray,ua=vt(String.prototype.toLowerCase),br=vt(String.prototype.toString),As=vt(String.prototype.match),da=vt(String.prototype.replace),Bs=vt(String.prototype.indexOf),g0=vt(String.prototype.trim),b0=vt(Number.prototype.toString),y0=vt(Boolean.prototype.toString),Ns=typeof BigInt>"u"?null:vt(BigInt.prototype.toString),Ds=typeof Symbol>"u"?null:vt(Symbol.prototype.toString),Ft=vt(Object.prototype.hasOwnProperty),pa=vt(Object.prototype.toString),jt=vt(RegExp.prototype.test),Rn=v0(TypeError);function vt(e){return function(t){t instanceof RegExp&&(t.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 Cr(e,t,r)}}function v0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return gr(e,a)}}function Ze(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ua;if(_s&&_s(e,null),!Un(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const i=a(s);i!==s&&(p0(t)||(t[r]=i),s=i)}e[s]=!0}return e}function x0(e){for(let t=0;t<e.length;t++)Ft(e,t)||(e[t]=null);return e}function Gt(e){const t=qn(null);for(const r of xs(e)){var a=u0(r,2);const s=a[0],i=a[1];Ft(e,s)&&(Un(i)?t[s]=x0(i):i&&typeof i=="object"&&i.constructor===Object?t[s]=Gt(i):t[s]=i)}return t}function _0(e){switch(typeof e){case"string":return e;case"number":return b0(e);case"boolean":return y0(e);case"bigint":return Ns?Ns(e):"0";case"symbol":return Ds?Ds(e):"Symbol()";case"undefined":return pa(e);case"function":case"object":{if(e===null)return pa(e);const t=e,a=tn(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:pa(r)}return pa(e)}default:return pa(e)}}function tn(e,t){for(;e!==null;){const r=h0(e,t);if(r){if(r.get)return vt(r.get);if(typeof r.value=="function")return vt(r.value)}e=m0(e)}function a(){return null}return a}function w0(e){try{return jt(e,""),!0}catch{return!1}}const Ss=_t(["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"]),yr=_t(["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"]),vr=_t(["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"]),k0=_t(["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"]),xr=_t(["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"]),A0=_t(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Es=_t(["#text"]),js=_t(["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"]),_r=_t(["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"]),Ts=_t(["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"]),Pa=_t(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),B0=kt(/{{[\w\W]*|^[\w\W]*}}/g),N0=kt(/<%[\w\W]*|^[\w\W]*%>/g),D0=kt(/\${[\w\W]*/g),S0=kt(/^data-[\-\w.\u00B7-\uFFFF]+$/),E0=kt(/^aria-[\-\w]+$/),Ms=kt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),j0=kt(/^(?:\w+script|data):/i),T0=kt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),M0=kt(/^html$/i),L0=kt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ls=kt(/<[/\w!]/g),$s=kt(/<[/\w]/g),$0=kt(/<\/no(script|embed|frames)/i),R0=kt(/\/>/i),Kt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Rs=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],P0=_t(Ze({},Rs)),I0=(function(){const e={};return $n(Rs,t=>{e[t]=kt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),_t(e)})(),F0=function(){return typeof window>"u"?null:window},O0=function(t,a){if(typeof t!="object"||typeof t.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 t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Ps=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Bn=function(t,a,r,s){return Ft(t,a)&&Un(t[a])?Ze(s.base?Gt(s.base):{},t[a],s.transform):r},wr=function(t,a,r){const s=Ft(t,a)?t[a]:void 0;return s&&typeof s=="object"?Gt(s):r()};function Is(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F0();const t=xe=>Is(xe);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Kt.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,c=e.Element,u=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,h=c.prototype,v=tn(h,"cloneNode"),y=tn(h,"remove"),g=tn(h,"nextSibling"),_=tn(h,"childNodes"),f=tn(h,"parentNode"),C=tn(h,"shadowRoot"),x=tn(h,"attributes"),b=l&&l.prototype?tn(l.prototype,"nodeType"):null,w=l&&l.prototype?tn(l.prototype,"nodeName"):null,k=l&&l.prototype?tn(l.prototype,"ownerDocument"):null,B=function(j){return b?b(j):j.nodeType},N=function(j){return w?w(j):j.nodeName};if(typeof i=="function"){const xe=a.createElement("template");xe.content&&xe.content.ownerDocument&&(a=xe.content.ownerDocument)}let A,D="",H,R=!1,P=0;const G=function(){if(P>0)throw Rn('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(j){G(),P++;try{return A.createHTML(j)}finally{P--}},M=function(j){G(),P++;try{return A.createScriptURL(j)}finally{P--}},z=function(){return R||(H=O0(m,s),R=!0),H},K=a,Z=K.implementation,q=K.createNodeIterator,te=K.createDocumentFragment,O=K.getElementsByTagName,L=r.importNode;let E=Ps();t.isSupported=typeof xs=="function"&&typeof f=="function"&&Z&&Z.createHTMLDocument!==void 0;const I=B0,F=N0,$=D0,T=S0,Y=E0,U=j0,J=T0,ce=L0;let Ee=Ms,de=null;const re=Ze({},[...Ss,...yr,...vr,...xr,...Es]);let W=null;const ie=Ze({},[...js,..._r,...Ts,...Pa]);let pe=Object.seal(qn(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}})),ye=null,ge=null;const we=Object.seal(qn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ce=!0,Be=!0,De=!1,oe=!0,ee=!1,fe=!0,ae=!1,be=!1,_e=null,Ke=null,Ve=!1,qe=!1,je=!1,Ue=!1,Le=!0,Ie=!1;const ze="user-content-";let nt=!0,ot=!1,Ge={},Xe=null;const ht=Ze({},["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 At=null;const zt=Ze({},["audio","video","img","source","image","track"]);let Ct=null;const et=Ze({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ye="http://www.w3.org/1998/Math/MathML",Je="http://www.w3.org/2000/svg",it="http://www.w3.org/1999/xhtml";let Oe=it,ft=!1,He=null;const dt=Ze({},[Ye,Je,it],br),Et=_t(["mi","mo","mn","ms","mtext"]);let wt=Ze({},Et);const xt=_t(["annotation-xml"]);let rt=Ze({},xt);const Re=Ze({},["title","style","font","a","script"]);let at=null;const gt=["application/xhtml+xml","text/html"],Vt="text/html";let Qe=null,Yt=null;const kn=a.createElement("form"),Bt=function(j){return j instanceof RegExp||j instanceof Function},Wt=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Yt&&Yt===j)return;(!j||typeof j!="object")&&(j={}),j=Gt(j),at=gt.indexOf(j.PARSER_MEDIA_TYPE)===-1?Vt:j.PARSER_MEDIA_TYPE,Qe=at==="application/xhtml+xml"?br:ua,de=Bn(j,"ALLOWED_TAGS",re,{transform:Qe}),W=Bn(j,"ALLOWED_ATTR",ie,{transform:Qe}),He=Bn(j,"ALLOWED_NAMESPACES",dt,{transform:br}),Ct=Bn(j,"ADD_URI_SAFE_ATTR",et,{transform:Qe,base:et}),At=Bn(j,"ADD_DATA_URI_TAGS",zt,{transform:Qe,base:zt}),Xe=Bn(j,"FORBID_CONTENTS",ht,{transform:Qe}),ye=Bn(j,"FORBID_TAGS",Gt({}),{transform:Qe}),ge=Bn(j,"FORBID_ATTR",Gt({}),{transform:Qe}),Ge=Ft(j,"USE_PROFILES")?j.USE_PROFILES&&typeof j.USE_PROFILES=="object"?Gt(j.USE_PROFILES):j.USE_PROFILES:!1,Ce=j.ALLOW_ARIA_ATTR!==!1,Be=j.ALLOW_DATA_ATTR!==!1,De=j.ALLOW_UNKNOWN_PROTOCOLS||!1,oe=j.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ee=j.SAFE_FOR_TEMPLATES||!1,fe=j.SAFE_FOR_XML!==!1,ae=j.WHOLE_DOCUMENT||!1,qe=j.RETURN_DOM||!1,je=j.RETURN_DOM_FRAGMENT||!1,Ue=j.RETURN_TRUSTED_TYPE||!1,Ve=j.FORCE_BODY||!1,Le=j.SANITIZE_DOM!==!1,Ie=j.SANITIZE_NAMED_PROPS||!1,nt=j.KEEP_CONTENT!==!1,ot=j.IN_PLACE||!1,Ee=w0(j.ALLOWED_URI_REGEXP)?j.ALLOWED_URI_REGEXP:Ms,Oe=typeof j.NAMESPACE=="string"?j.NAMESPACE:it,wt=wr(j,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ze({},Et)),rt=wr(j,"HTML_INTEGRATION_POINTS",()=>Ze({},xt));const X=wr(j,"CUSTOM_ELEMENT_HANDLING",()=>qn(null));if(pe=qn(null),Ft(X,"tagNameCheck")&&Bt(X.tagNameCheck)&&(pe.tagNameCheck=X.tagNameCheck),Ft(X,"attributeNameCheck")&&Bt(X.attributeNameCheck)&&(pe.attributeNameCheck=X.attributeNameCheck),Ft(X,"allowCustomizedBuiltInElements")&&typeof X.allowCustomizedBuiltInElements=="boolean"&&(pe.allowCustomizedBuiltInElements=X.allowCustomizedBuiltInElements),kt(pe),ee&&(Be=!1),je&&(qe=!0),Ge&&(de=Ze({},Es),W=qn(null),Ge.html===!0&&(Ze(de,Ss),Ze(W,js)),Ge.svg===!0&&(Ze(de,yr),Ze(W,_r),Ze(W,Pa)),Ge.svgFilters===!0&&(Ze(de,vr),Ze(W,_r),Ze(W,Pa)),Ge.mathMl===!0&&(Ze(de,xr),Ze(W,Ts),Ze(W,Pa))),we.tagCheck=null,we.attributeCheck=null,Ft(j,"ADD_TAGS")&&(typeof j.ADD_TAGS=="function"?we.tagCheck=j.ADD_TAGS:Un(j.ADD_TAGS)&&(de===re&&(de=Gt(de)),Ze(de,j.ADD_TAGS,Qe))),Ft(j,"ADD_ATTR")&&(typeof j.ADD_ATTR=="function"?we.attributeCheck=j.ADD_ATTR:Un(j.ADD_ATTR)&&(W===ie&&(W=Gt(W)),Ze(W,j.ADD_ATTR,Qe))),Ft(j,"ADD_FORBID_CONTENTS")&&Un(j.ADD_FORBID_CONTENTS)&&(Xe===ht&&(Xe=Gt(Xe)),Ze(Xe,j.ADD_FORBID_CONTENTS,Qe)),nt&&(de["#text"]=!0),ae&&Ze(de,["html","head","body"]),de.table&&(Ze(de,["tbody"]),delete ye.tbody),j.TRUSTED_TYPES_POLICY){if(typeof j.TRUSTED_TYPES_POLICY.createHTML!="function")throw Rn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof j.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Rn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const me=A;A=j.TRUSTED_TYPES_POLICY;try{D=S("")}catch(Te){throw A=me,Te}}else j.TRUSTED_TYPES_POLICY===null?(A=void 0,D=""):(A===void 0&&(A=z()),A&&typeof D=="string"&&(D=S("")));_t&&_t(j),Yt=j},Qt=Ze({},[...yr,...vr,...k0]),rn=Ze({},[...xr,...A0]),ln=function(j,X,me){return X.namespaceURI===it?j==="svg":X.namespaceURI===Ye?j==="svg"&&(me==="annotation-xml"||wt[me]):!!Qt[j]},en=function(j,X,me){return X.namespaceURI===it?j==="math":X.namespaceURI===Je?j==="math"&&rt[me]:!!rn[j]},An=function(j,X,me){return X.namespaceURI===Je&&!rt[me]||X.namespaceURI===Ye&&!wt[me]?!1:!rn[j]&&(Re[j]||!Qt[j])},Zt=function(j){let X=f(j);(!X||!X.tagName)&&(X={namespaceURI:Oe,tagName:"template"});const me=ua(j.tagName),Te=ua(X.tagName);return He[j.namespaceURI]?j.namespaceURI===Je?ln(me,X,Te):j.namespaceURI===Ye?en(me,X,Te):j.namespaceURI===it?An(me,X,Te):!!(at==="application/xhtml+xml"&&He[j.namespaceURI]):!1},bt=function(j){ca(t.removed,{element:j});try{f(j).removeChild(j)}catch{if(y(j),!f(j))throw Rn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},cn=function(j,X,me){try{j.removeAttributeNode(X)}catch{try{j.removeAttribute(me)}catch{}}},Xt=function(j){Jt(j);const X=_(j);if(X){const Te=[];$n(X,$e=>{ca(Te,$e)}),$n(Te,$e=>{try{y($e)}catch{}})}const me=x(j);if(me)for(let Te=me.length-1;Te>=0;--Te){const $e=me[Te],Fe=$e&&$e.name;typeof Fe=="string"&&cn(j,$e,Fe)}},Tt=function(j,X,me){if(!me)try{me=X.getAttributeNode(j)}catch{me=null}ca(t.removed,{attribute:me||null,from:X});try{me?X.removeAttributeNode(me):X.removeAttribute(j)}catch{try{X.removeAttribute(j)}catch{}}if(j==="is")if(qe||je)try{bt(X)}catch{}else try{X.setAttribute(j,"")}catch{}},un=function(j){const X=x(j);if(X)for(let me=X.length-1;me>=0;--me){const Te=X[me],$e=Te&&Te.name;typeof $e!="string"||W[Qe($e)]||cn(j,Te,$e)}},Jt=function(j){const X=[j];for(;X.length>0;){const me=X.pop();B(me)===Kt.element&&un(me);const $e=_(me);if($e)for(let Fe=$e.length-1;Fe>=0;--Fe)X.push($e[Fe])}},dn=function(j,X){return fe?j==="patchsrc"?!0:j==="for"&&X!=="label"&&X!=="output":!1},Ne=function(j){if(!fe)return;const X=[j];for(;X.length>0;){const me=X.pop(),Te=B(me);if(Te===Kt.processingInstruction||Te===Kt.comment&&jt($s,me.data)){try{y(me)}catch{}continue}if(Te===Kt.element){const Fe=me,st=Qe(N(me));try{Fe.hasAttribute&&Fe.hasAttribute("patchsrc")&&Fe.removeAttribute("patchsrc"),Fe.hasAttribute&&Fe.hasAttribute("for")&&dn("for",st)&&Fe.removeAttribute("for")}catch{}}const $e=_(me);if($e)for(let Fe=$e.length-1;Fe>=0;--Fe)X.push($e[Fe])}},Pe=function(j){let X=null,me=null;if(Ve)j="<remove></remove>"+j;else{const Fe=As(j,/^[\r\n\t ]+/);me=Fe&&Fe[0]}at==="application/xhtml+xml"&&Oe===it&&(j='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+j+"</body></html>");const Te=A?S(j):j;if(Oe===it)try{X=new p().parseFromString(Te,at)}catch{}if(!X||!X.documentElement){X=Z.createDocument(Oe,"template",null);try{X.documentElement.innerHTML=ft?D:Te}catch{}}const $e=X.body||X.documentElement;return j&&me&&$e.insertBefore(a.createTextNode(me),$e.childNodes[0]||null),Oe===it?O.call(X,ae?"html":"body")[0]:ae?X.documentElement:$e},ne=function(j){const X=k?k(j):j.ownerDocument;return q.call(X||j,j,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},he=function(j){return j=da(j,I," "),j=da(j,F," "),j=da(j,$," "),j},V=function(j){var X;j.normalize();const me=k?k(j):j.ownerDocument,Te=q.call(me||j,j,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let $e=Te.nextNode();for(;$e;)$e.data=he($e.data),$e=Te.nextNode();const Fe=(X=j.querySelectorAll)===null||X===void 0?void 0:X.call(j,"template");Fe&&$n(Fe,st=>{ue(st.content)&&V(st.content)})},se=function(j){const X=w?w(j):null;return typeof X!="string"||Qe(X)!=="form"?!1:typeof j.nodeName!="string"||typeof j.textContent!="string"||typeof j.removeChild!="function"||j.attributes!==x(j)||typeof j.removeAttribute!="function"||typeof j.setAttribute!="function"||typeof j.namespaceURI!="string"||typeof j.insertBefore!="function"||typeof j.hasChildNodes!="function"||j.nodeType!==b(j)||j.childNodes!==_(j)},ue=function(j){if(!b||typeof j!="object"||j===null)return!1;try{return b(j)===Kt.documentFragment}catch{return!1}},ke=function(j){if(!b||typeof j!="object"||j===null)return!1;try{return typeof b(j)=="number"}catch{return!1}};function Ae(xe,j,X){xe.length!==0&&$n(xe,me=>{me.call(t,j,X,Yt)})}const Me=function(j,X){return!!(fe&&j.hasChildNodes()&&!ke(j.firstElementChild)&&jt(Ls,j.textContent)&&jt(Ls,j.innerHTML)||fe&&j.namespaceURI===it&&P0[X]&&(ke(j.firstElementChild)||typeof j.textContent=="string"&&jt(I0[X],j.textContent))||j.nodeType===Kt.processingInstruction||fe&&j.nodeType===Kt.comment&&jt($s,j.data))},tt=function(j,X){if(j instanceof RegExp)return jt(j,X);if(j instanceof Function){for(var me=arguments.length,Te=new Array(me>2?me-2:0),$e=2;$e<me;$e++)Te[$e-2]=arguments[$e];return!!j(X,...Te)}return!1},yt=function(j,X,me){if(!ye[X]&&mn(X)&&tt(pe.tagNameCheck,X))return!1;if(nt&&!Xe[X]){const Te=f(j),$e=_(j);if($e&&Te){const Fe=$e.length;for(let st=Fe-1;st>=0;--st){const ut=j===me?v($e[st],!0):$e[st];Te.insertBefore(ut,g(j))}}}return bt(j),!0},ct=function(j,X,me,Te){return j.length===0?X:X===me||X===Te?Gt(X):X},Nt=function(j,X){return j===X||f(j)!==null?!1:(ot&&Jt(j),!0)},qt=function(j,X){if(Ae(E.beforeSanitizeElements,j,null),Nt(j,X))return!0;if(se(j))return bt(j),!0;const me=Qe(N(j));if(de=ct(E.uponSanitizeElement,de,re,_e),Ae(E.uponSanitizeElement,j,{tagName:me,allowedTags:de}),Nt(j,X))return!0;if(Me(j,me))return bt(j),!0;if(ye[me]||!(we.tagCheck instanceof Function&&we.tagCheck(me))&&!de[me]){const $e=yt(j,me,X);return $e===!1&&Ae(E.afterSanitizeElements,j,null),$e}if(B(j)===Kt.element&&!Zt(j)||(me==="noscript"||me==="noembed"||me==="noframes")&&jt($0,j.innerHTML))return bt(j),!0;if(ee&&j.nodeType===Kt.text){const $e=he(j.textContent);j.textContent!==$e&&(ca(t.removed,{element:j.cloneNode()}),j.textContent=$e)}return Ae(E.afterSanitizeElements,j,null),!1},Rt=function(j,X,me){if(ge[X]||dn(X,j)||Le&&(X==="id"||X==="name")&&(me in a||me in kn))return!1;const Te=W[X]||we.attributeCheck instanceof Function&&we.attributeCheck(X,j);return Be&&jt(T,X)||Ce&&jt(Y,X)?!0:Te?Ct[X]||jt(Ee,da(me,J,""))||(X==="src"||X==="xlink:href"||X==="href")&&j!=="script"&&Bs(me,"data:")===0&&At[j]||De&&!jt(U,da(me,J,""))?!0:!me:mn(j)&&tt(pe.tagNameCheck,j)&&tt(pe.attributeNameCheck,X,j)||X==="is"&&pe.allowCustomizedBuiltInElements&&tt(pe.tagNameCheck,me)},pn=Ze({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),mn=function(j){return!pn[ua(j)]&&jt(ce,j)},dr=function(j,X,me,Te){if(A&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!me)switch(m.getAttributeType(j,X)){case"TrustedHTML":return S(Te);case"TrustedScriptURL":return M(Te)}return Te},bu=function(j,X,me,Te){try{me?j.setAttributeNS(me,X,Te):j.setAttribute(X,Te),se(j)?bt(j):ks(t.removed)}catch{Tt(X,j)}},Zo=function(j){Ae(E.beforeSanitizeAttributes,j,null);const X=j.attributes;if(!X||se(j))return;W=ct(E.uponSanitizeAttribute,W,ie,Ke);const me={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let Te=X.length;const $e=Qe(j.nodeName);for(;Te--;){const Fe=X[Te],st=Fe.name,ut=Fe.namespaceURI,Pt=Fe.value,It=Qe(st),mr=Pt;let Mt=st==="value"?mr:g0(mr);if(me.attrName=It,me.attrValue=Mt,me.keepAttr=!0,me.forceKeepAttr=void 0,Ae(E.uponSanitizeAttribute,j,me),Mt=me.attrValue,Ie&&(It==="id"||It==="name")&&Bs(Mt,ze)!==0&&(Tt(st,j,Fe),Mt=ze+Mt),fe&&jt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Mt)){Tt(st,j,Fe);continue}if(It==="attributename"&&As(Mt,"href")){Tt(st,j,Fe);continue}if(!me.forceKeepAttr){if(!me.keepAttr){Tt(st,j,Fe);continue}if(!oe&&jt(R0,Mt)){Tt(st,j,Fe);continue}if(ee&&(Mt=he(Mt)),!Rt($e,It,Mt)){Tt(st,j,Fe);continue}Mt=dr($e,It,ut,Mt),Mt!==mr&&bu(j,st,ut,Mt)}}Ae(E.afterSanitizeAttributes,j,null)},Ra=function(j){let X=null;const me=ne(j);for(Ae(E.beforeSanitizeShadowDOM,j,null);X=me.nextNode();)if(Ae(E.uponSanitizeShadowNode,X,null),qt(X,j),Zo(X),ue(X.content)&&Ra(X.content),B(X)===Kt.element){const Te=C(X);ue(Te)&&(pr(Te),Ra(Te))}Ae(E.afterSanitizeShadowDOM,j,null)},pr=function(j){const X=[{node:j,shadow:null}];for(;X.length>0;){const me=X.pop();if(me.shadow){Ra(me.shadow);continue}const Te=me.node,Fe=B(Te)===Kt.element,st=_(Te);if(st)for(let ut=st.length-1;ut>=0;--ut)X.push({node:st[ut],shadow:null});if(Fe){const ut=w?w(Te):null;if(typeof ut=="string"&&Qe(ut)==="template"){const Pt=Te.content;ue(Pt)&&X.push({node:Pt,shadow:null})}}if(Fe){const ut=C(Te);ue(ut)&&X.push({node:null,shadow:ut},{node:ut,shadow:null})}}};return t.sanitize=function(xe){let j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},X=null,me=null,Te=null,$e=null;if(ft=!xe,ft&&(xe="<!-->"),typeof xe!="string"&&!ke(xe)&&(xe=_0(xe),typeof xe!="string"))throw Rn("dirty is not a string, aborting");if(!t.isSupported)return xe;be?(de=_e,W=Ke):Wt(j),(E.uponSanitizeElement.length>0||E.uponSanitizeAttribute.length>0)&&(de=Gt(de)),E.uponSanitizeAttribute.length>0&&(W=Gt(W)),t.removed=[];const Fe=ot&&typeof xe!="string"&&ke(xe);if(Fe){Ne(xe);const Pt=N(xe);if(typeof Pt=="string"){const It=Qe(Pt);if(!de[It]||ye[It])throw Xt(xe),Rn("root node is forbidden and cannot be sanitized in-place")}if(se(xe))throw Xt(xe),Rn("root node is clobbered and cannot be sanitized in-place");try{pr(xe)}catch(It){throw Xt(xe),It}}else if(ke(xe))X=Pe("<!---->"),me=X.ownerDocument.importNode(xe,!0),me.nodeType===Kt.element&&me.nodeName==="BODY"||me.nodeName==="HTML"?X=me:X.appendChild(me),pr(me);else{if(!qe&&!ee&&!ae&&xe.indexOf("<")===-1)return A&&Ue?S(xe):xe;if(X=Pe(xe),!X)return qe?null:Ue?D:""}X&&Ve&&bt(X.firstChild);const st=Fe?xe:X;try{const Pt=ne(st);for(;Te=Pt.nextNode();)qt(Te,st),Zo(Te),ue(Te.content)&&Ra(Te.content)}catch(Pt){throw Fe&&(Xt(xe),$n(t.removed,It=>{It.element&&Jt(It.element)})),Pt}if(Fe)return $n(t.removed,Pt=>{Pt.element&&Jt(Pt.element)}),ee&&V(xe),xe;if(qe){if(ee&&V(X),je)for($e=te.call(X.ownerDocument);X.firstChild;)$e.appendChild(X.firstChild);else $e=X;return(W.shadowroot||W.shadowrootmode)&&($e=L.call(r,$e,!0)),$e}let ut=ae?X.outerHTML:X.innerHTML;return ae&&de["!doctype"]&&X.ownerDocument&&X.ownerDocument.doctype&&X.ownerDocument.doctype.name&&jt(M0,X.ownerDocument.doctype.name)&&(ut="<!DOCTYPE "+X.ownerDocument.doctype.name+`>
|
|
828
|
+
`+ut),ee&&(ut=he(ut)),A&&Ue?S(ut):ut},t.setConfig=function(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wt(xe),be=!0,_e=de,Ke=W},t.clearConfig=function(){Yt=null,be=!1,_e=null,Ke=null,A=H,D=""},t.isValidAttribute=function(xe,j,X){Yt||Wt({});const me=Qe(xe),Te=Qe(j);return Rt(me,Te,X)},t.addHook=function(xe,j){typeof j=="function"&&Ft(E,xe)&&ca(E[xe],j)},t.removeHook=function(xe,j){if(Ft(E,xe)){if(j!==void 0){const X=f0(E[xe],j);return X===-1?void 0:C0(E[xe],X,1)[0]}return ks(E[xe])}},t.removeHooks=function(xe){Ft(E,xe)&&(E[xe]=[])},t.removeAllHooks=function(){E=Ps()},t}var kr=Is();const H0=/^(?:[a-z]+:)?\/\//i,z0="__ihab_core_asset_base_url__";function V0(){return globalThis[z0]??""}function Ar(e){const t=String(e||"").trim();if(!t)return"";if(H0.test(t)||t.startsWith("data:")||t.startsWith("blob:"))return t;const a=t.startsWith("/")?t:`/${t}`,r=V0();return r?`${r}${a}`:a}const Fs="__ihab_core_storage_resolvers__";function ma(){return globalThis[Fs]??null}function W0(e){globalThis[Fs]=e}let Os=class extends Error{constructor(t){super(`
|
|
829
829
|
[ihabdevteam-core] ${t}() \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 q0(e){W0(e)}function Fs(e,t){if(!e)return null;const a=ma();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Os(e){if(!e)return null;const t=ma();if(!t)throw new Is("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Hs(e){const t=ma();if(!t)throw new Is("downloadSound");return t.download(e)}function U0(){return ma()?.noiseBaseUrl??"/sounds/noise"}function Vs(){const e=Number(ma()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function G0(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const zs="__ihab_core_tts_config__";function Br(){return globalThis[zs]?.urlResolver??null}function K0(){return globalThis[zs]?.fallbackUrlResolver??null}const Y0="__ihab_core_pronunciation_resolver__";function Z0(){return globalThis[Y0]??null}let Nn=null;const ha=new WeakMap,Nr=new WeakMap,Dr=new WeakMap;let Ws=!1;const qs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function X0(){if(Ws||typeof document>"u")return;Ws=!0;const e=()=>{try{Nn&&Nn.state!=="running"&&Nn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function Us(){if(Nn)return Nn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Nn=new e,X0(),Nn):null}catch{return null}}function Sr(){try{Nn?.resume()}catch{}}function Er(e,t){const a=ha.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=qs(Nr.get(t)??t.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{t.volume=1}catch{}const l={gain:s,analyser:i};return ha.set(t,l),l}catch{return null}}function Ia(e){if(!e)return Promise.resolve(null);const t=ha.get(e);if(t)return Promise.resolve(t.analyser);const a=Us();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Er(a,e)?.analyser??null);const r=Dr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Er(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Dr.delete(e)});return Dr.set(e,s),s}function J0(e){if(!e)return null;const t=ha.get(e);if(t)return t.analyser;const a=Us();return a?a.state==="running"?Er(a,e)?.analyser??null:(Ia(e),null):null}function Dn(e,t){const a=qs(t);Nr.set(e,a);const r=ha.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 Fa(e){return Nr.get(e)??e.volume}function Q0(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const s=t[r];a+=s*s}return Math.sqrt(a/t.length)}const e2="__ihab_core_image_config__";function Gn(){return globalThis[e2]??null}const Gs="word_image_existence_map_v1";let Pn=null;const Oa=new Map;function t2(){if(Pn)return Pn;try{const e=typeof localStorage<"u"?localStorage.getItem(Gs):null,t=e?JSON.parse(e):null;Pn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Pn={}}return Pn}let jr=null;function n2(){jr||(jr=setTimeout(()=>{jr=null;try{typeof localStorage<"u"&&Pn&&localStorage.setItem(Gs,JSON.stringify(Pn))}catch{}},200))}function a2(e,t){return`${e}_${t??1}`}async function Ks(e,t){const a=t2(),r=a2(e,t);if(r in a)return a[r];if(Oa.has(r))return Oa.get(r);const s=Gn();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:G0(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Oa.delete(r),c===null?!1:(a[r]=c,n2(),c)));return Oa.set(r,l),l}const Ys=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Zs=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],r2=["","\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 fa(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function o2(e){const t=fa(e[0]||"");return t?Ys[t.cho]:""}function s2(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>Ys.includes(l),r=l=>Zs.includes(l),s=t.map(l=>a(l)?"cho":r(l)?"jung":fa(l)?"syl":"other"),i=t.map(l=>fa(l));if(s.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let p=0;p<t.length;p++){const m=c[u+p],f=s[p];if(f==="cho"){if(o2(m)!==t[p]){d=!1;break}}else if(f==="jung"){const b=fa(m);if(!b||Zs[b.jung]!==t[p]){d=!1;break}}else{const b=i[p];if(b&&b.jong===0){const C=fa(m);if(!C||C.cho!==b.cho||C.jung!==b.jung){d=!1;break}}else if(m!==t[p]){d=!1;break}}}if(d)return!0}return!1}}const i2={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(i2).map(([e,t])=>[t.join(""),r2[Number(e)]]));const l2="word_pair_index_v2",c2="word_pair_index_sig_v2";let Ha=null;function u2(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(l2),t=localStorage.getItem(c2);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function d2(){if(Ha)return Ha;const e=u2();return e?(Ha=e.index,e.sig,Ha):null}const p2={\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"}},Tr=/[ㄱ-ㅎ]/,m2=/[ㅏ-ㅣ]/;function Xs(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Tr.test(a)||m2.test(a))return a}return null}function h2(e){const t=Xs(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Tr.test(t)?"\uC774":"\uAC00"}function f2(e){return`${e}${h2(e)}`}function C2(e){const t=Xs(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Tr.test(t)?"\uC744":"\uB97C"}function g2(e){return`${e}${C2(e)}`}function b2(e,t,a){const r=e.slice(),[s]=r.splice(t,1);return r.splice(a,0,s),r}function Ca(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(t()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const y2=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof kt?.t=="function"?kt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Js(e,t){if(t===void 0&&(t=y2()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;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 t}const v2="__ihab_core_word_pool__";function Qs(){return globalThis[v2]??null}const ei=globalThis;function ti(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function x2(e){ti("time",()=>ei.__ihabTrainingTimeLogger?.(e))}function _2(e){ti("completion",()=>ei.__ihabTrainingCompletionLogger?.(e))}function Ht(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function w2(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function k2(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Ht(r.contextCode)??Ht(r.itemId)??Ht(r.itemCode)??Ht(r.id),question:Ht(r.question)??Ht(r.q)??Ht(r.sentence)??Ht(r.text)??Ht(r.prompt)??Ht(r.word)??Ht(r.targetSyllable),answer:Ht(r.answer),selected:Ht(r.selectedText)??Ht(r.selected),correct:w2(r)}}):[]}const Mr=globalThis;async function A2(){try{return await Mr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ni(e){const t=a=>{};try{const a=Mr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Va(e){try{Mr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function B2(e){if(typeof document<"u"){const t=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),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.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 N2=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function ai(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=N2.exec(a);t=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 t=new Date(e);return Number.isNaN(t.getTime())?null:t}function ga(){return $r(new Date)}function Lr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ga()}function Kn(){return S2(ga())}const D2=540*60*1e3;function ri(e,t,a){return new Date(Date.UTC(e,t,a)-D2)}function S2(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function $r(e){if(e==null||e==="")return"";const t=ai(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function oi(e,t){if(!e)return"";const a=ai(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),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:p})}function si(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=$r(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),p=r?u:String(Number(u)),m=r?d:String(Number(d));return`${c}${a}${p}${a}${m}${s?".":""}`}function Yn(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function ii(e,t){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?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function Rr(e){return(e??0).toLocaleString("ko-KR")}const E2=[{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"}]}],j2=[{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 li(){return E2}function T2(){return j2}const M2=[],L2=[],$2=[],R2=[];function P2(){return{LISTEN_IN_NOISE:M2,SHORT_STORY:L2,LONG_STORY:$2,ORDERING_SENTENCE:R2}}const I2=[{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."}],ci={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function F2(e){return I2.map(t=>{const a=ci[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let za=null,ui=null,di=null;function O2(){const e=Qs();if(e&&e.entries.length>0){const t=d2();if(za&&ui===e&&di===t)return za;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:t?.[s.word]?[...t[s.word].cho??[],...t[s.word].jung??[],...t[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return za=r,ui=e,di=t,za}return[]}new Proxy([],{get(e,t){const a=O2(),r=a[t];return typeof r=="function"?r.bind(a):r}});const H2="0.177.0";function V2(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function z2(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&V2(r.attrValue)&&(r.keepAttr=!1)};kr.addHook("uponSanitizeAttribute",t);try{return kr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{kr.removeHook("uponSanitizeAttribute",t)}}function W2(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[c,u]=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=Ar(e):/^(Logo|Symbol)/i.test(d)?p=Ar(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function p(){try{let m=await fetch(t);m.ok||(m=await fetch(t));const f=m.headers.get("content-type")||"";if(d)return;if(f.includes("svg")){s("mask");return}if(f.startsWith("image/")){s("img");return}const b=await fetch(t);if(!b.ok)throw new Error("not ok");const C=await b.text();if(d)return;if(/^\s*<svg[\s>]/i.test(C)){const y=z2(C);if(!y){s("none");return}l(y),s("inline");return}s("none")}catch{d||s("none")}}return p(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,p=null;return r==="mask"&&t&&fetch(t).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{d||(p=URL.createObjectURL(m),u(p))}).catch(()=>{d||s("img")}),()=>{d=!0,p&&URL.revokeObjectURL(p),u(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function qe(e){const{icon:t,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",f=l??"iconRenderer-icon-svg",b=typeof t=="string"?t:null,C=s0(b),{iconToUse:y,mode:_,svgText:h,blobUrl:v}=W2(b),x=(N,A={})=>n.jsx("span",{className:d,style:c,...A,children:N}),g=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,k=(N,A={})=>n.jsx("img",{src:N,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:g?{...A.style,...g}:A.style});if(!t)return null;if(typeof t!="string")return x(t);if(t==="none")return x(n.jsx("span",{className:f,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(C)try{return x(o.createElement(C,{className:f,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(y&&y.endsWith(".svg")){if(_==="mask"){const N={"--icon-url":v?`url(${v})`:`url(${y})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return x(n.jsx("span",{className:m,style:N}),{"aria-hidden":"true"})}return _==="img"?x(k(y,{onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):_==="inline"?x(n.jsx("span",{className:f,dangerouslySetInnerHTML:h?{__html:h}:void 0}),{"aria-hidden":"true"}):x(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Ar(t),{style:c,onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}});const w=typeof u=="number"?u:20,B=`<svg width="${w}" height="${w}" 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 x(n.jsx("span",{className:f,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function pi(e){const[t,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 c=()=>{r.current=!1,s.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function q2({icon:e,emoji:t,title:a,message:r,hint:s,action:i,compact:l,className:c}){const{pending:u,press:d}=pi(i?.onClick);return n.jsxs("div",{className:De("empty-state",l&&"empty-state--compact",c),children:[t&&n.jsx("span",{className:"empty-state__emoji",children:t}),e&&n.jsx(qe,{icon:e,className:"empty-state__icon"}),a&&n.jsx("p",{className:"empty-state__title body-2",children:a}),r&&n.jsx("p",{className:"empty-state__message body-3",children:r}),s&&n.jsx("p",{className:"empty-state__hint caption-1",children:s}),i&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[i.icon&&n.jsx(qe,{icon:i.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:i.label})]})]})}function U2({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=be.useTranslation(),{pending:c,press:u}=pi(r);return n.jsxs("div",{className:De("empty-state","error-state",i),role:"alert",children:[n.jsx(qe,{icon:a,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[n.jsx(qe,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function G2({icon:e,title:t,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:c=""}){const u=o.useId(),d=`${u}-title`,p=`${u}-desc`,m=`${u}-cta`,f=()=>{i||l?.()};return n.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${p} ${m}`,onClick:f,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),f())},className:De("action-card",`action-card--${s}`,i&&"action-card--disabled",c),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(qe,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:p,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:m,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(qe,{icon:"arrow-right",size:18})})]})]})})}function K2({as:e="div",className:t="",children:a,storage:r,...s}){r&&q0({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=De("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Pr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Cn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;s.shiftKey&&(u===l||d)?(s.preventDefault(),c.focus()):!s.shiftKey&&u===c&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const Cn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Ir=new WeakMap;function Fr(e,t){e&&Ir.set(e,t)}function Or(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Ir.has(r);)r=r.parentElement;if(!r)return t;t=Ir.get(r)??null}return t}function mi(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 Wa(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(mi(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(Cn)).filter(u=>!(e&&e.contains(u))&&mi(u));let i=null,l=null;for(const u of s)r.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}function Y2({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:c}=be.useTranslation(),[u,d]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const y=p.current;y&&y.contains(document.activeElement)&&Wa(y),d(!0)},[]);if(u)return null;const f=`notice-box notice-box--${s} body-2 ${l}`.trim(),b=i&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:f,role:"note",children:[a.map((y,_)=>n.jsxs("div",{className:"notice-box__inner",children:[y.title?n.jsx("span",{className:"notice-box__title body-3",children:y.title}):null,n.jsx("div",{className:"notice-box__body",children:y.lines&&y.lines.length?n.jsx("div",{children:y.lines.map((h,v)=>n.jsx("span",{className:"notice-box__line body-3",children:h},v))}):y.children??null})]},_)),b]});const C=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((y,_)=>n.jsx("li",{className:"notice-box__line",children:y},_))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:p,className:f,role:"note",children:[C,b]})}const Zn=[];let qa=!1;function hi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=Zn[Zn.length-1];t&&(e.stopPropagation(),t())}function In(e){return Zn.push(e),!qa&&typeof document<"u"&&(document.addEventListener("keydown",hi),qa=!0),()=>{const t=Zn.lastIndexOf(e);t>=0&&Zn.splice(t,1),Zn.length===0&&qa&&typeof document<"u"&&(document.removeEventListener("keydown",hi),qa=!1)}}const fi=o.createContext(null);function Z2(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Ci=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function X2(e){const t=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 Yo.useSyncExternalStore(t,()=>Ci(e),()=>!1)}function J2(e){const[t,a]=o.useState(Ci(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]),t}const Q2=typeof Yo.useSyncExternalStore=="function"?X2:J2;function tn(e){const t=o.useContext(fi),a=Q2(e);return t&&typeof t.mobile=="boolean"&&Z2(e)?t.mobile:a}const ef="(prefers-reduced-motion: reduce)";function Hr(){return tn(ef)}function gn(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:p,backdrop:m=!1,isMobilePopup:f=!1,useBorder:b=!0,header:C}=e||{},y=o.useRef(null),[_,h]=o.useState({position:"fixed",left:0,top:-9999}),[v,x]=o.useState(!1),[g,k]=o.useState("bottom"),[w,B]=o.useState(!1),[N,A]=o.useState(!1),D=!t&&!a,F=o.useCallback((K=!1)=>{if(N&&f)return;const G=a?a.getBoundingClientRect():t;if(!G||!y.current)return;const J=y.current,{offsetWidth:O,offsetHeight:I}=J,S=window.innerWidth,H=window.innerHeight,P=S-G.right,M=G.left,L=G.top,X=H-G.bottom;let W=0,ae=0,ue="top";if(L>=I+r)ue="top",ae=G.top-r-I,W=G.left+G.width/2-O/2;else if(X>=I+r)ue="bottom",ae=G.bottom+r,W=G.left+G.width/2-O/2;else if(P>=O+r)ue="right",W=G.right+r,ae=G.top+G.height/2-I/2;else if(M>=O+r)ue="left",W=G.left-r-O,ae=G.top+G.height/2-I/2;else{const q=Math.max(L,X,P,M);q===L?(ue="top",ae=G.top-r-I,W=G.left+G.width/2-O/2):q===X?(ue="bottom",ae=G.bottom+r,W=G.left+G.width/2-O/2):q===P?(ue="right",W=G.right+r,ae=G.top+G.height/2-I/2):(ue="left",W=G.left-r-O,ae=G.top+G.height/2-I/2)}const Se=Number.isFinite(Number(s))?Number(s):8;W=Math.min(Math.max(W,Se),S-O-Se),ae=Math.min(Math.max(ae,Se),H-I-Se);const pe=Math.round(W),re=Math.round(ae);K&&y.current?(y.current.style.left=`${pe}px`,y.current.style.top=`${re}px`,y.current.dataset.placement=ue):(k(ue||g),h({position:"fixed",left:pe,top:re}),B(!0))},[N,f,a,t,r,s,g]);o.useLayoutEffect(()=>{if(D)return;if(N&&f){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}F();const K=requestAnimationFrame(()=>F());return()=>cancelAnimationFrame(K)},[t,a,r,p,s,D,N,f,F]),o.useEffect(()=>{if(D||N&&f||!y.current||typeof ResizeObserver>"u")return;const K=new ResizeObserver(()=>{t&&F()});return K.observe(y.current),()=>K.disconnect()},[t,p,s,D,N,f,F]),o.useEffect(()=>{if(D||N&&f)return;const K=()=>F(!0),G=J=>{if(!a&&i){const O=J.target;if(O&&y.current&&y.current.contains(O))return;try{if(O&&O.closest&&O.closest("[data-tooltip-ignore]"))return}catch{}T.current(!0);return}K()};return window.addEventListener("resize",K),document.addEventListener("scroll",G,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",K),document.removeEventListener("scroll",G,{capture:!0})}},[t,a,i,r,p,s,D,N,f,F]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const K=window.matchMedia("(max-width: 768px)"),G=()=>A(!!K.matches);G();try{K.addEventListener?K.addEventListener("change",G):K.addListener(G)}catch{try{K.addListener(G)}catch{}}return()=>{try{K.removeEventListener?K.removeEventListener("change",G):K.removeListener(G)}catch{}}},[]);const $=o.useRef(!1),R=o.useRef(null),U=Hr(),E=o.useCallback((K=!1)=>{if(i&&!(v||$.current)){if($.current=!0,K){x(!0);try{i&&i()}catch{$.current=!1,x(!1)}return}x(!0),R.current=setTimeout(()=>{R.current=null;try{i&&i()}catch{$.current=!1,x(!1)}},U?0:200)}},[v,i,x,U]);o.useEffect(()=>()=>{R.current&&clearTimeout(R.current)},[]),o.useEffect(()=>{if(D)return;const K=O=>{const I=y.current;if(!I)return;const S=O.target;if(S&&!I.contains(S)){try{if(S.closest&&S.closest("[data-tooltip-ignore]"))return}catch{}l&&E(!0)}},G=O=>{const I=y.current;if(!I)return;const S=O.target;if(S&&!I.contains(S)){try{if(S.closest&&S.closest("[data-tooltip-ignore]"))return}catch{}l&&E(!0)}},J=O=>{if(O.key==="Tab"){const I=y.current;if(!I)return;const S=I.querySelectorAll(Cn);if(!S||S.length===0)return;const H=S[0],P=S[S.length-1],M=document.activeElement;O.shiftKey?M===H&&(O.preventDefault(),P.focus()):M===P&&(O.preventDefault(),H.focus())}};return document.addEventListener("pointerdown",K,!0),document.addEventListener("click",G,!0),document.addEventListener("keydown",J),()=>{document.removeEventListener("pointerdown",K,!0),document.removeEventListener("click",G,!0),document.removeEventListener("keydown",J)}},[i,l,E,D]);const T=o.useRef(E);o.useEffect(()=>{T.current=E});const V=!!i;o.useEffect(()=>{if(!(D||!V))return In(()=>T.current())},[D,V]),o.useEffect(()=>{const K=()=>{E(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",K),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",K)}},[E]);const Y=n.jsxs("div",{ref:y,className:`tooltip-content ${D?"tooltip-content--inline":""} ${b?"tooltip-content--bordered":""} ${v?"is-closing":""} ${c} ${N&&f?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{..._,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":g,"data-left":D?"":_.left,"data-top":D?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[C!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:C}),p]});if(D||typeof document>"u")return Y;if(m||N&&f){const K=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&E(!0)}}),Y]});return qt.createPortal(K,document.body)}return qt.createPortal(Y,document.body)}function bn(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(gn,{anchorRect:t,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Fn(e){const{t}=be.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=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:n.jsx(gn,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:p.map((m,f)=>n.jsxs("li",{className:`tooltip-description__item body-3${f===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[f+1,"."]}),m.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),n.jsx("span",{children:m.text})]},f))})]})})}function ba(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Vr=0,gi=!1;function bi(){gi||typeof document>"u"||(gi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Vr=Date.now())},!0),document.addEventListener("touchstart",()=>{Vr=Date.now()},{capture:!0,passive:!0}))}bi();function Xn(e){return!!e&&e.pointerType==="touch"}function Jn(e=1e3){return bi(),Date.now()-Vr<e}function zr(e,t,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=ba(e),l=ba(t),c=o.useRef(null),u=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const f=m,b=m.target,C=a.current,y=!!(b&&C&&C.contains(b));if(f.pointerType!=="touch"){y&&(c.current=null);return}if(y){c.current=i.current;return}c.current=null,i.current&&!(b&&b.closest?.(".tooltip-content"))&&l.current(!1,C)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const d=o.useCallback(p=>{const m=c.current;return m===null?!1:(c.current=null,u.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 f=null;const b=_=>{const h=_.changedTouches?.[0];if(!h)return!1;const v=p.getBoundingClientRect();return h.clientX>=v.left&&h.clientX<=v.right&&h.clientY>=v.top&&h.clientY<=v.bottom},C=_=>{f=b(_)?i.current:null},y=_=>{const h=f;f=null,!(h===null||Date.now()-u.current<700||!b(_))&&(c.current=null,u.current=Date.now(),l.current(!h,p))};return m.addEventListener("touchstart",C,{passive:!0}),m.addEventListener("touchend",y),()=>{m.removeEventListener("touchstart",C),m.removeEventListener("touchend",y)}},[r,s,a,i,l]),{touchPress:d}}function tf(e,t){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:c,icon:u,rightIcon:d,label:p,count:m,subLabel:f,children:b,ariaLabel:C,variant:y="default",align:_="center",selected:h,toggleable:v=!1,ariaExpanded:x,ariaControls:g,disabled:k=!1,useLabel:w=!0,useBorder:B=!0,useBG:N=!0,useDisabledCovered:A=!1,useDisabledInvisible:D=!1,width:F,minWidth:$,onClick:R,onDisabledClick:U,showTooltipInfo:E=!1,tooltipInfoText:T=null,tooltipDescription:V=null,tooltipOnly:Y=!1,iconSize:K="medium",iconColor:G,shape:J="rounded",color:O,className:I,...S}=e,H=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),P=H.match(/^\d+$/)?`button${H}`:`button-${H}`,M=Number(a),L=!isNaN(M)&&M<40?"button-2":"button-1",X=p??b,W=k||!!S.disabled,ae=W?A?"disabled-covered":D?"disabled-invisibled":"disabled":y,ue=ae?`button--variant-${ae}`:"",Se=_?`button--align-${_}`:"",pe=J?`button--shape-${J}`:"",re=typeof G=="string"&&G.startsWith("--")?`var(${G})`:G,q={...F?{width:typeof F=="number"?`${F}px`:F}:{},...$?{minWidth:typeof $=="number"?`${$}px`:$}:{},...B?{}:{"--button-border":W?"0":"1px solid transparent"},...re?{"--button-icon-color":re}:{},...O?{"--color-main":O}:{}},se=w===!1?"":X,de=Array.isArray(se)?se.length>0:!!se,ve=!!d,ye=r??(de||u||ve?"bar":"dot"),Be=`${P}--${ye}`,he=o.useRef(null),ke=o.useRef(t);ke.current=t;const je=o.useCallback(Le=>{he.current=Le;const Ke=ke.current;typeof Ke=="function"?Ke(Le):Ke&&(Ke.current=Le)},[]),oe=o.useRef(W),[ee,fe]=o.useState(!!h),[te,ge]=o.useState(!1),[_e,Ye]=o.useState(null),He=o.useCallback(()=>ge(!1),[]),[Ue,Ee]=o.useState(!1),Ge=o.useId();o.useEffect(()=>{typeof h=="boolean"&&fe(h)},[h]),o.useEffect(()=>{if(oe.current&&!W&&he.current){const Le=he.current;let Ke=!1;try{Ke=Le.matches(":focus:not(:focus-visible)")}catch{Ke=!1}Ke&&Le.blur(),Le.style.pointerEvents="none";const St=requestAnimationFrame(()=>{requestAnimationFrame(()=>{he.current&&(he.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(St)}oe.current=W},[W]);const $e=typeof h=="boolean"?!!h:ee,Ie=typeof x=="boolean"?void 0:v||typeof h=="boolean"?$e?"true":"false":S["aria-pressed"],Ve=De("button",P,Be,ue,Se,pe,$e?"is-selected":null,N?null:"button--no-bg",Y?"button--tooltip-only":null,I),at=`button__icon button__icon--${K}`,ot=Array.isArray(f)?f:f!==void 0?[f]:[],We=()=>{if(Array.isArray(se))return se.map((Ke,St)=>{const xt=ot[St];return n.jsxs("span",{className:`button__label-text${xt!==void 0?" button__label-text--has-sub":""}`,children:[Ke,xt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:xt})]},St)});const Le=f!==void 0;return n.jsxs("span",{className:`button__label-text${Le?" button__label-text--has-sub":""}`,children:[se,m!=null&&n.jsx("span",{className:"button__count",children:m}),Le&&n.jsx("span",{className:"button__sub-label-text caption-1",children:f})]})},Xe=Le=>{typeof h!="boolean"&&!v&&fe(!1),Le.currentTarget.blur()},gt=Le=>{W||(typeof S.onMouseLeave=="function"&&S.onMouseLeave(Le),Xe(Le))},Bt=Le=>{if(Y&&Qe&&Ze.touchPress(Le.currentTarget),W){Qe&&Ze.touchPress(Le.currentTarget),Le.preventDefault(),U?.(Le);return}typeof h!="boolean"&&v&&fe(Ke=>!Ke),R?.(Le)},jt=o.useCallback(()=>{(E||V)&&(ge(!0),Ye(he.current?.getBoundingClientRect()??null))},[E,V]),dt=o.useCallback(()=>{(E||V)&&(ge(!1),Ye(null))},[E,V]),Qe=!!(E||V),Ze=zr(te,Le=>{Le?jt():dt()},he,{enabled:Qe&&(W||Y),fallbackOnParent:Qe&&W}),Oe={...S};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,W&&(Object.keys(Oe).forEach(Le=>{/^on[A-Z]/.test(Le)&&typeof Oe[Le]=="function"&&delete Oe[Le]}),Oe["aria-disabled"]="true");const rt=(typeof E=="string"?E:null)??(typeof T=="string"?T:null)??(typeof C=="string"?C:null)??(typeof X=="string"?X:null)??void 0,et=typeof C=="string"?C:typeof X=="string"?X:rt,yt=V?[V.title,...V.items??[]].filter(Boolean).join(". "):E&&rt&&rt!==et?rt:"",ze=[typeof S["aria-describedby"]=="string"?S["aria-describedby"]:void 0,yt?Ge:null].filter(Boolean).join(" ")||void 0,it=(Le,Ke)=>n.jsx(qe,{icon:Le,label:Ke??et,className:at,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Nt=()=>ye==="dot"?n.jsxs(n.Fragment,{children:[it(u),de&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}):_==="center"&&u?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:it(u)}),de&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}),ve&&n.jsx("span",{className:"button__right",children:it(d)})]}):n.jsxs(n.Fragment,{children:[u&&n.jsx("span",{className:"button__left",children:it(u,C??X)}),de&&n.jsx("span",{className:`button__label ${L}`,children:We()}),ve&&n.jsx("span",{className:"button__right",children:it(d)})]}),Dt=!!i&&!W;return n.jsxs(n.Fragment,{children:[n.jsxs(Dt?"a":"button",{...Oe,ref:je,...Dt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:W&&!U&&!Ue},className:Ve,"aria-pressed":Ie,"aria-expanded":typeof x=="boolean"?x:S["aria-expanded"],"aria-controls":g??S["aria-controls"],"aria-label":et,"aria-disabled":W&&(Dt||U||Ue)?!0:void 0,"aria-describedby":ze,style:q,onClick:Bt,onMouseLeave:gt,onPointerEnter:Le=>{Xn(Le)||jt(),!W&&typeof S.onPointerEnter=="function"&&S.onPointerEnter(Le)},onPointerLeave:Le=>{Xn(Le)||dt(),!W&&typeof S.onPointerLeave=="function"&&S.onPointerLeave(Le)},onPointerUp:Le=>{W&&Qe&&Ze.touchPress(Le.currentTarget),!W&&typeof S.onPointerUp=="function"&&S.onPointerUp(Le)},onFocus:Le=>{Ee(!0),Jn()||jt(),!W&&typeof S.onFocus=="function"&&S.onFocus(Le)},onBlur:Le=>{Ee(!1),W||Xe(Le),dt(),!W&&typeof S.onBlur=="function"&&S.onBlur(Le)},children:[Nt(),yt?n.jsx("span",{id:Ge,hidden:!0,"aria-label":yt}):null]}),te&&V?n.jsx(Fn,{anchorRect:_e,title:V.title,items:V.items,onClose:He}):te&&rt?n.jsx(bn,{anchorRect:_e,text:rt,onClose:He}):null]})}const le=o.forwardRef(tf);le.displayName="Button";var nf={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",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",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",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",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.",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."},af={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"},rf={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",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},of={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},sf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},lf={selected:"\uC120\uD0DD\uB428"},cf={placeholder:"\uC120\uD0DD"},uf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},df={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"},pf={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",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"},mf={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."}}},hf={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."}},ff={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"}}},Cf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},gf={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",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"}},bf={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"},yf={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"}},vf={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"}}}},xf={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"}},_f={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},wf={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"}},kf={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."}},Af={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Bf={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"},Nf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Df={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",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",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\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",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"}},Sf={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"}},Ef={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},jf={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"}},Tf={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"}},Mf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Lf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},$f={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"}},Rf={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"}},Pf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},If={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"}},Ff={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
847
|
+
`),this.name="StorageNotConfiguredError"}};function q0(e){W0(e)}function Hs(e,t){if(!e)return null;const a=ma();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function zs(e){if(!e)return null;const t=ma();if(!t)throw new Os("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Vs(e){const t=ma();if(!t)throw new Os("downloadSound");return t.download(e)}function U0(){return ma()?.noiseBaseUrl??"/sounds/noise"}function Ws(){const e=Number(ma()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function G0(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const qs="__ihab_core_tts_config__";function Br(){return globalThis[qs]?.urlResolver??null}function K0(){return globalThis[qs]?.fallbackUrlResolver??null}const Y0="__ihab_core_pronunciation_resolver__";function Z0(){return globalThis[Y0]??null}let Nn=null;const ha=new WeakMap,Nr=new WeakMap,Dr=new WeakMap;let Us=!1;const Gs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function X0(){if(Us||typeof document>"u")return;Us=!0;const e=()=>{try{Nn&&Nn.state!=="running"&&Nn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function Ks(){if(Nn)return Nn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Nn=new e,X0(),Nn):null}catch{return null}}function Sr(){try{Nn?.resume()}catch{}}function Er(e,t){const a=ha.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=Gs(Nr.get(t)??t.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{t.volume=1}catch{}const l={gain:s,analyser:i};return ha.set(t,l),l}catch{return null}}function Ia(e){if(!e)return Promise.resolve(null);const t=ha.get(e);if(t)return Promise.resolve(t.analyser);const a=Ks();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Er(a,e)?.analyser??null);const r=Dr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Er(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Dr.delete(e)});return Dr.set(e,s),s}function J0(e){if(!e)return null;const t=ha.get(e);if(t)return t.analyser;const a=Ks();return a?a.state==="running"?Er(a,e)?.analyser??null:(Ia(e),null):null}function Dn(e,t){const a=Gs(t);Nr.set(e,a);const r=ha.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 Fa(e){return Nr.get(e)??e.volume}function Q0(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const s=t[r];a+=s*s}return Math.sqrt(a/t.length)}const e2="__ihab_core_image_config__";function Gn(){return globalThis[e2]??null}const Ys="word_image_existence_map_v1";let Pn=null;const Oa=new Map;function t2(){if(Pn)return Pn;try{const e=typeof localStorage<"u"?localStorage.getItem(Ys):null,t=e?JSON.parse(e):null;Pn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Pn={}}return Pn}let jr=null;function n2(){jr||(jr=setTimeout(()=>{jr=null;try{typeof localStorage<"u"&&Pn&&localStorage.setItem(Ys,JSON.stringify(Pn))}catch{}},200))}function a2(e,t){return`${e}_${t??1}`}async function Zs(e,t){const a=t2(),r=a2(e,t);if(r in a)return a[r];if(Oa.has(r))return Oa.get(r);const s=Gn();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:G0(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Oa.delete(r),c===null?!1:(a[r]=c,n2(),c)));return Oa.set(r,l),l}const Xs=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Js=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],r2=["","\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 fa(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function o2(e){const t=fa(e[0]||"");return t?Xs[t.cho]:""}function s2(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>Xs.includes(l),r=l=>Js.includes(l),s=t.map(l=>a(l)?"cho":r(l)?"jung":fa(l)?"syl":"other"),i=t.map(l=>fa(l));if(s.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let p=0;p<t.length;p++){const m=c[u+p],h=s[p];if(h==="cho"){if(o2(m)!==t[p]){d=!1;break}}else if(h==="jung"){const v=fa(m);if(!v||Js[v.jung]!==t[p]){d=!1;break}}else{const v=i[p];if(v&&v.jong===0){const y=fa(m);if(!y||y.cho!==v.cho||y.jung!==v.jung){d=!1;break}}else if(m!==t[p]){d=!1;break}}}if(d)return!0}return!1}}const i2={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(i2).map(([e,t])=>[t.join(""),r2[Number(e)]]));const l2="word_pair_index_v2",c2="word_pair_index_sig_v2";let Ha=null;function u2(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(l2),t=localStorage.getItem(c2);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function d2(){if(Ha)return Ha;const e=u2();return e?(Ha=e.index,e.sig,Ha):null}const p2={\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"}},Tr=/[ㄱ-ㅎ]/,m2=/[ㅏ-ㅣ]/;function Qs(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Tr.test(a)||m2.test(a))return a}return null}function h2(e){const t=Qs(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Tr.test(t)?"\uC774":"\uAC00"}function f2(e){return`${e}${h2(e)}`}function C2(e){const t=Qs(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Tr.test(t)?"\uC744":"\uB97C"}function g2(e){return`${e}${C2(e)}`}function b2(e,t,a){const r=e.slice(),[s]=r.splice(t,1);return r.splice(a,0,s),r}function Ca(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(t()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const y2=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof Dt?.t=="function"?Dt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function ei(e,t){if(t===void 0&&(t=y2()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;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 t}const v2="__ihab_core_word_pool__";function ti(){return globalThis[v2]??null}const ni=globalThis;function ai(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function x2(e){ai("time",()=>ni.__ihabTrainingTimeLogger?.(e))}function _2(e){ai("completion",()=>ni.__ihabTrainingCompletionLogger?.(e))}function Ot(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function w2(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function k2(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Ot(r.contextCode)??Ot(r.itemId)??Ot(r.itemCode)??Ot(r.id),question:Ot(r.question)??Ot(r.q)??Ot(r.sentence)??Ot(r.text)??Ot(r.prompt)??Ot(r.word)??Ot(r.targetSyllable),answer:Ot(r.answer),selected:Ot(r.selectedText)??Ot(r.selected),correct:w2(r)}}):[]}const Mr=globalThis;async function A2(){try{return await Mr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ri(e){const t=a=>{};try{const a=Mr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function za(e){try{Mr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function B2(e){if(typeof document<"u"){const t=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),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.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 N2=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function oi(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=N2.exec(a);t=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 t=new Date(e);return Number.isNaN(t.getTime())?null:t}function ga(){return $r(new Date)}function Lr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ga()}function Kn(){return S2(ga())}const D2=540*60*1e3;function si(e,t,a){return new Date(Date.UTC(e,t,a)-D2)}function S2(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function $r(e){if(e==null||e==="")return"";const t=oi(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function ii(e,t){if(!e)return"";const a=oi(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),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:p})}function li(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=$r(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),p=r?u:String(Number(u)),m=r?d:String(Number(d));return`${c}${a}${p}${a}${m}${s?".":""}`}function Yn(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function ci(e,t){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?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function Rr(e){return(e??0).toLocaleString("ko-KR")}const E2=[{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"}]}],j2=[{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 ui(){return E2}function T2(){return j2}const M2=[],L2=[],$2=[],R2=[];function P2(){return{LISTEN_IN_NOISE:M2,SHORT_STORY:L2,LONG_STORY:$2,ORDERING_SENTENCE:R2}}const I2=[{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."}],di={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function F2(e){return I2.map(t=>{const a=di[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Va=null,pi=null,mi=null;function O2(){const e=ti();if(e&&e.entries.length>0){const t=d2();if(Va&&pi===e&&mi===t)return Va;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:t?.[s.word]?[...t[s.word].cho??[],...t[s.word].jung??[],...t[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return Va=r,pi=e,mi=t,Va}return[]}new Proxy([],{get(e,t){const a=O2(),r=a[t];return typeof r=="function"?r.bind(a):r}});const H2="0.179.0";function z2(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function V2(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&z2(r.attrValue)&&(r.keepAttr=!1)};kr.addHook("uponSanitizeAttribute",t);try{return kr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{kr.removeHook("uponSanitizeAttribute",t)}}function W2(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[c,u]=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=Ar(e):/^(Logo|Symbol)/i.test(d)?p=Ar(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function p(){try{let m=await fetch(t);m.ok||(m=await fetch(t));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 v=await fetch(t);if(!v.ok)throw new Error("not ok");const y=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(y)){const g=V2(y);if(!g){s("none");return}l(g),s("inline");return}s("none")}catch{d||s("none")}}return p(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,p=null;return r==="mask"&&t&&fetch(t).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{d||(p=URL.createObjectURL(m),u(p))}).catch(()=>{d||s("img")}),()=>{d=!0,p&&URL.revokeObjectURL(p),u(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function We(e){const{icon:t,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,y=s0(v),{iconToUse:g,mode:_,svgText:f,blobUrl:C}=W2(v),x=(N,A={})=>n.jsx("span",{className:d,style:c,...A,children:N}),b=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,w=(N,A={})=>n.jsx("img",{src:N,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:b?{...A.style,...b}:A.style});if(!t)return null;if(typeof t!="string")return x(t);if(t==="none")return x(n.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(y)try{return x(o.createElement(y,{className:h,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(_==="mask"){const N={"--icon-url":C?`url(${C})`:`url(${g})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return x(n.jsx("span",{className:m,style:N}),{"aria-hidden":"true"})}return _==="img"?x(w(g,{onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):_==="inline"?x(n.jsx("span",{className:h,dangerouslySetInnerHTML:f?{__html:f}:void 0}),{"aria-hidden":"true"}):x(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return w(Ar(t),{style:c,onError:N=>{N.currentTarget.onerror=null,N.currentTarget.style.display="none"}});const k=typeof u=="number"?u:20,B=`<svg width="${k}" height="${k}" 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 x(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function hi(e){const[t,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 c=()=>{r.current=!1,s.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function q2({icon:e,emoji:t,title:a,message:r,hint:s,action:i,compact:l,className:c}){const{pending:u,press:d}=hi(i?.onClick);return n.jsxs("div",{className:Se("empty-state",l&&"empty-state--compact",c),children:[t&&n.jsx("span",{className:"empty-state__emoji",children:t}),e&&n.jsx(We,{icon:e,className:"empty-state__icon"}),a&&n.jsx("p",{className:"empty-state__title body-2",children:a}),r&&n.jsx("p",{className:"empty-state__message body-3",children:r}),s&&n.jsx("p",{className:"empty-state__hint caption-1",children:s}),i&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[i.icon&&n.jsx(We,{icon:i.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:i.label})]})]})}function U2({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=ve.useTranslation(),{pending:c,press:u}=hi(r);return n.jsxs("div",{className:Se("empty-state","error-state",i),role:"alert",children:[n.jsx(We,{icon:a,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[n.jsx(We,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function G2({icon:e,title:t,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:c=""}){const u=o.useId(),d=`${u}-title`,p=`${u}-desc`,m=`${u}-cta`,h=()=>{i||l?.()};return n.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${p} ${m}`,onClick:h,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),h())},className:Se("action-card",`action-card--${s}`,i&&"action-card--disabled",c),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(We,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:p,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:m,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(We,{icon:"arrow-right",size:18})})]})]})})}function K2({as:e="div",className:t="",children:a,storage:r,...s}){r&&q0({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=Se("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Pr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Cn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;s.shiftKey&&(u===l||d)?(s.preventDefault(),c.focus()):!s.shiftKey&&u===c&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const Cn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Ir=new WeakMap;function Fr(e,t){e&&Ir.set(e,t)}function Or(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Ir.has(r);)r=r.parentElement;if(!r)return t;t=Ir.get(r)??null}return t}function fi(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 Wa(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(fi(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(Cn)).filter(u=>!(e&&e.contains(u))&&fi(u));let i=null,l=null;for(const u of s)r.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}function Y2({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:c}=ve.useTranslation(),[u,d]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const g=p.current;g&&g.contains(document.activeElement)&&Wa(g),d(!0)},[]);if(u)return null;const h=`notice-box notice-box--${s} body-2 ${l}`.trim(),v=i&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:h,role:"note",children:[a.map((g,_)=>n.jsxs("div",{className:"notice-box__inner",children:[g.title?n.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,n.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?n.jsx("div",{children:g.lines.map((f,C)=>n.jsx("span",{className:"notice-box__line body-3",children:f},C))}):g.children??null})]},_)),v]});const y=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((g,_)=>n.jsx("li",{className:"notice-box__line",children:g},_))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:p,className:h,role:"note",children:[y,v]})}const Zn=[];let qa=!1;function Ci(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=Zn[Zn.length-1];t&&(e.stopPropagation(),t())}function In(e){return Zn.push(e),!qa&&typeof document<"u"&&(document.addEventListener("keydown",Ci),qa=!0),()=>{const t=Zn.lastIndexOf(e);t>=0&&Zn.splice(t,1),Zn.length===0&&qa&&typeof document<"u"&&(document.removeEventListener("keydown",Ci),qa=!1)}}const gi=o.createContext(null);function Z2(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const bi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function X2(e){const t=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 Xo.useSyncExternalStore(t,()=>bi(e),()=>!1)}function J2(e){const[t,a]=o.useState(bi(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]),t}const Q2=typeof Xo.useSyncExternalStore=="function"?X2:J2;function nn(e){const t=o.useContext(gi),a=Q2(e);return t&&typeof t.mobile=="boolean"&&Z2(e)?t.mobile:a}const ef="(prefers-reduced-motion: reduce)";function Hr(){return nn(ef)}function gn(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:p,backdrop:m=!1,isMobilePopup:h=!1,useBorder:v=!0,header:y}=e||{},g=o.useRef(null),[_,f]=o.useState({position:"fixed",left:0,top:-9999}),[C,x]=o.useState(!1),[b,w]=o.useState("bottom"),[k,B]=o.useState(!1),[N,A]=o.useState(!1),D=!t&&!a,H=o.useCallback((Z=!1)=>{if(N&&h)return;const q=a?a.getBoundingClientRect():t;if(!q||!g.current)return;const te=g.current,{offsetWidth:O,offsetHeight:L}=te,E=window.innerWidth,I=window.innerHeight,F=E-q.right,$=q.left,T=q.top,Y=I-q.bottom;let U=0,J=0,ce="top";if(T>=L+r)ce="top",J=q.top-r-L,U=q.left+q.width/2-O/2;else if(Y>=L+r)ce="bottom",J=q.bottom+r,U=q.left+q.width/2-O/2;else if(F>=O+r)ce="right",U=q.right+r,J=q.top+q.height/2-L/2;else if($>=O+r)ce="left",U=q.left-r-O,J=q.top+q.height/2-L/2;else{const W=Math.max(T,Y,F,$);W===T?(ce="top",J=q.top-r-L,U=q.left+q.width/2-O/2):W===Y?(ce="bottom",J=q.bottom+r,U=q.left+q.width/2-O/2):W===F?(ce="right",U=q.right+r,J=q.top+q.height/2-L/2):(ce="left",U=q.left-r-O,J=q.top+q.height/2-L/2)}const Ee=Number.isFinite(Number(s))?Number(s):8;U=Math.min(Math.max(U,Ee),E-O-Ee),J=Math.min(Math.max(J,Ee),I-L-Ee);const de=Math.round(U),re=Math.round(J);Z&&g.current?(g.current.style.left=`${de}px`,g.current.style.top=`${re}px`,g.current.dataset.placement=ce):(w(ce||b),f({position:"fixed",left:de,top:re}),B(!0))},[N,h,a,t,r,s,b]);o.useLayoutEffect(()=>{if(D)return;if(N&&h){f({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}H();const Z=requestAnimationFrame(()=>H());return()=>cancelAnimationFrame(Z)},[t,a,r,p,s,D,N,h,H]),o.useEffect(()=>{if(D||N&&h||!g.current||typeof ResizeObserver>"u")return;const Z=new ResizeObserver(()=>{t&&H()});return Z.observe(g.current),()=>Z.disconnect()},[t,p,s,D,N,h,H]),o.useEffect(()=>{if(D||N&&h)return;const Z=()=>H(!0),q=te=>{if(!a&&i){const O=te.target;if(O&&g.current&&g.current.contains(O))return;try{if(O&&O.closest&&O.closest("[data-tooltip-ignore]"))return}catch{}M.current(!0);return}Z()};return window.addEventListener("resize",Z),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",Z),document.removeEventListener("scroll",q,{capture:!0})}},[t,a,i,r,p,s,D,N,h,H]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const Z=window.matchMedia("(max-width: 768px)"),q=()=>A(!!Z.matches);q();try{Z.addEventListener?Z.addEventListener("change",q):Z.addListener(q)}catch{try{Z.addListener(q)}catch{}}return()=>{try{Z.removeEventListener?Z.removeEventListener("change",q):Z.removeListener(q)}catch{}}},[]);const R=o.useRef(!1),P=o.useRef(null),G=Hr(),S=o.useCallback((Z=!1)=>{if(i&&!(C||R.current)){if(R.current=!0,Z){x(!0);try{i&&i()}catch{R.current=!1,x(!1)}return}x(!0),P.current=setTimeout(()=>{P.current=null;try{i&&i()}catch{R.current=!1,x(!1)}},G?0:200)}},[C,i,x,G]);o.useEffect(()=>()=>{P.current&&clearTimeout(P.current)},[]),o.useEffect(()=>{if(D)return;const Z=O=>{const L=g.current;if(!L)return;const E=O.target;if(E&&!L.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},q=O=>{const L=g.current;if(!L)return;const E=O.target;if(E&&!L.contains(E)){try{if(E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},te=O=>{if(O.key==="Tab"){const L=g.current;if(!L)return;const E=L.querySelectorAll(Cn);if(!E||E.length===0)return;const I=E[0],F=E[E.length-1],$=document.activeElement;O.shiftKey?$===I&&(O.preventDefault(),F.focus()):$===F&&(O.preventDefault(),I.focus())}};return document.addEventListener("pointerdown",Z,!0),document.addEventListener("click",q,!0),document.addEventListener("keydown",te),()=>{document.removeEventListener("pointerdown",Z,!0),document.removeEventListener("click",q,!0),document.removeEventListener("keydown",te)}},[i,l,S,D]);const M=o.useRef(S);o.useEffect(()=>{M.current=S});const z=!!i;o.useEffect(()=>{if(!(D||!z))return In(()=>M.current())},[D,z]),o.useEffect(()=>{const Z=()=>{S(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",Z),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",Z)}},[S]);const K=n.jsxs("div",{ref:g,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${C?"is-closing":""} ${c} ${N&&h?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{..._,visibility:k?"visible":"hidden"},tabIndex:-1,"data-placement":b,"data-left":D?"":_.left,"data-top":D?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[y!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:y}),p]});if(D||typeof document>"u")return K;if(m||N&&h){const Z=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&S(!0)}}),K]});return Ut.createPortal(Z,document.body)}return Ut.createPortal(K,document.body)}function bn(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(gn,{anchorRect:t,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Fn(e){const{t}=ve.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=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:n.jsx(gn,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:p.map((m,h)=>n.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),m.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),n.jsx("span",{children:m.text})]},h))})]})})}function ba(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let zr=0,yi=!1;function vi(){yi||typeof document>"u"||(yi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(zr=Date.now())},!0),document.addEventListener("touchstart",()=>{zr=Date.now()},{capture:!0,passive:!0}))}vi();function Xn(e){return!!e&&e.pointerType==="touch"}function Jn(e=1e3){return vi(),Date.now()-zr<e}function Vr(e,t,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=ba(e),l=ba(t),c=o.useRef(null),u=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const h=m,v=m.target,y=a.current,g=!!(v&&y&&y.contains(v));if(h.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,y)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const d=o.useCallback(p=>{const m=c.current;return m===null?!1:(c.current=null,u.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 v=_=>{const f=_.changedTouches?.[0];if(!f)return!1;const C=p.getBoundingClientRect();return f.clientX>=C.left&&f.clientX<=C.right&&f.clientY>=C.top&&f.clientY<=C.bottom},y=_=>{h=v(_)?i.current:null},g=_=>{const f=h;h=null,!(f===null||Date.now()-u.current<700||!v(_))&&(c.current=null,u.current=Date.now(),l.current(!f,p))};return m.addEventListener("touchstart",y,{passive:!0}),m.addEventListener("touchend",g),()=>{m.removeEventListener("touchstart",y),m.removeEventListener("touchend",g)}},[r,s,a,i,l]),{touchPress:d}}function tf(e,t){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:c,icon:u,rightIcon:d,label:p,count:m,subLabel:h,children:v,ariaLabel:y,variant:g="default",align:_="center",nowrap:f=!1,selected:C,toggleable:x=!1,ariaExpanded:b,ariaControls:w,disabled:k=!1,useLabel:B=!0,useBorder:N=!0,useBG:A=!0,useDisabledCovered:D=!1,useDisabledInvisible:H=!1,width:R,minWidth:P,onClick:G,onDisabledClick:S,showTooltipInfo:M=!1,tooltipInfoText:z=null,tooltipDescription:K=null,tooltipOnly:Z=!1,iconSize:q="medium",iconColor:te,shape:O="rounded",color:L,className:E,...I}=e,F=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),$=F.match(/^\d+$/)?`button${F}`:`button-${F}`,T=Number(a),Y=!isNaN(T)&&T<40?"button-2":"button-1",U=p??v,J=k||!!I.disabled,ce=J?D?"disabled-covered":H?"disabled-invisibled":"disabled":g,Ee=ce?`button--variant-${ce}`:"",de=_?`button--align-${_}`:"",re=f?"button--nowrap":"",W=O?`button--shape-${O}`:"",ie=typeof te=="string"&&te.startsWith("--")?`var(${te})`:te,pe={...R?{width:typeof R=="number"?`${R}px`:R}:{},...P?{minWidth:typeof P=="number"?`${P}px`:P}:{},...N?{}:{"--button-border":J?"0":"1px solid transparent"},...ie?{"--button-icon-color":ie}:{},...L?{"--color-main":L}:{}},ye=B===!1?"":U,ge=Array.isArray(ye)?ye.length>0:!!ye,we=!!d,Ce=r??(ge||u||we?"bar":"dot"),Be=`${$}--${Ce}`,De=o.useRef(null),oe=o.useRef(t);oe.current=t;const ee=o.useCallback(Re=>{De.current=Re;const at=oe.current;typeof at=="function"?at(Re):at&&(at.current=Re)},[]),fe=o.useRef(J),[ae,be]=o.useState(!!C),[_e,Ke]=o.useState(!1),[Ve,qe]=o.useState(null),je=o.useCallback(()=>Ke(!1),[]),[Ue,Le]=o.useState(!1),Ie=o.useId();o.useEffect(()=>{typeof C=="boolean"&&be(C)},[C]),o.useEffect(()=>{if(fe.current&&!J&&De.current){const Re=De.current;let at=!1;try{at=Re.matches(":focus:not(:focus-visible)")}catch{at=!1}at&&Re.blur(),Re.style.pointerEvents="none";const gt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{De.current&&(De.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(gt)}fe.current=J},[J]);const ze=typeof C=="boolean"?!!C:ae,nt=typeof b=="boolean"?void 0:x||typeof C=="boolean"?ze?"true":"false":I["aria-pressed"],ot=Se("button",$,Be,Ee,de,re,W,ze?"is-selected":null,A?null:"button--no-bg",Z?"button--tooltip-only":null,E),Ge=`button__icon button__icon--${q}`,Xe=Array.isArray(h)?h:h!==void 0?[h]:[],ht=()=>{if(Array.isArray(ye))return ye.map((at,gt)=>{const Vt=Xe[gt];return n.jsxs("span",{className:`button__label-text${Vt!==void 0?" button__label-text--has-sub":""}`,children:[at,Vt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:Vt})]},gt)});const Re=h!==void 0;return n.jsxs("span",{className:`button__label-text${Re?" button__label-text--has-sub":""}`,children:[ye,m!=null&&n.jsx("span",{className:"button__count",children:m}),Re&&n.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},At=Re=>{typeof C!="boolean"&&!x&&be(!1),Re.currentTarget.blur()},zt=Re=>{J||(typeof I.onMouseLeave=="function"&&I.onMouseLeave(Re),At(Re))},Ct=Re=>{if(Z&&Je&&it.touchPress(Re.currentTarget),J){Je&&it.touchPress(Re.currentTarget),Re.preventDefault(),S?.(Re);return}typeof C!="boolean"&&x&&be(at=>!at),G?.(Re)},et=o.useCallback(()=>{(M||K)&&(Ke(!0),qe(De.current?.getBoundingClientRect()??null))},[M,K]),Ye=o.useCallback(()=>{(M||K)&&(Ke(!1),qe(null))},[M,K]),Je=!!(M||K),it=Vr(_e,Re=>{Re?et():Ye()},De,{enabled:Je&&(J||Z),fallbackOnParent:Je&&J}),Oe={...I};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,J&&(Object.keys(Oe).forEach(Re=>{/^on[A-Z]/.test(Re)&&typeof Oe[Re]=="function"&&delete Oe[Re]}),Oe["aria-disabled"]="true");const ft=(typeof M=="string"?M:null)??(typeof z=="string"?z:null)??(typeof y=="string"?y:null)??(typeof U=="string"?U:null)??void 0,He=typeof y=="string"?y:typeof U=="string"?U:ft,dt=K?[K.title,...K.items??[]].filter(Boolean).join(". "):M&&ft&&ft!==He?ft:"",Et=[typeof I["aria-describedby"]=="string"?I["aria-describedby"]:void 0,dt?Ie:null].filter(Boolean).join(" ")||void 0,wt=(Re,at)=>n.jsx(We,{icon:Re,label:at??He,className:Ge,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),xt=()=>Ce==="dot"?n.jsxs(n.Fragment,{children:[wt(u),ge&&n.jsx("span",{className:`button__label ${Y}`,children:ht()})]}):_==="center"&&u?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:wt(u)}),ge&&n.jsx("span",{className:`button__label ${Y}`,children:ht()})]}),we&&n.jsx("span",{className:"button__right",children:wt(d)})]}):n.jsxs(n.Fragment,{children:[u&&n.jsx("span",{className:"button__left",children:wt(u,y??U)}),ge&&n.jsx("span",{className:`button__label ${Y}`,children:ht()}),we&&n.jsx("span",{className:"button__right",children:wt(d)})]}),rt=!!i&&!J;return n.jsxs(n.Fragment,{children:[n.jsxs(rt?"a":"button",{...Oe,ref:ee,...rt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:J&&!S&&!Ue},className:ot,"aria-pressed":nt,"aria-expanded":typeof b=="boolean"?b:I["aria-expanded"],"aria-controls":w??I["aria-controls"],"aria-label":He,"aria-disabled":J&&(rt||S||Ue)?!0:void 0,"aria-describedby":Et,style:pe,onClick:Ct,onMouseLeave:zt,onPointerEnter:Re=>{Xn(Re)||et(),!J&&typeof I.onPointerEnter=="function"&&I.onPointerEnter(Re)},onPointerLeave:Re=>{Xn(Re)||Ye(),!J&&typeof I.onPointerLeave=="function"&&I.onPointerLeave(Re)},onPointerUp:Re=>{J&&Je&&it.touchPress(Re.currentTarget),!J&&typeof I.onPointerUp=="function"&&I.onPointerUp(Re)},onFocus:Re=>{Le(!0),Jn()||et(),!J&&typeof I.onFocus=="function"&&I.onFocus(Re)},onBlur:Re=>{Le(!1),J||At(Re),Ye(),!J&&typeof I.onBlur=="function"&&I.onBlur(Re)},children:[xt(),dt?n.jsx("span",{id:Ie,hidden:!0,"aria-label":dt}):null]}),_e&&K?n.jsx(Fn,{anchorRect:Ve,title:K.title,items:K.items,onClose:je}):_e&&ft?n.jsx(bn,{anchorRect:Ve,text:ft,onClose:je}):null]})}const le=o.forwardRef(tf);le.displayName="Button";var nf={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",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",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",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",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.",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."},af={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"},rf={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",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},of={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},sf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},lf={selected:"\uC120\uD0DD\uB428"},cf={placeholder:"\uC120\uD0DD"},uf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},df={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"},pf={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",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"},mf={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."}}},hf={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."}},ff={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"}}},Cf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},gf={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",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"}},bf={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"},yf={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"}},vf={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"}}}},xf={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"}},_f={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},wf={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"}},kf={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."}},Af={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Bf={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"},Nf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Df={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",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",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\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",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"}},Sf={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"}},Ef={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},jf={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"}},Tf={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"}},Mf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Lf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},$f={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"}},Rf={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"}},Pf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},If={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"}},Ff={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"},Of={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"}}},Hf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Vf={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"}},zf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},Wf={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"},qf={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},Uf={ariaLabel:"\uC120\uD0DD \uD0ED"},Gf={ariaLabel:"\uD0ED"},Kf={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Yf={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Zf={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"}},Xf={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"}},Jf={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"}},Qf={manage:{unit:"\uAC74"}},eC={cancelLabel:"\uCDE8\uC18C"},tC={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},nC={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"},aC={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},rC={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"},oC={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},sC={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},iC={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},lC={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},cC={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"}},uC={clearSelection:"\uC120\uD0DD \uD574\uC81C"},dC={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},pC={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},mC={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},hC={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},fC={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},CC={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},gC={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"},bC={common:nf,calendar:af,passCard:rf,searchField:of,rating:sf,colorPicker:lf,dropdown:cf,accordion:uf,header:df,nav:pf,settings:mf,usage:hf,account:ff,help:Cf,training:gf,trainingSettings:bf,customers:yf,payment:vf,coupons:xf,visits:_f,company:wf,trainingType:kf,myWordTraining:Af,myWordTable:Bf,keyWords:Nf,wordTable:Df,wordSearch:Sf,wordPrint:Ef,topic:jf,accessLinkManager:Tf,login:Mf,trainingPlanRun:Lf,device:$f,manager:Rf,wordPairs:Pf,game:If,footer:Ff,landing:Of,date:Hf,trainingSetPage:Vf,wordTrainingPreview:zf,wordData:Wf,textField:qf,segmentedControl:Uf,tabs:Gf,fileUpload:Kf,avatar:Yf,myHomework:Zf,trainingStatus:Xf,store:Jf,homework:Qf,inquiry:eC,progress:tC,trainingMiss:nC,table:aC,wordScore:rC,topBanner:oC,datePicker:sC,report:iC,tooltip:lC,phonemeProfile:cC,bulkBar:uC,debug:dC,badge:pC,loader:mC,soundCompass:hC,breadcrumb:fC,board:CC,promoBannerBg:gC},yC={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",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",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No 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."},vC={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"},xC={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",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},_C={clearAriaLabel:"Clear search"},wC={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},kC={selected:"selected"},AC={placeholder:"Select"},BC={collapse:"Collapse",expand:"Expand"},NC={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},DC={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",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}}"},SC={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."}}},EC={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"}},jC={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"}}},TC={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},MC={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",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"}},LC={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"},$C={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"}},RC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},PC={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"}},IC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},FC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},OC={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."}},HC={comingSoon:"Word training is coming soon."},VC={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"},zC={title:"Key Words",empty:"No key words available."},WC={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",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",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 a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",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"}},qC={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}}"}},UC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},GC={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"}},KC={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"}},YC={passwordPlaceholder:"Enter password"},ZC={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"}},XC={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"}},JC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},QC={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"}},eg={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"},Of={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"}}},Hf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},zf={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"}},Vf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},Wf={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"},qf={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},Uf={ariaLabel:"\uC120\uD0DD \uD0ED"},Gf={ariaLabel:"\uD0ED"},Kf={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Yf={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Zf={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"}},Xf={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"}},Jf={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"}},Qf={manage:{unit:"\uAC74"}},eC={cancelLabel:"\uCDE8\uC18C"},tC={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},nC={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"},aC={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},rC={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"},oC={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},sC={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},iC={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},lC={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},cC={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"}},uC={clearSelection:"\uC120\uD0DD \uD574\uC81C"},dC={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},pC={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},mC={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},hC={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},fC={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},CC={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},gC={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"},bC={common:nf,calendar:af,passCard:rf,searchField:of,rating:sf,colorPicker:lf,dropdown:cf,accordion:uf,header:df,nav:pf,settings:mf,usage:hf,account:ff,help:Cf,training:gf,trainingSettings:bf,customers:yf,payment:vf,coupons:xf,visits:_f,company:wf,trainingType:kf,myWordTraining:Af,myWordTable:Bf,keyWords:Nf,wordTable:Df,wordSearch:Sf,wordPrint:Ef,topic:jf,accessLinkManager:Tf,login:Mf,trainingPlanRun:Lf,device:$f,manager:Rf,wordPairs:Pf,game:If,footer:Ff,landing:Of,date:Hf,trainingSetPage:zf,wordTrainingPreview:Vf,wordData:Wf,textField:qf,segmentedControl:Uf,tabs:Gf,fileUpload:Kf,avatar:Yf,myHomework:Zf,trainingStatus:Xf,store:Jf,homework:Qf,inquiry:eC,progress:tC,trainingMiss:nC,table:aC,wordScore:rC,topBanner:oC,datePicker:sC,report:iC,tooltip:lC,phonemeProfile:cC,bulkBar:uC,debug:dC,badge:pC,loader:mC,soundCompass:hC,breadcrumb:fC,board:CC,promoBannerBg:gC},yC={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",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",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No 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."},vC={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"},xC={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",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},_C={clearAriaLabel:"Clear search"},wC={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},kC={selected:"selected"},AC={placeholder:"Select"},BC={collapse:"Collapse",expand:"Expand"},NC={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},DC={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",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}}"},SC={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."}}},EC={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"}},jC={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"}}},TC={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},MC={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",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"}},LC={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"},$C={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"}},RC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},PC={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"}},IC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},FC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},OC={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."}},HC={comingSoon:"Word training is coming soon."},zC={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"},VC={title:"Key Words",empty:"No key words available."},WC={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",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",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 a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",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"}},qC={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}}"}},UC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},GC={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"}},KC={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"}},YC={passwordPlaceholder:"Enter password"},ZC={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"}},XC={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"}},JC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},QC={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"}},eg={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"},tg={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"}}},ng={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},ag={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},rg={answer:"Answer",distractor:"Distractor"},og={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},sg={clearAriaLabel:"Clear input"},ig={ariaLabel:"Select tab"},lg={ariaLabel:"Tabs"},cg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},ug={ariaLabel:"User avatar"},dg={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"}},pg={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"}},mg={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)"}},hg={manage:{unit:"item(s)"}},fg={cancelLabel:"Cancel"},Cg={subtitle:"Select a topic to start listening practice."},gg={steps:"Step {{current}} of {{total}}"},bg={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"},yg={resetColumns:"Reset column widths"},vg={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}}"},xg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},_g={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},wg={previewRegion:"Report preview \u2014 scrollable sideways"},kg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Ag={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Bg={clearSelection:"Clear selection"},Ng={showResult:"Show {{type}} result"},Dg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Sg={loading:"Loading"},Eg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},jg={ariaLabel:"Breadcrumb"},Tg={empty:"No items yet."},Mg={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"},Lg={common:yC,calendar:vC,passCard:xC,searchField:_C,rating:wC,colorPicker:kC,dropdown:AC,accordion:BC,header:NC,nav:DC,settings:SC,usage:EC,account:jC,help:TC,training:MC,trainingSettings:LC,customers:$C,payment:RC,coupons:PC,visits:IC,company:FC,trainingType:OC,myWordTraining:HC,myWordTable:VC,keyWords:zC,wordTable:WC,wordSearch:qC,wordPrint:UC,topic:GC,accessLinkManager:KC,login:YC,device:ZC,manager:XC,wordPairs:JC,game:QC,footer:eg,landing:tg,date:ng,trainingSetPage:ag,wordTrainingPreview:rg,wordData:og,textField:sg,segmentedControl:ig,tabs:lg,fileUpload:cg,avatar:ug,myHomework:dg,trainingStatus:pg,store:mg,homework:hg,inquiry:fg,trainingPlanRun:Cg,progress:gg,trainingMiss:bg,table:yg,wordScore:vg,topBanner:xg,datePicker:_g,report:wg,tooltip:kg,phonemeProfile:Ag,bulkBar:Bg,debug:Ng,badge:Dg,loader:Sg,soundCompass:Eg,breadcrumb:jg,board:Tg,promoBannerBg:Mg};const $g=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Wr="ko",Rg="ihab_display_language";function yi(){if(typeof window>"u")return Wr;try{const e=localStorage.getItem(Rg);if(e&&$g.some(t=>t.code===e))return e}catch{}return Wr}function vi(e){try{document.documentElement.lang=e}catch{}}kt.on("languageChanged",vi),vi(yi()),kt.use(be.initReactI18next).init({resources:{ko:{translation:bC},en:{translation:Lg}},lng:yi(),fallbackLng:Wr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function pt(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return t(s,e),()=>a(s)},[e,t,a]),r}const ya={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},qr=new WeakMap;function Ur(e){if(e)return qr.get(e)}function $t(e,t){e&&(e.style.setProperty(ya.title,t.title),e.style.setProperty(ya.description,t.description),qr.set(e,t))}function Rt(e){e&&(e.style.removeProperty(ya.title),e.style.removeProperty(ya.description),qr.delete(e))}const xi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function _i(){const e=pt(xi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const wi={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function ki(){const e=pt(wi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ai={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Bi(){const e=pt(Ai,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Ni={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Di(){const e=pt(Ni,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Si={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ei(){const e=pt(Si,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const ji={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Ti(){const e=pt(ji,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Mi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Li(){const e=pt(Mi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const $i={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ri(){const e=pt($i,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Pi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Ii(){const e=pt(Pi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Fi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Oi(){const e=pt(Fi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Hi={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Vi(){const e=pt(Hi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Wi(){const e=pt(zi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const qi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Ui(){const e=pt(qi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Gi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Ki(){const e=pt(Gi,$t,Rt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Vt=(e,t,a)=>({key:e,get label(){return kt.t(`promoBannerBg.${e}`,t)},textTone:a}),Pg=[Vt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("soft","\uC18C\uD504\uD2B8","dark"),Vt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Vt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Vt("warm","\uC6DC(\uAC15\uC870)","dark"),Vt("dark","\uB2E4\uD06C","light"),Vt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Vt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Vt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Vt("success","\uC131\uACF5/\uC644\uB8CC","light"),Vt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Vt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Yi={main:_i,soft:ki,sub:Bi,deep:Di,softSub:Ei,warm:Ti,dark:Li,radial:Ri,diagonal:Ii,dots:Oi,outline:Vi,success:Wi,naver:Ui,instagram:Ki};function Zi({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=x=>Math.max(a,Math.min(r,Number(x))),c=x=>{try{const g=localStorage.getItem(x),k=g?Number(g):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[u,d]=o.useState(()=>c(e)),[p,m]=o.useState(e);p!==e&&(m(e),d(c(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const f=x=>{d(typeof x=="function"?g=>l(x(g)):l(x))},b=()=>f(x=>+(x+s).toFixed(6)),C=()=>f(x=>+(x-s).toFixed(6)),y=u<r-Number.EPSILON,_=u>a+Number.EPSILON,h=Math.round(t*u),v=Math.round(h*i);return{scale:u,setScale:f,increase:b,decrease:C,canIncrease:y,canDecrease:_,fontSize:h,lineHeight:v}}function Xi(e,t){const a=ba(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Gr=" \xB7 ",Ji=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Gr)?e.split(Gr).pop()??e:e})(),Ig=o.createContext(!1),On=[];let Qi=null;function Fg(e){const t=o.useContext(Ig);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;On.length===0&&(Qi=document.title);const a={text:Ji?`${e}${Gr}${Ji}`:e};return On.push(a),document.title=a.text,()=>{const r=On.lastIndexOf(a);r>=0&&On.splice(r,1),document.title=On.length?On[On.length-1].text:Qi??document.title}},[e,t])}const el=[{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"}],Og=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Qn(e,t){return Og().compare(e,t)}const Ua=new Map;function Hg(e){const t=Ua.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(c)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ua.size>5e3&&Ua.clear(),Ua.set(e,a),a}function Vg(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function zg(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(t);if(r===s)return 0;const i=(d,p)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const m=Vg(p);return m!==null?[m]:Hg(p)},l=i(e,r),c=i(t,s),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const p=l[d],m=c[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 f=Qn(p,m);if(f!==0)return f}return l.length!==c.length?l.length-c.length:Qn(r,s)}const tl=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Kr(e,t,a){const r=tl(e),s=tl(t);if(r||s)return r===s?0:r?1:-1;const i=zg(e,t);return a?i:-i}function Wg(e,t,a){const{t:r}=be.useTranslation(),[s,i]=o.useState(()=>{const C=a?.initialPageSize;return C&&el.some(y=>y.value===C)?C:"25"}),[l,c]=o.useState(1),[u,d]=o.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const p=o.useMemo(()=>el.map(C=>({...C,label:r("visits.showN",{n:C.value})})),[r]),m=o.useCallback(C=>{i(C),c(1)},[]),f=Math.max(1,Math.ceil(e.length/Number(s)));(l>f||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),f));const b=Math.min(Math.max(1,Number.isFinite(l)?l:1),f);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:f,onChange:c},setPage:c}}function qg(e){const[t,a]=o.useState(null),r=o.useRef(t),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(u=>{const d=r.current,p=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=o.useCallback((u,d)=>{if(!t)return u;const{key:p,asc:m}=t;return[...u].sort((f,b)=>Kr(d(f,p),d(b,p),m))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const rn="\uC804\uCCB4",Ug=new Map;try{kt.store?.on?.("added",()=>Ug.clear())}catch{}Object.fromEntries(Object.entries(p2).map(([e,{nucleus:t}])=>[e,t]));const Gg={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"})},Kg={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"})},Yg={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 Zg(e,t){if("place"in t)return Gg[t.place](e);const a=Kg[t.vowel](e);return t.glide?`${a} \xB7 ${Yg[t.glide](e)}`:a}const Xg=(e,{defaultValue:t})=>t,nl=(e,t)=>({jamos:e,phonetic:t,tooltip:Zg(Xg,t)}),yn=(e,t)=>t.map(a=>nl([a],{place:e})),At=(e,t,a)=>nl([...e],a?{vowel:t,glide:a}:{vowel:t}),Yr={cho:[yn("labial",["\u3142","\u3143","\u314D","\u3141"]),yn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),yn("alveolar",["\u3145","\u3146"]),yn("palatal",["\u3148","\u3149","\u314A"]),yn("velar",["\u3131","\u3132","\u314B"]),yn("glottal",["\u314E"])],jung:[[At("\u3163","frontHigh"),At("\u315F","frontHigh","w"),At("\u3162","frontHigh","velar")],[At("\u3161","backHighUnrounded")],[At("\u315C","backHighRounded"),At("\u3160","backHighRounded","j")],[At("\u3154\u3150","frontMid"),At("\u3156\u3152","frontMid","j"),At("\u3159\u315A\u315E","frontMid","w")],[At("\u3153","backMidUnrounded"),At("\u3155","backMidUnrounded","j"),At("\u315D","backMidUnrounded","w")],[At("\u3157","backMidRounded"),At("\u315B","backMidRounded","j")],[At("\u314F","low"),At("\u3151","low","j"),At("\u3158","low","w")]],jong:[yn("labial",["\u3142","\u3141"]),yn("alveolar",["\u3137","\u3134","\u3139"]),yn("velar",["\u3131","\u3147"])]},Jg=e=>e===Qg?[]:Array.from(e),Qg="__NO_CODA__",Zr=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),al={cho:Zr(Yr.cho),jung:Zr(Yr.jung),jong:Zr(Yr.jong)};al.jung.flat().forEach(({v:e})=>{for(const t of Jg(e));}),new Set(al.cho.flat().map(e=>e.v));function eb(e,t=!0){const a=ba(e);o.useEffect(()=>{if(t)return In(()=>{a.current?.()})},[t,a])}function va(){const[e,t]=o.useState(null),a=o.useCallback(i=>t(i.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function rl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),c=o.useCallback((m,f)=>{s(f),a(m),l(b=>b+1)},[]),u=o.useCallback(m=>c(m,"warning"),[c]),d=o.useCallback(m=>c(m,"normal"),[c]),p=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:p}}function xa(e){let t=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>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function _a({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,c]=o.useState({}),u=o.useRef(null),d=o.useRef(null),p=o.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);o.useEffect(()=>{if(!s)return;p();const b=v=>{const x=v.target;r&&x.closest?.(r)||u.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",b),document.addEventListener("pointerdown",b);const C=v=>{d.current?.contains(v.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",C,!0);const y=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const h=()=>{y(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",y),window.addEventListener("orientationchange",h)),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("pointerdown",b),t!=="ignore"&&window.removeEventListener("scroll",C,!0),a!=="ignore"&&(window.removeEventListener("resize",y),window.removeEventListener("orientationchange",h)),_&&clearTimeout(_)}},[s,p,t,a,r]),o.useEffect(()=>{if(s)return In(()=>i(!1))},[s]);const m=o.useCallback(()=>i(b=>!b),[]),f=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:f,style:l,triggerRef:u,menuRef:d}}function tb(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=o.useState([]),[d,p]=o.useState(0),[m,f]=o.useState("idle"),[b,C]=o.useState(null),[y,_]=o.useState([]),[h,v]=o.useState(null),[x,g]=o.useState(0),k=o.useRef(0),w=o.useCallback(O=>{k.current=typeof O=="function"?O(k.current):O,g(k.current)},[]),B=o.useRef(r),N=o.useRef(s);o.useEffect(()=>{B.current=r,N.current=s},[r,s]);const A=o.useRef([]),D=()=>{A.current.forEach(clearTimeout),A.current=[]},F=(O,I)=>{A.current.push(setTimeout(I,O))};o.useEffect(()=>()=>D(),[]);const $=c[d]?.id??null,R=o.useRef(null),U=o.useCallback(()=>{D(),f("playing"),_([]),v(null),w(0);let O=0;e.forEach((I,S)=>{F(O,()=>{p(S),C(I.id),B.current?.(I)}),F(O+1e3,()=>{C(null),_(H=>[...H,I.id])}),O+=1300}),F(O,()=>{f("done"),N.current?.({score:0,total:e.length})})},[e,w]),E=o.useCallback((O,I)=>{if(I>=O.length){f("done"),N.current?.({score:k.current,total:O.length});return}R.current=null,p(I),v(null),f("playing"),C(O[I].id),B.current?.(O[I]),F(i,()=>{C(null),f("waiting")})},[i]),T=o.useCallback(()=>{D();const O=Ca(e);u(O),w(0),_([]),E(O,0)},[e,E,w]),V=o.useCallback(()=>{t==="playback"?(u(e),U()):T()},[t,e,U,T]),Y=o.useCallback(()=>{D(),f("idle"),C(null),_([]),v(null),p(0),w(0),u([])},[w]),K=e.map(O=>O.id).join("|");o.useEffect(()=>(a?V():Y(),()=>D()),[t,K,a]);const G=o.useCallback(O=>{m!=="waiting"||t==="playback"||R.current===d||(R.current=d,v(O),O===c[d]?.id&&w(I=>I+1),t==="exam"?(f("playing"),F(400,()=>E(c,d+1))):(f("feedback"),F(l,()=>E(c,d+1))))},[m,t,c,d,E,l,w]),J=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:b,playedIds:y,selectedId:h,answerId:$,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:G},index:d,total:J,score:x,phase:m,done:m==="done",start:V,reset:Y}}function nb({title:e,description:t,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:p=""}){const m=s??i??"main",f=o.useRef(null),[b,C]=o.useState("main"),y=tn("(max-width: 767px)"),_=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const x=f.current;if(!x)return;const g=Ur(x),k=(w,B,N)=>{if(N!==void 0)x.style.setProperty(B,N),_.current[w]=!0;else if(_.current[w]){const A=g?.[w];A?x.style.setProperty(B,A):x.style.removeProperty(B),_.current[w]=!1}};k("title","--promo-banner-bg-title",u),k("description","--promo-banner-bg-description",d)},[u,d,m]),o.useLayoutEffect(()=>{const x=f.current;if(!x)return;const g=Ur(x);C(g?.actionVariant??"main")},[m]);const h=De("promo-banner",`promo-banner--${l}`,p),v=Yi[m];return n.jsxs("div",{ref:f,className:h,role:"note",children:[n.jsx(v,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(le,{htmlType:"button",size:40,variant:c??b,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...y?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function ab({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=be.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),c=o.Children.toArray(e),u=c.length,[d,p]=o.useState(0),[m,f]=o.useState(!1),[b,C]=o.useState(!1),[y,_]=o.useState(!1),h=o.useRef(null),v=o.useRef(null),x=o.useRef(null),g=Hr(),k=m||b||y,w=u>0?Math.min(d,u-1):0;o.useEffect(()=>{if(u<2||t<=0||k||g)return;const N=window.setInterval(()=>p(A=>(Math.min(A,u-1)+1)%u),t);return()=>window.clearInterval(N)},[u,t,k,g]);const B=N=>{v.current!=null&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>{v.current=null,_(!1)},N)};return o.useEffect(()=>()=>{v.current!=null&&window.clearTimeout(v.current)},[]),o.useEffect(()=>{if(!y)return;const N=A=>{A.pointerType==="touch"&&(x.current&&x.current.contains(A.target)||(v.current!=null&&(window.clearTimeout(v.current),v.current=null),_(!1)))};return document.addEventListener("pointerdown",N,!0),()=>document.removeEventListener("pointerdown",N,!0)},[y]),u===0?null:n.jsxs("section",{ref:x,className:De("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:N=>{h.current=N.pointerType},onPointerDown:N=>{h.current=N.pointerType,N.pointerType==="touch"&&(v.current!=null&&(window.clearTimeout(v.current),v.current=null),_(!0))},onPointerUp:N=>{N.pointerType==="touch"&&B(5e3)},onPointerCancel:N=>{N.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{h.current!=="touch"&&f(!0)},onMouseLeave:()=>f(!1),onFocus:N=>{let A=!0;try{A=N.target.matches(":focus-visible")}catch{A=!0}C(A)},onBlur:N=>{N.currentTarget.contains(N.relatedTarget)||C(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${w*100}%)`},children:c.map((N,A)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":A!==w,...A!==w?{inert:!0}:{},children:N},A))})}),u>1&&n.jsx("div",{className:`top-banner__dots${(a?.[w]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((N,A)=>n.jsx("button",{type:"button",className:`top-banner__dot${A===w?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:A+1,defaultValue:`${u}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===w,onClick:()=>p(A)},A))})]})}function rb({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=be.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[n.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]")),f=m.indexOf(d.currentTarget);(d.key==="ArrowDown"?m[f+1]:m[f-1])?.focus()}},children:[s&&n.jsx("div",{className:"accordion-item__avatar",children:s}),n.jsx("div",{className:`accordion-item__title ${i}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(qe,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function ob({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((u,d)=>n.jsx(rb,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:s},u.id??d))})}function sb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function ib(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function lb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function mt(e){const{t}=be.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:w,position:B="top-right",onClick:N,animate:A=!1}=e,D=k??"check",F=w!==void 0?"number":D,$=typeof r=="number"?r:32,R=De("circle-badge",`circle-badge--${F}`,`circle-badge--${B}`,`circle-badge--${$}`,A?"circle-badge--animate":"",N?"circle-badge--clickable":"",s),U=w!==void 0?t("badge.nthSelected",{n:w,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[D];return n.jsxs("span",{className:R,onClick:N,onKeyDown:N?E=>{E.key!=="Enter"&&E.key!==" "||(E.preventDefault(),E.currentTarget.click())}:void 0,"aria-label":l?void 0:i??U,"aria-hidden":l||void 0,role:N?"button":l?void 0:"img",tabIndex:N?0:void 0,children:[w!==void 0&&w,w===void 0&&D==="check"&&n.jsx(sb,{}),w===void 0&&D==="remove"&&n.jsx(ib,{}),w===void 0&&D==="minus"&&n.jsx(lb,{})]})}const{label:c,children:u,variant:d="default",fill:p="filled",minWidth:m,iconLeft:f,iconRight:b,color:C}=e,y=typeof r=="number"?"medium":r??"medium",_={small:"caption-2b",medium:"body-3b",large:"body-2b"}[y]??"body-2b",h={small:12,medium:14,large:16}[y]??14,v=De("badge",`badge--${d}`,`badge--${y}`,p!=="filled"?`badge--${p}`:"",_,s),x=C?.startsWith("--")?`var(${C})`:C,g=m!==void 0||x?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},...x?{"--badge-color":x}:{}}:void 0;return n.jsxs("span",{className:v,style:g,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[f&&n.jsx(qe,{icon:f,size:h,className:"badge__icon"}),c??u,b&&n.jsx(qe,{icon:b,size:h,className:"badge__icon"})]})}function wa({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=be.useTranslation(),i=r==="small"?40:48,[l,c]=o.useState([]),u=o.useMemo(()=>{const _=[{title:null,columns:e}];let h=e;for(const v of l){const x=h?.[v.ci]?.items?.[v.ii];if(!x||!Array.isArray(x.children)||!x.children.length)break;h=[{title:null,items:x.children}],_.push({title:x.label||null,columns:h})}return _},[e,l]),d=u[u.length-1],p=u.length-1,m=o.useCallback(()=>c(_=>_.slice(0,Math.max(0,Math.min(_.length,p)-1))),[p]),f=o.useRef(null),b=o.useRef(null),C=u.length;o.useEffect(()=>{b.current||(b.current=document.activeElement);let _=0,h=0;const v=()=>{const x=f.current?.querySelector("button:not([disabled])");if(x&&x.offsetParent){x.focus({preventScroll:!0});return}h++<20&&(_=requestAnimationFrame(v))};return _=requestAnimationFrame(v),()=>cancelAnimationFrame(_)},[C]),o.useEffect(()=>()=>{b.current?.focus?.({preventScroll:!0})},[]);const y=o.useCallback((_,h,v)=>{if(_){if(Array.isArray(_.children)&&_.children.length){c(x=>[...x.slice(0,p),{ci:h,ii:v}]);return}try{typeof _.onClick=="function"&&_.onClick()}catch{}try{_&&_.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(u.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?n.jsx(le,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:f,children:d.columns&&d.columns.map((_,h)=>n.jsxs("div",{className:"tooltip-menu__column",children:[_.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:_.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(_.items||[]).map((v,x)=>n.jsxs(o.Fragment,{children:[v.separatorBefore&&x>0&&n.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),n.jsx(le,{htmlType:"button",className:"tooltip-menu__item",size:i,type:v.label?"bar":"dot",icon:v.selected?"check":v.icon||"none",rightIcon:Array.isArray(v.children)&&v.children.length?"chevron-right":v.badgeCount?n.jsx(mt,{type:"dot",position:"inline",number:Math.min(v.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:v.label,ariaLabel:v.label&&v.badgeCount&&v.badgeCount>0?s("nav.badgeLabel",{label:v.label,count:v.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):v.label,onClick:()=>y(v,h,x),selected:v.selected,disabled:v.disabled,showTooltipInfo:v.tooltip||!1,useBorder:!1,align:"left"})]},x))})]},h))})]})}const ol=".content-area";function Xr(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(ol);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&fn("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${ol}) \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 Ga=52,ea=10,sl=e=>e&&e>0?e:0;function il({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:c}=be.useTranslation(),u=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",p=r==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=o.useRef(null),[f,b]=o.useState(0),C=e.length;o.useEffect(()=>{const O=m.current;if(!O||(b(O.clientWidth),typeof ResizeObserver>"u"))return;const I=new ResizeObserver(S=>b(S[0].contentRect.width));return I.observe(O),()=>I.disconnect()},[]);const y=Ga+1,_=o.useRef(!1),h=f>0&&i.length===0&&_.current?f+y:f,v=C*(Ga+ea)-ea<=h,x=f<=0?C:i.length>0?Math.floor((f+ea)/(Ga+ea)):v?C:Math.floor((h-y+ea)/(Ga+ea)),g=f>0&&x<C,k=g?x:C,w=e.slice(0,k),B=e.slice(k),N=g||i.length>0;o.useEffect(()=>{_.current=N});const A=o.useCallback((O,I)=>({position:"fixed",bottom:window.innerHeight-O.top+8,right:window.innerWidth-O.right,zIndex:xa(I)}),[]),D=o.useId(),{open:F,toggle:$,close:R,style:U,triggerRef:E,menuRef:T}=_a({computeStyle:A,onScroll:"ignore",onResize:"reposition"}),V=o.useCallback((O,I)=>I>0?c("nav.badgeLabel",{label:O,count:I,defaultValue:"{{label}}, {{count}}\uAC1C"}):O,[c]),Y=o.useCallback(()=>s?.(u),[s,u]),K=o.useMemo(()=>B.find(O=>!!O.key&&O.key===t)??i.find(O=>O.selected||O.key&&O.key===t),[B,t,i]),G=o.useMemo(()=>[{items:[...B.map(O=>({label:O.label,icon:O.icon,badgeCount:O.badgeCount,selected:!!O.key&&O.key===t,closeOnSelect:!0,disabled:O.state==="disabled",onClick:()=>{O.state!=="disabled"&&(O.key&&a&&(a(O.key),Xr(l,"BottomNav")),R())}})),...i.map(O=>({label:O.label,icon:O.icon,badgeCount:O.badgeCount,selected:O.selected??(!!O.key&&O.key===t),closeOnSelect:!0,onClick:()=>{O.onClick?.(),R()}}))]}],[B,i,t,a,R]),J=[...B,...i].reduce((O,I)=>O+sl(I.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav","aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:p,className:"bottom-nav-item",onClick:Y})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",ref:m,children:w.map((O,I)=>{const S=sl(O.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:O.icon,ariaLabel:V(O.label,S),selected:!!O.key&&O.key===t,disabled:O.state==="disabled",className:"bottom-nav-item",onClick:()=>{O.key&&(a?.(O.key),Xr(l,"BottomNav"))}}),S>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(mt,{type:"dot",position:"top-right",number:Math.min(S,99),size:24})})]},O.key??`__slot-${I}`)})}),N&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:E,className:"bottom-nav__slot",children:[n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:K?.icon??"ellipsis",ariaLabel:V(K?.label??c("nav.more","\uB354\uBCF4\uAE30"),J),selected:!!K,className:"bottom-nav-item",onClick:$,"aria-expanded":F,"aria-controls":F?D:void 0}),J>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(mt,{type:"dot",position:"top-right",number:Math.min(J,99),size:24})}),F&&qt.createPortal(n.jsx("div",{id:D,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:U,ref:T,children:n.jsx(wa,{columns:G,onClose:R})}),document.body)]})})]})]})}function ll(e){if(typeof e!="string")return!1;let t="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function cl(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function cb(e){const{t}=be.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:c,onAccount:u}=e||{},d="default";return s||i||l||c||u?n.jsxs("div",{className:"side-nav__footer",children:[s&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"bell",ariaLabel:cl(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(mt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function ul(e){const{t}=be.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:p}=e||{},m=a?.key??r??"",f=a?.label??s??"",b=a?.icon??i??"",C=a?.badge??0,y=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(qe,{icon:b,label:typeof f=="string"?f:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),_=d==="disabled",h=`side-nav__item ${l?"active":""} ${d||""} ${_?"disabled":""} ${a?.child?"side-nav__item--child":""}`,v=o.useCallback(x=>{if(_)return;const g=x.detail>0;if(g)try{x.currentTarget.blur()}catch{}c?.(m,x.currentTarget,g)},[_,m,c]);return n.jsxs("button",{type:"button",className:h,onClick:v,"aria-label":typeof f=="string"?cl(t,f,C):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":_,children:[y,n.jsx("span",{className:"side-nav__label button-1 f",style:p,children:f}),C>0&&n.jsx(mt,{type:"dot",position:"inline",number:Math.min(C,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function dl(e){const{t}=be.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:f,scrollContainer:b}=e||{},C=m==="manager",y=o.useCallback(()=>f?.(C?"malgwi":"manager"),[f,C]);return n.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(_=>!_.section&&(_.key||_.label)).map((_,h)=>n.jsxs(o.Fragment,{children:[_.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(ul,{item:_,active:!!_.key&&_.key===r,state:_.disabled?"disabled":void 0,onClick:(v,x,g)=>{if(_.disabled)return;if(_.href){if(ll(_.href)&&window.open(_.href,"_blank","noopener,noreferrer"),g)try{x?.blur()}catch{}return}if(s?.(_.key),Xr(b,"SideNav"),!g)return;try{x?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const k=document.querySelector(".header");if(k){const w=typeof k.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&w&&k.matches(":hover"))){k.classList.add("header--force-collapsed");const B=()=>{k.classList.remove("header--force-collapsed"),k.removeEventListener("mouseenter",B)};k.addEventListener("mouseenter",B)}}}})]},_.key??`side-nav__item-${h}`)),f&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),f&&n.jsx(ul,{item:{key:"__mode-switch__",label:C?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:C?"arrow-left":"arrow-right"},onClick:y})]}),n.jsx(cb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p})]})}var Jr='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',Qr='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',ub='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 pl({appMode:e}){const{t}=be.useTranslation(),a=e==="manager",r=a?Qr:Jr,s=ub,i=tn("(min-width: 768px) and (max-width: 1023px)");return n.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?n.jsx("img",{src:s,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function ml({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:f,scrollContainer:b}){const{t:C}=be.useTranslation(),y=tn("(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]),h=o.useCallback($=>{const R=a?.find(U=>U.key===$);if(!R?.disabled){if(R?.href){ll(R.href)&&window.open(R.href,"_blank","noopener,noreferrer");return}t?.($)}},[a,t]),v=o.useMemo(()=>{const $=[];return l&&$.push({key:"debug",icon:"terminal",label:C("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&$.push({key:"notifications",icon:"bell",label:C("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&$.push({key:"settings",icon:"settings",label:C("nav.settings","\uC124\uC815"),onClick:d}),p&&$.push({key:"help",icon:"message-circle-question-mark",label:C("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),u&&$.push({key:"account",icon:"user-round",label:C("nav.account","\uACC4\uC815"),onClick:u}),$},[C,l,c,d,p,u,i]),x=o.useCallback(($,R)=>({position:"fixed",top:$.bottom+8,right:Math.max(8,window.innerWidth-$.right),zIndex:xa(R)}),[]),g=o.useId(),{open:k,toggle:w,close:B,style:N,triggerRef:A,menuRef:D}=_a({computeStyle:x,onScroll:"ignore",onResize:"reposition"}),F=o.useMemo(()=>[{items:v.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===e),closeOnSelect:!0,onClick:()=>{$.onClick?.(),B()}}))}],[v,e,B]);return n.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(pl,{appMode:m}),n.jsxs("div",{className:"header__menu-button",ref:A,children:[n.jsx(le,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:c&&i&&i>0?C("nav.badgeLabel",{label:C("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):C("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:w,"aria-expanded":k,"aria-controls":k?g:void 0}),!!c&&!!i&&i>0&&n.jsx(mt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),k&&qt.createPortal(n.jsx("div",{id:g,role:"group","aria-label":C("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:D,children:n.jsx(wa,{columns:F,onClose:B})}),document.body)]})]}),n.jsx(dl,{scrollContainer:b,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:f}),y&&n.jsx(il,{items:_,activeKey:e??void 0,onChange:h,scrollContainer:b,appMode:m,onAppModeChange:f})]})}const db=ml,pb=()=>kt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function hl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return Yn(`${t.toLocaleString("ko-KR")}\uC6D0`)}return Yn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function mb(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function hb(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[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||pb()}function fb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function fl(e){return{type:e.type??mb(e),plan:hb(e),label:e.label,price:hl(e.price),originalPrice:hl(e.originalPrice),discountLabel:e.discountLabel}}var Cb='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',gb='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>',bb='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',yb='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',vb='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>',xb='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',Cl='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 Hn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},eo=new WeakMap;function _b(e){if(e)return eo.get(e)}function vn(e,t){e&&(e.style.setProperty(Hn.text,t.text),e.style.setProperty(Hn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Hn.copyright,t.copyrightColor),eo.set(e,t))}function xn(e){e&&(e.style.removeProperty(Hn.text),e.style.removeProperty(Hn.sub),e.style.removeProperty(Hn.copyright),eo.delete(e))}const gl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function bl(e={}){const t=pt(gl,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${Cl}")`}})]})}const yl="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 ka='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 wb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},kb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function vl(e={}){const t=pt(wb,vn,xn),a="var(--color-main)",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.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:kb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:yl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Ab={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Bb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Nb(e={}){const t=pt(Ab,vn,xn),a="#ffffff",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.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:Bb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:yl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${Cl}")`}})]})}const Db={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Sb(e={}){const t=pt(Db,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Eb={Logo_speechear_kr:{"":Jr,_white:Cb,_textWhite:gb,_black:bb},Logo_speechearManager_kr:{"":Qr,_white:yb,_textWhite:vb,_black:xb}};function jb(e,t){if(e)return Eb[e]?.[t??""]??void 0}const Tb={speechear:Jr,manager:Qr},Mb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},xl=10;function _l(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?t("passCard.remainingMinute",{n:s}):t("passCard.remainingSecond",{n:Math.floor(e)})}function Lb(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),s=a==="\uC624\uD508\uD2B9\uAC00"||a===kt.t("passCard.specialLabel");return r?n.jsx(Sb,{}):s?n.jsx(Nb,{}):n.jsx(vl,{})}return n.jsx(bl,{})}function wl({product:e,showPrice:t=!1,plan:a,type:r,endDate:s,remainingSeconds:i,endInclusive:l=!1,state:c="active",bg:u,bgOnly:d=!1,textColor:p,subColor:m,copyrightColor:f,logoSrc:b,label:C,price:y,originalPrice:_,discountLabel:h,onUse:v,onRefund:x,onDelete:g}){const{t:k}=be.useTranslation(),w=e?fl(e):void 0,B=r??w?.type??"speechear",N=a??w?.plan??k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),A=C??w?.label,D=y??(t?w?.price:void 0),F=_??(t?w?.originalPrice:void 0),$=h??w?.discountLabel,R=o.useMemo(()=>{if(D)return null;const re=e?.durationDays??fb(e?.code);if(!re||re<=0)return i!=null?{percent:null,remainingLabel:_l(i,k)}:null;const q=re*86400;let se;if(i!=null)se=i;else if((c==="active"||c==="expired")&&s){const ve=new Date(s).getTime();if(Number.isNaN(ve))return null;const ye=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(s)),Be=/^(\d{4})-(\d{2})-(\d{2})/.exec(ga()),he=Math.round(ye&&Be?(Date.UTC(+ye[1],+ye[2]-1,+ye[3])-Date.UTC(+Be[1],+Be[2]-1,+Be[3]))/864e5:(ve-Date.now())/864e5);se=Math.max(0,l?he+1:he)*86400}else c==="expired"?se=0:se=q;const de=Math.max(0,Math.min(100,Math.floor(Math.min(se,q)/q*100)));return c==="pending"&&de>=100?null:{percent:de,remainingLabel:_l(se,k)}},[D,c,s,i,l,e?.durationDays,e?.code,k]),U=o.useRef(null),[E,T]=o.useState({}),[V,Y]=o.useState(null),K=!!(v||x||g),G=o.useRef(!1),J=o.useRef(void 0),[O,I]=o.useState(b);o.useLayoutEffect(()=>{I(b)},[b]),o.useLayoutEffect(()=>{const re=U.current;re&&(p!==void 0&&re.style.setProperty("--pass-card-text",p),m!==void 0&&re.style.setProperty("--pass-card-sub",m),f!==void 0&&re.style.setProperty("--pass-card-copyright",f))},[p,m,f]),o.useLayoutEffect(()=>{const re=U.current;if(!re)return;const q=_b(re);if(!b){const se=Mb[B],de=c==="expired"?"_black":q?.logoColor??"",ve=jb(se,de);I(ve)}},[u,b,B,c]);const S=re=>{const q=U.current;if(!q)return null;const{left:se,top:de,width:ve,height:ye}=q.getBoundingClientRect(),Be=(re.clientX-se)/ve-.5;return{rotateX:-((re.clientY-de)/ye-.5)*xl,rotateY:Be*xl}},H=(re,q)=>{const se=q*-.7,de=re*.7+10,ve=20+(Math.abs(re)+Math.abs(q))*.4;return`${se}px ${de}px ${ve}px rgba(0, 0, 0, 0.18)`},P=o.useCallback(re=>{if(Jn())return;G.current=!0,clearTimeout(J.current),J.current=setTimeout(()=>{G.current=!1},200);const q=S(re);q&&T({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:H(q.rotateX,q.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),M=o.useCallback(re=>{if(Jn())return;const q=S(re);if(!q)return;const se=G.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";T({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:H(q.rotateX,q.rotateY),transition:se})},[]),L=o.useCallback(()=>{clearTimeout(J.current),G.current=!1,T({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)"})},[]),X=o.useCallback(()=>Y(null),[]),W=o.useMemo(()=>{const re=k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),q=N.replace("\uC774\uC6A9\uAD8C","").replace(re==="\uC774\uC6A9\uAD8C"?"":re,"").trim(),se=q.match(/^(.*?)(일|년)$/);return se?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:se[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:se[2]==="\uB144"?k("passCard.unitYear","\uB144"):k("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:q})},[N,k]),ae=o.useMemo(()=>{const re=Yn(D);if(!re)return null;const q=re.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return n.jsx("span",{className:"h1",children:re});const[,se,de,ve]=q;return n.jsxs(n.Fragment,{children:[se&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:se}),n.jsx("span",{className:"h1 pass-card__price-amount",children:de}),ve.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ve.trim()})]})},[D]),ue=o.useCallback(()=>{K&&Y(re=>{if(re)return null;const q=U.current?.getBoundingClientRect();if(!q)return null;const se=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+se,top:q.top+se,bottom:q.bottom+se}})},[K]),Se=o.useCallback(re=>{K&&(re.key==="Enter"||re.key===" ")&&(re.preventDefault(),ue())},[K,ue]),pe=[{items:[...v?[{label:k("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{v(),Y(null)},closeOnSelect:!0}]:[],...x?[{label:k("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{x(),Y(null)},closeOnSelect:!0}]:[],...g?[{label:k("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{g(),Y(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:U,className:`pass-card pass-card--${c}${K?" pass-card--clickable":""}`,style:E,onMouseEnter:P,onMouseMove:M,onMouseLeave:L,onPointerUp:re=>{re.pointerType==="touch"&&L()},onPointerCancel:re=>{re.pointerType==="touch"&&L()},onClick:ue,onKeyDown:K?Se:void 0,role:K?"button":void 0,tabIndex:K?0:void 0,"aria-haspopup":K?"menu":void 0,"aria-expanded":K?!!V:void 0,children:[u??Lb(B,N,A),!d&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:O??Tb[B],className:"pass-card__logo",alt:B==="manager"?k("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):k("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:W}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:A?k("passCard.labeledPlan",{label:A}):k("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?n.jsxs("div",{className:"pass-card__price-area",children:[$&&n.jsx("span",{className:"pass-card__discount body-3",children:$}),n.jsxs("div",{className:"pass-card__price",children:[F&&n.jsx("span",{className:"pass-card__price-original body-3",children:Yn(F)}),ae]})]}):R?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:R.remainingLabel}),R.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:R.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),V&&n.jsx(gn,{anchorRect:V,onClose:X,ariaLabel:k("tooltip.menu","\uBA54\uB274"),children:n.jsx(wa,{columns:pe,onClose:X,size:"small"})})]})}const $b={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Rb(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=pt($b,vn,xn);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.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:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.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(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Pb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Ib(e={}){const t=pt(Pb,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}function Fb(e,t){if(e){if(t==="manager_pro")return n.jsx(Ib,{});if(t==="manager_standard")return n.jsx(Rb,{});if(t==="manager_lite")return n.jsx(vl,{})}}function Ob(e){const t=Yn(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,s,i]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Hb(e){const{t}=be.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=g=>!!g&&!!c?.includes(g),d=g=>g.onceOnly??/오픈\s*특가/.test(g.label??""),p=(s.tiers||[]).some(g=>d(g)&&u(g.code)),m=g=>{const k=g.prices?g.prices[l]:g.price;return k?(s.tiers||[]).some(w=>!!w.badge&&w.originals?.[l]===k):!1},f=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",b=t("payment.plan.freePrice","\uBB34\uB8CC"),C=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),y=g=>g.prices?g.prices[l]:g.price,_=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const k=y(g);return k==="\uBB34\uB8CC"||k===b||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),h=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const k=y(g);return k==="\uBB38\uC758"||k===C}),v=s.group==="org",x=v?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:f,"--plan-color":f},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(mt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:f},children:s.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((g,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:f}}),g]},k))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((g,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:f}}),g]},k))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:_?null:h?n.jsx(le,{htmlType:"button",className:"payment-plan__contact-button",label:t("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})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(g=>{const k=g.label||a,w=d(g),B=w||g.openPromo===!0,N=k.replace(/^오픈\s*특가\s*/,"")||a,A=g.prices?g.prices[l]:g.price,D=g.badge?B?`${r}
|
|
852
|
-
${g.badge}`:g.badge:void 0;if(w&&u(g.code))return null;if(!g.badge&&!p)return m(g)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${g.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:g.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:Ob(A)})})]},g.id);const F=s.tier??(v?s.title:void 0),$=n.jsx(wl,{showPrice:!0,product:{type:x,code:g.code,name:N,label:F,price:A,originalPrice:g.originals?.[l]??void 0,discountLabel:D},bg:Fb(v,s.id)}),R=()=>i?.({...g,productId:s.id,productTitle:s.title,preview:$});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:R,onKeyDown:i?U=>{U.target===U.currentTarget&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),R())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:$},g.id)})})})})]})}function Vb({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var to='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 kl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function zb(){const e=pt(kl,vn,xn);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${to}")`}})})}const Al={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function Wb(e={}){const t=pt(Al,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}function Bl({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return n.jsx("span",{className:De("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const Aa=(e,t,a)=>e+(t-e)*a;function qb({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:p,clickable:m=!1,onSelectSpeaker:f,buttonSize:b=40,showIcon:C=!0,onCenterClick:y,centerLabel:_,centerDisabled:h=!1,centerAttention:v=!1,shortcutAnchor:x="top-right",shortcutScale:g,scaleShortcut:k=!1}){const{t:w}=be.useTranslation(),B=Math.max(0,Math.min(1,a)),N=t/2,A=110/300,D=.18,F=q=>t*(A+(q-1)*D),$=q=>{const se=F(q.row??1),de=q.angleDeg*Math.PI/180;return{x:N+se*Math.cos(de),y:N+se*Math.sin(de)}},R=Math.max(...e.map(q=>q.row??1),1),U=t*.08,E=t*.1,T=t*.24,V=t-2*U,Y=t-E-T,K=t-T/2,G=o.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,se)=>q-se),[e]),J=G.length,O=Math.max(68,J>1?V/(J-1):0),I=o.useMemo(()=>new Map(G.map((q,se)=>[q,se])),[G]),S=q=>{const se=I.get(q.deg)??0,de=N+(se-(J-1)/2)*O,ve=R>1?Math.min(68,Y/(R-1)):0,ye=ve*(R-1),Be=E+(Y-ye)/2,he=R===1?E+Y*.4:Be+(R-(q.row??1))*ve;return{x:de,y:he}},H=q=>{const se=$(q),de=S(q);return{x:Aa(se.x,de.x,B),y:Aa(se.y,de.y,B)}},P={x:N,y:Aa(N,K,B)},M=Math.round(b*1.2),L=Math.round(Math.max(16,Math.min(80,b*.7))),X=[],W=new Map;for(const q of e){const se=q.row??1;W.has(se)||W.set(se,[]),W.get(se).push(q)}for(const[q,se]of W.entries()){if(se.length<2)continue;const de=[...se].sort((_e,Ye)=>_e.deg-Ye.deg),ve=de.map(_e=>H(_e)),ye=de.map(_e=>_e.deg),Be=ye[ye.length-1]-ye[0],he=Be/(ye.length-1),ke=360-Be,je=de.length>=3&&he>0&&ke<=he*1.5,oe=Math.round(F(q)*1e3)/1e3,ee=(_e,Ye,He,Ue)=>{const Ee=(Ye.angleDeg-_e.angleDeg+540)%360-180;if(Ee===0)return`L ${Ue.x} ${Ue.y}`;if(B===0)return`A ${oe} ${oe} 0 0 ${Ee>0?1:0} ${Ue.x} ${Ue.y}`;const Ge=(_e.angleDeg+Ee/2)*Math.PI/180,$e={x:N+oe*Math.cos(Ge),y:N+oe*Math.sin(Ge)},Ie={x:(He.x+Ue.x)/2,y:(He.y+Ue.y)/2},Ve={x:Aa($e.x,Ie.x,B),y:Aa($e.y,Ie.y,B)},at={x:2*Ve.x-Ie.x,y:2*Ve.y-Ie.y};return`Q ${at.x} ${at.y} ${Ue.x} ${Ue.y}`},fe=je?[...de,de[0]]:de,te=je?[...ve,ve[0]]:ve;let ge=`M ${te[0].x} ${te[0].y}`;for(let _e=1;_e<te.length;_e++)ge+=" "+ee(fe[_e-1],fe[_e],te[_e-1],te[_e]);X.push({key:`arc-${q}`,d:ge})}const ae=o.useMemo(()=>new Set(s??[]),[s]),ue=q=>({idle:"",active:w("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:w("soundCompass.state.played","\uB4E4\uC74C"),correct:w("soundCompass.state.correct","\uC815\uB2F5"),wrong:w("soundCompass.state.wrong","\uC624\uB2F5")})[q],Se=q=>{if(r===q.id)return"active";if(c){if(q.id===l)return"correct";if(q.id===i&&i!==l)return"wrong"}return ae.has(q.id)?"played":"idle"},pe=q=>r===q.id?"loop":c?q.id===l?"loop":null:u&&q.id===i?"once":null,re=(q,se)=>{switch(q){case"played":case"correct":return n.jsx(ts,{size:se});case"wrong":return n.jsx(ds,{size:se});default:return n.jsx(us,{size:se})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(q=>{const{x:se,y:de}=H(q);return n.jsx("line",{x1:P.x,y1:P.y,x2:se,y2:de,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),X.map(q=>n.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),v&&!h&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:M,height:M,left:P.x-M/2,top:P.y-M/2}}),y?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${h?" sound-compass__center--disabled":""}`,style:{width:M,height:M,left:P.x,top:P.y},"aria-label":_,"aria-disabled":h||void 0,tabIndex:h?-1:0,onClick:h?void 0:y,children:n.jsx(fr,{size:L,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:M,height:M,left:P.x,top:P.y},children:n.jsx(fr,{size:L,color:"currentColor",strokeWidth:1.5})}),e.map((q,se)=>{const{x:de,y:ve}=H(q),ye=Se(q),Be=pe(q),he={...g!==void 0||k?{"--shortcut-badge-scale":String(g??Math.max(.75,Math.min(3,b/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:ye!=="idle"?10:1},ke=b,je=Math.round(Math.max(10,Math.min(56,ke*.38))),oe=Math.round(Math.max(7,Math.min(18,ke*.2))),ee=Math.round(Math.max(10,Math.min(56,ke*.4))),fe=C==="answered"&&(ye==="played"||ye==="correct"||ye==="wrong"),te=C===!0||fe,ge=!fe;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...he,left:de-ke/2,top:ve-ke/2},children:[Be&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ye}`+(Be==="once"?" sound-compass__pulse--once":""),style:{width:ke,height:ke,...Be==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),n.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>f?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ye}`,style:{width:ke,height:ke},"aria-label":ue(ye)?`${q.label}, ${ue(ye)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[te&&re(ye,je),ge&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:C===!0?oe:ee},children:se+1})]}),q.shortcut&&n.jsx(Bl,{keys:q.shortcut,anchor:x,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function Ub({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:De("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function Gb({orientation:e="horizontal",label:t,className:a=""}){const r=De("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function Nl({checked:e,onChange:t,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const c=o.useId();return n.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[n.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:u=>t?.(u.target.checked)}),n.jsx("span",{className:"radio__dot"}),i&&n.jsx("span",{className:"radio__label body-2",children:i})]})}function Kb({options:e,value:t,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=o.useId(),d=r??`radio-group-${u}`;return n.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(p=>n.jsx(Nl,{name:d,value:p.value,checked:t===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const Yb={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Zb({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=be.useTranslation(),[d,p]=o.useState(!1),m=o.useRef(null),f=o.useCallback(()=>{const v=m.current;v&&v.contains(document.activeElement)&&Wa(v),p(!0),i?.()},[i]);if(d)return null;const b=De("alert",`alert--${e}`,c),C=l??(e==="danger"||e==="warning"?"assertive":"polite"),y=C==="assertive"?"alert":C==="polite"?"status":void 0,_=!!t,h=!!(a||r);return n.jsxs("div",{ref:m,className:b,role:y,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(qe,{icon:Yb[e],size:20,className:"alert__icon"}),_&&n.jsx("span",{className:"alert__title body-2",children:t}),!_&&h&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),_&&h&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:f,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const Xb={ready:"search",guide:"info",error:"circle-alert"};function Jb(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const c=e.indexOf(l,s);c<0||(c>s&&r.push(e.slice(s,c)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=c+l.length)}return s<e.length&&r.push(e.slice(s)),r}function Qb({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??Xb[e],c=De("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&r&&r.length>0?Jb(u,r):u;return n.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(qe,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Ba({title:e,items:t}){const{t:a}=be.useTranslation(),{anchorRect:r,openAt:s,close:i}=va(),l=o.useRef(null),c=zr(!!r,(u,d)=>{u&&d?s(l.current?.querySelector("button")??d):i()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(le,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Xn(u)||s(u.currentTarget)},onPointerLeave:u=>{Xn(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{Jn()||s(u.currentTarget)},onBlur:i}),r&&n.jsx(Fn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function e4({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=be.useTranslation(),c=o.useRef(null),u=e.find(y=>!y.disabled)?.key,d=e.some(y=>y.key===t)?t:u??e[0]?.key,p=e.find(y=>y.key===d&&!y.disabled)?.key??u,m=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),f=(y,_=m())=>{if(_.length===0)return;const h=(y%_.length+_.length)%_.length;_[h]?.focus(),_[h]?.click()},b=y=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(y.key))return;y.preventDefault();const _=m(),h=_.indexOf(y.currentTarget);y.key==="ArrowRight"||y.key==="ArrowDown"?f(h+1,_):y.key==="ArrowLeft"||y.key==="ArrowUp"?f(h-1,_):y.key==="Home"?f(0,_):f(_.length-1,_)},C=e.find(y=>y.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:c,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(y=>n.jsx("button",{id:`tabs__tab-${i}-${y.key}`,type:"button",role:"tab","aria-selected":y.key===d,"aria-controls":`tabs__panel-${i}-${y.key}`,disabled:y.disabled,tabIndex:y.key===p?0:-1,className:`tabs__tab body-2${y.key===d?" tabs__tab--active":""}`,onClick:()=>{y.key!==t&&a?.(y.key)},onKeyDown:b,children:y.label},y.key))}),C&&n.jsx("div",{id:`tabs__panel-${i}-${C.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${C.key}`,tabIndex:0,className:"tabs__panel",children:C.panel},C.key)]})}const t4={xs:12,sm:16,md:20,lg:28,xl:36};function n4(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function a4({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=be.useTranslation(),[l,c]=o.useState(null),u=!!e&&l===e,d=t?n4(t):"",p=!!e&&!u,m=!p&&!!d,f=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":f,children:[p&&n.jsx("img",{className:"avatar__image",src:e,alt:f,onError:()=>c(e??null)}),!p&&m&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!p&&!m&&n.jsx(qe,{icon:"user-round",size:t4[a],className:"avatar__icon"})]})}function r4(e,t){if(!t)return!0;const a=t.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 o4({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:c=""}){const{t:u}=be.useTranslation(),d=o.useRef(null),[p,m]=o.useState(!1),[f,b]=o.useState([]),C=i??f,y=w=>{if(!w||w.length===0)return;const B=Array.from(w).filter(A=>r4(A,t));if(B.length===0)return;const N=a?B:B.slice(0,1);if(i===void 0){const A=a?[...C,...N]:N;b(A),e?.(A)}else e?.(N)},_=w=>{w.preventDefault(),!r&&m(!0)},h=w=>{w.preventDefault(),m(!1)},v=w=>{w.preventDefault(),m(!1),!r&&y(w.dataTransfer.files)},x=w=>{const B=w.target;try{y(B.files)}finally{B.value=""}},g=()=>{r||d.current?.click()},k=w=>{if(!r&&(l?.(w),i===void 0)){const B=C.filter((N,A)=>A!==w);b(B),l||e?.(B)}};return n.jsxs("div",{className:`file-upload ${c}`.trim(),children:[n.jsxs("div",{className:De("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:g,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g())},onDragOver:_,onDragLeave:h,onDrop:v,children:[n.jsx(qe,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:w=>{w.stopPropagation(),g()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:x,tabIndex:-1})]}),s&&C.length>0&&n.jsx("ul",{className:"file-upload__list",children:C.map((w,B)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:w.name}),disabled:r,onClick:()=>k(B),children:n.jsx(qe,{icon:"x",size:14})})]},`${w.name}-${B}`))})]})}function s4({items:e,className:t=""}){const{t:a}=be.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[i?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.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?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&n.jsx(qe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const i4={small:14,medium:20,large:28};function l4({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:c}=be.useTranslation(),u=r||!t,[d,p]=o.useState(null),m=u?e:Number.isFinite(e)?Math.round(e):0,f=d??m,b=i4[s],C=w=>{w!==e&&t?.(w)},y=w=>{u||C(w)},_=w=>{u||Jn()||p(w)},h=o.useRef(null),v=w=>{const B=Math.min(a,Math.max(1,w));C(B),Array.from(h.current?.querySelectorAll("[data-star]")??[]).find(N=>N.dataset.star===String(B))?.focus()},x=w=>{if(!u){switch(w.key){case"ArrowRight":case"ArrowUp":v((m||0)+1);break;case"ArrowLeft":case"ArrowDown":v((m||1)-1);break;case"Home":v(1);break;case"End":v(a);break;default:return}w.preventDefault()}},g=m>=1&&m<=a?Math.round(m):1,k=()=>{u||p(null)};return n.jsx("div",{className:`rating rating--${s}${u?" rating--readOnly":""} ${l}`.trim(),ref:h,onKeyDown:x,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:w=>{w.pointerType==="touch"&&k()},onPointerCancel:w=>{w.pointerType==="touch"&&k()},children:Array.from({length:a},(w,B)=>{const N=B+1,A=Math.max(0,Math.min(1,f-B)),D=A>0&&A<1,F=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(qe,{icon:"star",size:b,className:"rating__star rating__star--empty"}),A>0&&n.jsx("span",{className:`rating__star-fill${D?" rating__star-fill--half":""}`,style:D?{width:`${A*100}%`}:void 0,children:n.jsx(qe,{icon:"star",size:b,className:"rating__star rating__star--filled"})})]});return u?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:F},N):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===N,"aria-label":c("rating.starLabel",{n:N}),"data-star":N,tabIndex:N===g?0:-1,onClick:()=>y(N),onMouseEnter:()=>_(N),children:F},N)})})}const c4=20,u4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function d4({value:e,onChange:t,palette:a=u4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=be.useTranslation();return n.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&n.jsx(qe,{icon:"check",size:c4,className:"color-picker__check"})},c)})})}function p4({icon:e,count:t,title:a,className:r="",onClick:s,onMouseEnter:i,onMouseLeave:l}){const c=De("count-tile",s&&"count-tile--clickable",r);return n.jsxs("div",{className:c,onClick:s,onKeyDown:s?u=>{u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),u.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:s?"button":"img",tabIndex:s?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[n.jsx(qe,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}let Na=0,Dl="",no="",Da=0;function Sl(){return El(!1)}function m4(){return El(!0)}function El(e){const t=typeof document<"u";Na===0&&t&&(Dl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Da===0&&(no=document.body.style.paddingRight),Da++,document.body.style.paddingRight="0px"),Na++;let a=!1;return()=>{a||(a=!0,Na=Math.max(0,Na-1),e&&t&&(Da=Math.max(0,Da-1),Da===0&&(no?document.body.style.paddingRight=no:document.body.style.removeProperty("padding-right"))),Na===0&&t&&(document.body.style.overflow=Dl))}}function h4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function f4({open:e,onClose:t,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:p}){const{t:m}=be.useTranslation(),f=o.useId(),b=o.useRef(null),C=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const v=document.activeElement,x=Sl(),g=b.current;return Fr(g,v),g?.focus(),()=>{x();const k=document.activeElement;(!k||k===document.body||g&&g.contains(k))&&Or(v)?.focus?.()}},[e]);const y=o.useRef(C),_=o.useRef(c);o.useEffect(()=>{y.current=C,_.current=c}),o.useEffect(()=>{if(e)return In(()=>{_.current&&y.current()})},[e]);const h=o.useRef(!1);return Pr(b,e),!e||typeof document>"u"?null:qt.createPortal(n.jsx("div",{className:De("dialog",d),onPointerDown:l?v=>{h.current=v.target===v.currentTarget}:void 0,onMouseDown:v=>{v.target===v.currentTarget&&v.preventDefault()},onClick:l?v=>{const x=h.current;h.current=!1,x&&v.target===v.currentTarget&&C()}:void 0,children:n.jsxs("div",{ref:b,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?f:void 0,tabIndex:-1,className:De("dialog__surface",`dialog__surface--${i}`,p),onClick:v=>v.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:f,className:"dialog__title h4b",children:r})}):null,u?n.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:C,children:n.jsx(h4,{})}):null,n.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function C4({columns:e,rows:t,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=be.useTranslation(),p=!l&&t.length===0;return n.jsxs("div",{className:De("board",u),children:[r||s?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),s?n.jsx("div",{className:"board__toolbar",children:s}):null]}):null,n.jsxs("table",{className:"board__table",children:[c?n.jsx("caption",{className:"board__caption",children:c}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(m=>n.jsx("th",{scope:"col",className:De("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((m,f)=>n.jsx("tr",{className:"board__row",children:e.map(b=>n.jsx("td",{className:De("board__td",`board__cell--${b.align??"left"}`),children:b.render(m,f)},b.key))},a(m,f)))})]})]})}function g4({name:e,role:t,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return n.jsxs("div",{className:De("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,s?.length?n.jsx("ul",{className:"person-card__credentials",children:s.map(c=>n.jsx("li",{children:c},c))}):null]})}function b4({groups:e,className:t=""}){return n.jsx("div",{className:De("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>n.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function y4({title:e,kind:t,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:c=""}){const u=r??(s?n.jsx("img",{src:s,alt:""}):null);return n.jsxs("div",{className:De("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),i?n.jsx("div",{className:"publication-card__footer",children:i}):null]})}function v4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const s=ba(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function x4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const c=s===1?"h1":"h2";return n.jsxs("div",{className:De("section-header",`section-header--${i}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(c,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function _4({items:e,className:t=""}){return n.jsx("ul",{className:De("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function jl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const s=o.useId(),[i,l]=o.useState(!1),[c,u]=o.useState(-1),d=o.useRef(null),p=o.useMemo(()=>{if(!a.length)return[];const B=e??"";return B?a.filter(N=>N.toLowerCase().includes(B.toLowerCase())):r?a:[]},[a,e,r]),[m,f]=o.useState(!1),b=o.useRef([]),C=m&&p.length===0?b.current:p;o.useEffect(()=>{C.length&&(b.current=C)},[C]);const y=o.useCallback(()=>f(!0),[]),_=o.useCallback(()=>f(!1),[]);o.useEffect(()=>{i||u(-1)},[i]),o.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const h=c<C.length?c:-1,v=o.useCallback(B=>{t?.(B),l(!1)},[t]),x=o.useCallback(()=>l(!0),[]),g=o.useCallback(()=>{l(!0),u(-1)},[]),k=o.useCallback(()=>{d.current=setTimeout(()=>l(!1),120)},[]),w=o.useCallback(B=>{B.nativeEvent.isComposing||B.keyCode===229||(B.key==="ArrowDown"?(B.preventDefault(),l(!0),u(N=>Math.min(C.length-1,(N<C.length?N:-1)+1))):B.key==="ArrowUp"?(B.preventDefault(),u(N=>Math.max(-1,(N<C.length?N:C.length)-1))):B.key==="Enter"?h>=0&&v(C[h]):B.key==="Escape"&&i&&(B.preventDefault(),l(!1)))},[C,h,i,v]);return{listId:s,open:i,activeIdx:h,filtered:C,handleFocus:x,handleBlur:k,handleInput:g,handleKeyDown:w,handleSelect:v,handleCompositionStart:y,handleCompositionEnd:_}}const Tl=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Vn(e){const{value:t,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:c,required:u,placeholder:d,type:p="text",disabled:m=!1,readOnly:f=!1,error:b,helperText:C,maxLength:y,size:_=48,variant:h="input",fullWidth:v=!1,newline:x=!1,multiline:g=!1,rows:k=3,leftIcon:w,rightIcon:B,clearable:N=!1,list:A,showCount:D=!0,className:F="",onFocus:$,onBlur:R,onKeyDown:U,onEnter:E,inputMode:T,autoComplete:V,autoFocus:Y,suggestions:K,openOnFocus:G=!1}=e,J=f||m?void 0:K,{t:O}=be.useTranslation(),I=o.useId();!l&&!c&&fn(`TextField:unnamed:${I}`,"[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 S=`tf-${I}`,H=`tf-helper-${I}`,P=o.useRef(null),M=jl({value:t??"",onChange:i,suggestions:J??[],openOnFocus:G}),L=!!J&&M.open&&M.filtered.length>0,X=o.useRef(null),[W,ae]=o.useState(null),ue=o.useCallback(()=>{const te=X.current;if(!te||typeof window>"u")return;const ge=te.getBoundingClientRect(),_e=230,Ye=window.innerHeight-ge.bottom<_e+8&&ge.top>_e+8;ae({position:"fixed",left:ge.left,width:ge.width,...Ye?{bottom:window.innerHeight-ge.top+8}:{top:ge.bottom+8},zIndex:xa(te)})},[]);Tl(()=>{if(!L)return;ue();const te=ge=>{const _e=ge.target;_e&&_e.nodeType===1&&_e.closest?.(".text-field__suggestions")||ue()};return window.addEventListener("scroll",te,!0),window.addEventListener("resize",ue),()=>{window.removeEventListener("scroll",te,!0),window.removeEventListener("resize",ue)}},[L,ue]);const Se=o.useCallback(te=>{P.current=te,typeof s=="function"?s(te):s&&(s.current=te)},[s]),pe=t!==void 0,re=pe&&p==="password",[q,se]=o.useState((a??"").length),de=pe?(t??"").length:q,ve=o.useRef(t);Tl(()=>{ve.current=t}),o.useEffect(()=>{const te=P.current;if(!re||!te)return;const ge=t??"";te.value!==ge&&(te.value=ge)},[re,t]),o.useEffect(()=>{if(!x||!P.current)return;const te=P.current;te.style.height="",te.scrollHeight>te.clientHeight&&(te.style.height=`${te.scrollHeight}px`)},[t,q,x]);const ye=y!=null&&de>y,Be=_===32?16:20,he=De("text-field",`text-field--s${_}`,h==="display"?"text-field--display":"",v?"text-field--full-width":"",m?"text-field--disabled":"",f?"text-field--readonly":"",b?"text-field--error":"",w?"text-field--has-left-icon":"",B||N?"text-field--has-right-icon":"",F),ke={id:S,...re?{}:pe?{value:t}:{defaultValue:a},ref:Se,placeholder:d,name:r,disabled:m,readOnly:f,autoFocus:Y,maxLength:y,list:A,inputMode:T,autoComplete:V,"aria-label":!l&&c?c:void 0,"aria-required":u,"aria-invalid":!!b,"aria-describedby":C||b?H:void 0,role:J?"combobox":void 0,"aria-autocomplete":J?"list":void 0,"aria-haspopup":J?"listbox":void 0,"aria-expanded":J?M.open:void 0,"aria-controls":L?M.listId:void 0,"aria-activedescendant":L&&M.activeIdx>=0?`${M.listId}-option-${M.activeIdx}`:void 0,onChange:te=>{const ge=te.target;pe||se(ge.value.length),i?.(ge.value),J&&M.handleInput(),re&&queueMicrotask(()=>{const _e=ve.current??"";ge.value!==_e&&(ge.value=_e)})},onCompositionStart:J?M.handleCompositionStart:void 0,onCompositionEnd:J?M.handleCompositionEnd:void 0,onFocus:(te=>{$?.(te),J&&M.handleFocus()}),onBlur:(te=>{R?.(te),J&&M.handleBlur()}),onKeyDown:(te=>{J&&te.key==="Enter"&&!te.nativeEvent.isComposing&&M.activeIdx>=0?te.preventDefault():E&&te.key==="Enter"&&!te.nativeEvent.isComposing&&(te.preventDefault(),E()),U?.(te),J&&M.handleKeyDown(te)})},je=N&&!m&&!f&&de>0,oe=()=>x?n.jsx("textarea",{...ke,className:"text-field__input text-field__input--auto body-2",rows:1}):g?n.jsx("textarea",{...ke,className:"text-field__input text-field__input--textarea body-2",rows:k}):n.jsx("input",{...ke,type:p,className:"text-field__input body-2"}),ee=h==="display"&&!x&&!g&&!!d,fe=()=>n.jsxs(n.Fragment,{children:[oe(),ee&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:d})]});return n.jsxs("div",{ref:X,className:he,children:[l&&n.jsxs("label",{htmlFor:S,className:"text-field__label caption-1",children:[l,u&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[w&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(qe,{icon:w,label:"",className:"",svgClassName:"text-field__icon-svg",size:Be})}),fe(),y!=null&&D&&n.jsxs("span",{className:`text-field__count caption-2${ye?" text-field__count--over":""}`,children:[de,"/",y]}),je&&n.jsx(le,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:O("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:te=>{te.preventDefault()},onClick:()=>{!pe&&P.current&&(P.current.value="",se(0)),i?.("")},tabIndex:-1}),B&&!je&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(qe,{icon:B,label:"",className:"",svgClassName:"text-field__icon-svg",size:Be})})]}),L&&(typeof document>"u"?null:qt.createPortal(n.jsx("ul",{id:M.listId,className:"text-field__suggestions",role:"listbox",style:W??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:M.filtered.map((te,ge)=>n.jsx("li",{id:`${M.listId}-option-${ge}`,role:"option","aria-selected":ge===M.activeIdx,className:`text-field__suggestion body-2${ge===M.activeIdx?" is-active":""}`,onMouseDown:_e=>_e.preventDefault(),onClick:()=>{M.handleSelect(te),P.current?.focus()},children:te},`${te}-${ge}`))}),document.body)),(C||b)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:H,className:"text-field__helper caption-1",role:b?"alert":void 0,children:b||C})})]})}function nn({options:e,value:t,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:p}){const{t:m}=be.useTranslation(),f=r??m("dropdown.placeholder","\uC120\uD0DD"),b=o.useId(),C=o.useId(),y=o.useRef(null),_=o.useCallback((E,T)=>{const V=window.innerHeight-E.bottom<260&&E.top>260;return{position:"fixed",left:E.left,minWidth:E.width,...V?{bottom:window.innerHeight-E.top+6}:{top:E.bottom+6},zIndex:xa(T)}},[]),{open:h,setOpen:v,toggle:x,style:g,triggerRef:k,menuRef:w}=_a({computeStyle:_}),[B,N]=o.useState(-1),A=o.useCallback(()=>N(-1),[]),D=e.find(E=>E.value===t);o.useEffect(()=>{if(h){const E=e.findIndex(T=>T.value===t);N(E>=0?E:e.length?0:-1),requestAnimationFrame(()=>{const T=w.current;if(!T)return;const V=T.querySelectorAll(".dropdown__option")[E];V&&(T.scrollTop=Math.max(0,V.offsetTop-T.clientHeight/2+V.clientHeight/2))})}},[h]),o.useEffect(()=>{h&&N(E=>{if(E>=0&&E<e.length)return E;const T=e.findIndex(V=>V.value===t);return T>=0?T:e.length?0:-1})},[h,e.length]);const F=o.useCallback(()=>{s||x()},[s,x]),$=o.useCallback(E=>{E.disabled||s||(E.value!==t&&a?.(E.value),v(!1))},[a,v,s,t]);o.useEffect(()=>{s&&v(!1)},[s,v]);const R=o.useCallback(E=>{if(!s){if(!h){(E.key==="Enter"||E.key===" "||E.key==="ArrowDown")&&(E.preventDefault(),v(!0));return}if(E.key==="Escape"){E.preventDefault(),v(!1);return}E.key==="ArrowDown"?(E.preventDefault(),N(T=>{let V=T+1;for(;V<e.length&&e[V].disabled;)V++;return V<e.length?V:T})):E.key==="ArrowUp"?(E.preventDefault(),N(T=>{let V=T-1;for(;V>=0&&e[V].disabled;)V--;return V>=0?V:T})):(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),e[B]?$(e[B]):v(!1))}},[s,h,e,B,$,v]),U=h?n.jsx("div",{ref:w,id:b,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:g,onMouseLeave:A,onMouseDown:E=>E.preventDefault(),children:e.map((E,T)=>n.jsxs("button",{id:`${b}-option-${T}`,type:"button",role:"option","aria-selected":E.value===t,className:De("dropdown__option body-2",E.value===t?"dropdown__option--active":"",T===B?"dropdown__option--active":"",E.disabled?"dropdown__option--disabled":""),onMouseDown:V=>V.preventDefault(),onClick:()=>$(E),onMouseEnter:()=>N(T),disabled:E.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:E.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),E.label]},E.value))}):null;return n.jsxs("div",{ref:y,className:De("dropdown",`dropdown--s${l}`,h?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:R,children:[n.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":h,"aria-controls":h?b:void 0,"aria-activedescendant":h&&B>=0?`${b}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&D?C:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:s,onClick:F,onBlur:E=>{h&&!w.current?.contains(E.relatedTarget)&&v(!1)},children:[n.jsx("span",{id:C,className:`dropdown__trigger-label body-2${D?"":" dropdown__trigger-label--placeholder"}`,children:D?D.label:f}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&qt.createPortal(U,y.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Ka({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=be.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),p=()=>a(Math.max(1,Math.min(d,e-1))),m=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:De("pagination",i),children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:p}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:m})]})}function Sn(e){const{t}=be.useTranslation(),{options:a=[],value:r=a.find(h=>!h.disabled)?.key??a[0]?.key,onChange:s=h=>{},className:i="",size:l=48,shape:c="pill",useBG:u=!0,fullWidth:d=!1,ariaLabel:p}=e||{},m=o.useRef(null),f=a.filter(h=>!h.disabled),b=h=>{if(!f.length)return;const v=Math.max(0,f.findIndex(g=>g.key===r)),x=h==="first"?f[0]:h==="last"?f[f.length-1]:f[(v+h+f.length)%f.length];x&&(s(x.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(g=>g.dataset.segkey===x.key)?.focus())},C=h=>{switch(h.key){case"ArrowRight":case"ArrowDown":b(1);break;case"ArrowLeft":case"ArrowUp":b(-1);break;case"Home":b("first");break;case"End":b("last");break;default:return}h.preventDefault()},y=h=>{const v=x=>typeof x=="string"||typeof x=="number";if(!(!v(h.label)||h.count==null||h.count===!1||!v(h.count)))return`${h.label}, ${h.count}`},_=f.some(h=>h.key===r)?r:f[0]?.key;return n.jsx("div",{ref:m,onKeyDown:C,className:De("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(h=>n.jsx(le,{htmlType:"button",role:"radio","aria-checked":h.key===r,"data-segkey":h.key,tabIndex:h.key===_?0:-1,label:h.label,count:h.count,ariaLabel:y(h),disabled:h.disabled,className:h.key===r?"is-selected":"",onClick:()=>{h.disabled||s(h.key)},size:l,shape:c,useBorder:!1,useBG:!1},h.key))})}function ao({count:e,search:t,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:c}){const{t:u}=be.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(t||r?.length||s||i||l);return n.jsxs("div",{className:De("toolbar",c),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((m,f)=>n.jsx(Sn,{size:40,...m},m.ariaLabel??f))]}),p&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(Vn,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((m,f)=>n.jsx(nn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},f)),s&&n.jsx(nn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&n.jsx(Ka,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Ml(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Ml).join(""):""}function w4(e){let t=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"},tg={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"}}},ng={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},ag={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},rg={answer:"Answer",distractor:"Distractor"},og={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},sg={clearAriaLabel:"Clear input"},ig={ariaLabel:"Select tab"},lg={ariaLabel:"Tabs"},cg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},ug={ariaLabel:"User avatar"},dg={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"}},pg={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"}},mg={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)"}},hg={manage:{unit:"item(s)"}},fg={cancelLabel:"Cancel"},Cg={subtitle:"Select a topic to start listening practice."},gg={steps:"Step {{current}} of {{total}}"},bg={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"},yg={resetColumns:"Reset column widths"},vg={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}}"},xg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},_g={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},wg={previewRegion:"Report preview \u2014 scrollable sideways"},kg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Ag={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Bg={clearSelection:"Clear selection"},Ng={showResult:"Show {{type}} result"},Dg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Sg={loading:"Loading"},Eg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},jg={ariaLabel:"Breadcrumb"},Tg={empty:"No items yet."},Mg={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"},Lg={common:yC,calendar:vC,passCard:xC,searchField:_C,rating:wC,colorPicker:kC,dropdown:AC,accordion:BC,header:NC,nav:DC,settings:SC,usage:EC,account:jC,help:TC,training:MC,trainingSettings:LC,customers:$C,payment:RC,coupons:PC,visits:IC,company:FC,trainingType:OC,myWordTraining:HC,myWordTable:zC,keyWords:VC,wordTable:WC,wordSearch:qC,wordPrint:UC,topic:GC,accessLinkManager:KC,login:YC,device:ZC,manager:XC,wordPairs:JC,game:QC,footer:eg,landing:tg,date:ng,trainingSetPage:ag,wordTrainingPreview:rg,wordData:og,textField:sg,segmentedControl:ig,tabs:lg,fileUpload:cg,avatar:ug,myHomework:dg,trainingStatus:pg,store:mg,homework:hg,inquiry:fg,trainingPlanRun:Cg,progress:gg,trainingMiss:bg,table:yg,wordScore:vg,topBanner:xg,datePicker:_g,report:wg,tooltip:kg,phonemeProfile:Ag,bulkBar:Bg,debug:Ng,badge:Dg,loader:Sg,soundCompass:Eg,breadcrumb:jg,board:Tg,promoBannerBg:Mg};const $g=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Wr="ko",Rg="ihab_display_language";function xi(){if(typeof window>"u")return Wr;try{const e=localStorage.getItem(Rg);if(e&&$g.some(t=>t.code===e))return e}catch{}return Wr}function _i(e){try{document.documentElement.lang=e}catch{}}Dt.on("languageChanged",_i),_i(xi()),Dt.use(ve.initReactI18next).init({resources:{ko:{translation:bC},en:{translation:Lg}},lng:xi(),fallbackLng:Wr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function pt(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return t(s,e),()=>a(s)},[e,t,a]),r}const ya={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},qr=new WeakMap;function Ur(e){if(e)return qr.get(e)}function Lt(e,t){e&&(e.style.setProperty(ya.title,t.title),e.style.setProperty(ya.description,t.description),qr.set(e,t))}function $t(e){e&&(e.style.removeProperty(ya.title),e.style.removeProperty(ya.description),qr.delete(e))}const wi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function ki(){const e=pt(wi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Ai={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Bi(){const e=pt(Ai,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ni={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Di(){const e=pt(Ni,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Si={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ei(){const e=pt(Si,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const ji={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ti(){const e=pt(ji,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Mi={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Li(){const e=pt(Mi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const $i={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Ri(){const e=pt($i,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const Pi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ii(){const e=pt(Pi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Fi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Oi(){const e=pt(Fi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Hi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function zi(){const e=pt(Hi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Vi={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Wi(){const e=pt(Vi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const qi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ui(){const e=pt(qi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Gi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Ki(){const e=pt(Gi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Yi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Zi(){const e=pt(Yi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Ht=(e,t,a)=>({key:e,get label(){return Dt.t(`promoBannerBg.${e}`,t)},textTone:a}),Pg=[Ht("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("soft","\uC18C\uD504\uD2B8","dark"),Ht("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Ht("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Ht("warm","\uC6DC(\uAC15\uC870)","dark"),Ht("dark","\uB2E4\uD06C","light"),Ht("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Ht("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Ht("outline","\uC544\uC6C3\uB77C\uC778","dark"),Ht("success","\uC131\uACF5/\uC644\uB8CC","light"),Ht("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Ht("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Xi={main:ki,soft:Bi,sub:Di,deep:Ei,softSub:Ti,warm:Li,dark:Ri,radial:Ii,diagonal:Oi,dots:zi,outline:Wi,success:Ui,naver:Ki,instagram:Zi};function Ji({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=x=>Math.max(a,Math.min(r,Number(x))),c=x=>{try{const b=localStorage.getItem(x),w=b?Number(b):1;return Number.isFinite(w)?l(w):l(1)}catch{return l(1)}},[u,d]=o.useState(()=>c(e)),[p,m]=o.useState(e);p!==e&&(m(e),d(c(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const h=x=>{d(typeof x=="function"?b=>l(x(b)):l(x))},v=()=>h(x=>+(x+s).toFixed(6)),y=()=>h(x=>+(x-s).toFixed(6)),g=u<r-Number.EPSILON,_=u>a+Number.EPSILON,f=Math.round(t*u),C=Math.round(f*i);return{scale:u,setScale:h,increase:v,decrease:y,canIncrease:g,canDecrease:_,fontSize:f,lineHeight:C}}function Qi(e,t){const a=ba(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Gr=" \xB7 ",el=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Gr)?e.split(Gr).pop()??e:e})(),Ig=o.createContext(!1),On=[];let tl=null;function Fg(e){const t=o.useContext(Ig);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;On.length===0&&(tl=document.title);const a={text:el?`${e}${Gr}${el}`:e};return On.push(a),document.title=a.text,()=>{const r=On.lastIndexOf(a);r>=0&&On.splice(r,1),document.title=On.length?On[On.length-1].text:tl??document.title}},[e,t])}const nl=[{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"}],Og=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Qn(e,t){return Og().compare(e,t)}const Ua=new Map;function Hg(e){const t=Ua.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(c)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ua.size>5e3&&Ua.clear(),Ua.set(e,a),a}function zg(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function Vg(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(t);if(r===s)return 0;const i=(d,p)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const m=zg(p);return m!==null?[m]:Hg(p)},l=i(e,r),c=i(t,s),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const p=l[d],m=c[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=Qn(p,m);if(h!==0)return h}return l.length!==c.length?l.length-c.length:Qn(r,s)}const al=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Kr(e,t,a){const r=al(e),s=al(t);if(r||s)return r===s?0:r?1:-1;const i=Vg(e,t);return a?i:-i}function Wg(e,t,a){const{t:r}=ve.useTranslation(),[s,i]=o.useState(()=>{const y=a?.initialPageSize;return y&&nl.some(g=>g.value===y)?y:"25"}),[l,c]=o.useState(1),[u,d]=o.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const p=o.useMemo(()=>nl.map(y=>({...y,label:r("visits.showN",{n:y.value})})),[r]),m=o.useCallback(y=>{i(y),c(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(s)));(l>h||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((v-1)*Number(s),v*Number(s)),[e,v,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:v,total:h,onChange:c},setPage:c}}function qg(e){const[t,a]=o.useState(null),r=o.useRef(t),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(u=>{const d=r.current,p=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=o.useCallback((u,d)=>{if(!t)return u;const{key:p,asc:m}=t;return[...u].sort((h,v)=>Kr(d(h,p),d(v,p),m))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const on="\uC804\uCCB4",Ug=new Map;try{Dt.store?.on?.("added",()=>Ug.clear())}catch{}Object.fromEntries(Object.entries(p2).map(([e,{nucleus:t}])=>[e,t]));const Gg={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"})},Kg={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"})},Yg={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 Zg(e,t){if("place"in t)return Gg[t.place](e);const a=Kg[t.vowel](e);return t.glide?`${a} \xB7 ${Yg[t.glide](e)}`:a}const Xg=(e,{defaultValue:t})=>t,rl=(e,t)=>({jamos:e,phonetic:t,tooltip:Zg(Xg,t)}),yn=(e,t)=>t.map(a=>rl([a],{place:e})),St=(e,t,a)=>rl([...e],a?{vowel:t,glide:a}:{vowel:t}),Yr={cho:[yn("labial",["\u3142","\u3143","\u314D","\u3141"]),yn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),yn("alveolar",["\u3145","\u3146"]),yn("palatal",["\u3148","\u3149","\u314A"]),yn("velar",["\u3131","\u3132","\u314B"]),yn("glottal",["\u314E"])],jung:[[St("\u3163","frontHigh"),St("\u315F","frontHigh","w"),St("\u3162","frontHigh","velar")],[St("\u3161","backHighUnrounded")],[St("\u315C","backHighRounded"),St("\u3160","backHighRounded","j")],[St("\u3154\u3150","frontMid"),St("\u3156\u3152","frontMid","j"),St("\u3159\u315A\u315E","frontMid","w")],[St("\u3153","backMidUnrounded"),St("\u3155","backMidUnrounded","j"),St("\u315D","backMidUnrounded","w")],[St("\u3157","backMidRounded"),St("\u315B","backMidRounded","j")],[St("\u314F","low"),St("\u3151","low","j"),St("\u3158","low","w")]],jong:[yn("labial",["\u3142","\u3141"]),yn("alveolar",["\u3137","\u3134","\u3139"]),yn("velar",["\u3131","\u3147"])]},Jg=e=>e===Qg?[]:Array.from(e),Qg="__NO_CODA__",Zr=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),ol={cho:Zr(Yr.cho),jung:Zr(Yr.jung),jong:Zr(Yr.jong)};ol.jung.flat().forEach(({v:e})=>{for(const t of Jg(e));}),new Set(ol.cho.flat().map(e=>e.v));function eb(e,t=!0){const a=ba(e);o.useEffect(()=>{if(t)return In(()=>{a.current?.()})},[t,a])}function va(){const[e,t]=o.useState(null),a=o.useCallback(i=>t(i.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function sl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),c=o.useCallback((m,h)=>{s(h),a(m),l(v=>v+1)},[]),u=o.useCallback(m=>c(m,"warning"),[c]),d=o.useCallback(m=>c(m,"normal"),[c]),p=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:p}}function xa(e){let t=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>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function _a({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,c]=o.useState({}),u=o.useRef(null),d=o.useRef(null),p=o.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);o.useEffect(()=>{if(!s)return;p();const v=C=>{const x=C.target;r&&x.closest?.(r)||u.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",v),document.addEventListener("pointerdown",v);const y=C=>{d.current?.contains(C.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",y,!0);const g=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const f=()=>{g(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",g),window.addEventListener("orientationchange",f)),()=>{document.removeEventListener("mousedown",v),document.removeEventListener("pointerdown",v),t!=="ignore"&&window.removeEventListener("scroll",y,!0),a!=="ignore"&&(window.removeEventListener("resize",g),window.removeEventListener("orientationchange",f)),_&&clearTimeout(_)}},[s,p,t,a,r]),o.useEffect(()=>{if(s)return In(()=>i(!1))},[s]);const m=o.useCallback(()=>i(v=>!v),[]),h=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:h,style:l,triggerRef:u,menuRef:d}}function tb(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=o.useState([]),[d,p]=o.useState(0),[m,h]=o.useState("idle"),[v,y]=o.useState(null),[g,_]=o.useState([]),[f,C]=o.useState(null),[x,b]=o.useState(0),w=o.useRef(0),k=o.useCallback(O=>{w.current=typeof O=="function"?O(w.current):O,b(w.current)},[]),B=o.useRef(r),N=o.useRef(s);o.useEffect(()=>{B.current=r,N.current=s},[r,s]);const A=o.useRef([]),D=()=>{A.current.forEach(clearTimeout),A.current=[]},H=(O,L)=>{A.current.push(setTimeout(L,O))};o.useEffect(()=>()=>D(),[]);const R=c[d]?.id??null,P=o.useRef(null),G=o.useCallback(()=>{D(),h("playing"),_([]),C(null),k(0);let O=0;e.forEach((L,E)=>{H(O,()=>{p(E),y(L.id),B.current?.(L)}),H(O+1e3,()=>{y(null),_(I=>[...I,L.id])}),O+=1300}),H(O,()=>{h("done"),N.current?.({score:0,total:e.length})})},[e,k]),S=o.useCallback((O,L)=>{if(L>=O.length){h("done"),N.current?.({score:w.current,total:O.length});return}P.current=null,p(L),C(null),h("playing"),y(O[L].id),B.current?.(O[L]),H(i,()=>{y(null),h("waiting")})},[i]),M=o.useCallback(()=>{D();const O=Ca(e);u(O),k(0),_([]),S(O,0)},[e,S,k]),z=o.useCallback(()=>{t==="playback"?(u(e),G()):M()},[t,e,G,M]),K=o.useCallback(()=>{D(),h("idle"),y(null),_([]),C(null),p(0),k(0),u([])},[k]),Z=e.map(O=>O.id).join("|");o.useEffect(()=>(a?z():K(),()=>D()),[t,Z,a]);const q=o.useCallback(O=>{m!=="waiting"||t==="playback"||P.current===d||(P.current=d,C(O),O===c[d]?.id&&k(L=>L+1),t==="exam"?(h("playing"),H(400,()=>S(c,d+1))):(h("feedback"),H(l,()=>S(c,d+1))))},[m,t,c,d,S,l,k]),te=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:f,answerId:R,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:q},index:d,total:te,score:x,phase:m,done:m==="done",start:z,reset:K}}function nb({title:e,description:t,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:p=""}){const m=s??i??"main",h=o.useRef(null),[v,y]=o.useState("main"),g=nn("(max-width: 767px)"),_=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const b=Ur(x),w=(k,B,N)=>{if(N!==void 0)x.style.setProperty(B,N),_.current[k]=!0;else if(_.current[k]){const A=b?.[k];A?x.style.setProperty(B,A):x.style.removeProperty(B),_.current[k]=!1}};w("title","--promo-banner-bg-title",u),w("description","--promo-banner-bg-description",d)},[u,d,m]),o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const b=Ur(x);y(b?.actionVariant??"main")},[m]);const f=Se("promo-banner",`promo-banner--${l}`,p),C=Xi[m];return n.jsxs("div",{ref:h,className:f,role:"note",children:[n.jsx(C,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(le,{htmlType:"button",size:40,variant:c??v,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function ab({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=ve.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),c=o.Children.toArray(e),u=c.length,[d,p]=o.useState(0),[m,h]=o.useState(!1),[v,y]=o.useState(!1),[g,_]=o.useState(!1),f=o.useRef(null),C=o.useRef(null),x=o.useRef(null),b=Hr(),w=m||v||g,k=u>0?Math.min(d,u-1):0;o.useEffect(()=>{if(u<2||t<=0||w||b)return;const N=window.setInterval(()=>p(A=>(Math.min(A,u-1)+1)%u),t);return()=>window.clearInterval(N)},[u,t,w,b]);const B=N=>{C.current!=null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>{C.current=null,_(!1)},N)};return o.useEffect(()=>()=>{C.current!=null&&window.clearTimeout(C.current)},[]),o.useEffect(()=>{if(!g)return;const N=A=>{A.pointerType==="touch"&&(x.current&&x.current.contains(A.target)||(C.current!=null&&(window.clearTimeout(C.current),C.current=null),_(!1)))};return document.addEventListener("pointerdown",N,!0),()=>document.removeEventListener("pointerdown",N,!0)},[g]),u===0?null:n.jsxs("section",{ref:x,className:Se("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:N=>{f.current=N.pointerType},onPointerDown:N=>{f.current=N.pointerType,N.pointerType==="touch"&&(C.current!=null&&(window.clearTimeout(C.current),C.current=null),_(!0))},onPointerUp:N=>{N.pointerType==="touch"&&B(5e3)},onPointerCancel:N=>{N.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{f.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:N=>{let A=!0;try{A=N.target.matches(":focus-visible")}catch{A=!0}y(A)},onBlur:N=>{N.currentTarget.contains(N.relatedTarget)||y(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${k*100}%)`},children:c.map((N,A)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":A!==k,...A!==k?{inert:!0}:{},children:N},A))})}),u>1&&n.jsx("div",{className:`top-banner__dots${(a?.[k]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((N,A)=>n.jsx("button",{type:"button",className:`top-banner__dot${A===k?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:A+1,defaultValue:`${u}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===k,onClick:()=>p(A)},A))})]})}function rb({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=ve.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[n.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&&n.jsx("div",{className:"accordion-item__avatar",children:s}),n.jsx("div",{className:`accordion-item__title ${i}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(We,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function ob({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((u,d)=>n.jsx(rb,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:s},u.id??d))})}function sb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function ib(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function lb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function mt(e){const{t}=ve.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:w,number:k,position:B="top-right",onClick:N,animate:A=!1}=e,D=w??"check",H=k!==void 0?"number":D,R=typeof r=="number"?r:32,P=Se("circle-badge",`circle-badge--${H}`,`circle-badge--${B}`,`circle-badge--${R}`,A?"circle-badge--animate":"",N?"circle-badge--clickable":"",s),G=k!==void 0?t("badge.nthSelected",{n:k,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[D];return n.jsxs("span",{className:P,onClick:N,onKeyDown:N?S=>{S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),S.currentTarget.click())}:void 0,"aria-label":l?void 0:i??G,"aria-hidden":l||void 0,role:N?"button":l?void 0:"img",tabIndex:N?0:void 0,children:[k!==void 0&&k,k===void 0&&D==="check"&&n.jsx(sb,{}),k===void 0&&D==="remove"&&n.jsx(ib,{}),k===void 0&&D==="minus"&&n.jsx(lb,{})]})}const{label:c,children:u,variant:d="default",fill:p="filled",minWidth:m,iconLeft:h,iconRight:v,color:y}=e,g=typeof r=="number"?"medium":r??"medium",_={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",f={small:12,medium:14,large:16}[g]??14,C=Se("badge",`badge--${d}`,`badge--${g}`,p!=="filled"?`badge--${p}`:"",_,s),x=y?.startsWith("--")?`var(${y})`:y,b=m!==void 0||x?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},...x?{"--badge-color":x}:{}}:void 0;return n.jsxs("span",{className:C,style:b,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&n.jsx(We,{icon:h,size:f,className:"badge__icon"}),c??u,v&&n.jsx(We,{icon:v,size:f,className:"badge__icon"})]})}function wa({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=ve.useTranslation(),i=r==="small"?40:48,[l,c]=o.useState([]),u=o.useMemo(()=>{const _=[{title:null,columns:e}];let f=e;for(const C of l){const x=f?.[C.ci]?.items?.[C.ii];if(!x||!Array.isArray(x.children)||!x.children.length)break;f=[{title:null,items:x.children}],_.push({title:x.label||null,columns:f})}return _},[e,l]),d=u[u.length-1],p=u.length-1,m=o.useCallback(()=>c(_=>_.slice(0,Math.max(0,Math.min(_.length,p)-1))),[p]),h=o.useRef(null),v=o.useRef(null),y=u.length;o.useEffect(()=>{v.current||(v.current=document.activeElement);let _=0,f=0;const C=()=>{const x=h.current?.querySelector("button:not([disabled])");if(x&&x.offsetParent){x.focus({preventScroll:!0});return}f++<20&&(_=requestAnimationFrame(C))};return _=requestAnimationFrame(C),()=>cancelAnimationFrame(_)},[y]),o.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=o.useCallback((_,f,C)=>{if(_){if(Array.isArray(_.children)&&_.children.length){c(x=>[...x.slice(0,p),{ci:f,ii:C}]);return}try{typeof _.onClick=="function"&&_.onClick()}catch{}try{_&&_.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(u.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?n.jsx(le,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((_,f)=>n.jsxs("div",{className:"tooltip-menu__column",children:[_.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:_.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(_.items||[]).map((C,x)=>n.jsxs(o.Fragment,{children:[C.separatorBefore&&x>0&&n.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),n.jsx(le,{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?n.jsx(mt,{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,f,x),selected:C.selected,disabled:C.disabled,showTooltipInfo:C.tooltip||!1,useBorder:!1,align:"left"})]},x))})]},f))})]})}const il=".content-area";function Xr(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(il);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&fn("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${il}) \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 Ga=52,ea=10,ll=e=>e&&e>0?e:0;function cl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:c}=ve.useTranslation(),u=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",p=r==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=o.useRef(null),[h,v]=o.useState(0),y=e.length;o.useEffect(()=>{const O=m.current;if(!O||(v(O.clientWidth),typeof ResizeObserver>"u"))return;const L=new ResizeObserver(E=>v(E[0].contentRect.width));return L.observe(O),()=>L.disconnect()},[]);const g=Ga+1,_=o.useRef(!1),f=h>0&&i.length===0&&_.current?h+g:h,C=y*(Ga+ea)-ea<=f,x=h<=0?y:i.length>0?Math.floor((h+ea)/(Ga+ea)):C?y:Math.floor((f-g+ea)/(Ga+ea)),b=h>0&&x<y,w=b?x:y,k=e.slice(0,w),B=e.slice(w),N=b||i.length>0;o.useEffect(()=>{_.current=N});const A=o.useCallback((O,L)=>({position:"fixed",bottom:window.innerHeight-O.top+8,right:window.innerWidth-O.right,zIndex:xa(L)}),[]),D=o.useId(),{open:H,toggle:R,close:P,style:G,triggerRef:S,menuRef:M}=_a({computeStyle:A,onScroll:"ignore",onResize:"reposition"}),z=o.useCallback((O,L)=>L>0?c("nav.badgeLabel",{label:O,count:L,defaultValue:"{{label}}, {{count}}\uAC1C"}):O,[c]),K=o.useCallback(()=>s?.(u),[s,u]),Z=o.useMemo(()=>B.find(O=>!!O.key&&O.key===t)??i.find(O=>O.selected||O.key&&O.key===t),[B,t,i]),q=o.useMemo(()=>[{items:[...B.map(O=>({label:O.label,icon:O.icon,badgeCount:O.badgeCount,selected:!!O.key&&O.key===t,closeOnSelect:!0,disabled:O.state==="disabled",onClick:()=>{O.state!=="disabled"&&(O.key&&a&&(a(O.key),Xr(l,"BottomNav")),P())}})),...i.map(O=>({label:O.label,icon:O.icon,badgeCount:O.badgeCount,selected:O.selected??(!!O.key&&O.key===t),closeOnSelect:!0,onClick:()=>{O.onClick?.(),P()}}))]}],[B,i,t,a,P]),te=[...B,...i].reduce((O,L)=>O+ll(L.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav","aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:p,className:"bottom-nav-item",onClick:K})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",ref:m,children:k.map((O,L)=>{const E=ll(O.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:O.icon,ariaLabel:z(O.label,E),selected:!!O.key&&O.key===t,disabled:O.state==="disabled",className:"bottom-nav-item",onClick:()=>{O.key&&(a?.(O.key),Xr(l,"BottomNav"))}}),E>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(mt,{type:"dot",position:"top-right",number:Math.min(E,99),size:24})})]},O.key??`__slot-${L}`)})}),N&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:S,className:"bottom-nav__slot",children:[n.jsx(le,{htmlType:"button",size:52,type:"dot",icon:Z?.icon??"ellipsis",ariaLabel:z(Z?.label??c("nav.more","\uB354\uBCF4\uAE30"),te),selected:!!Z,className:"bottom-nav-item",onClick:R,"aria-expanded":H,"aria-controls":H?D:void 0}),te>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(mt,{type:"dot",position:"top-right",number:Math.min(te,99),size:24})}),H&&Ut.createPortal(n.jsx("div",{id:D,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:G,ref:M,children:n.jsx(wa,{columns:q,onClose:P})}),document.body)]})})]})]})}function ul(e){if(typeof e!="string")return!1;let t="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function dl(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function cb(e){const{t}=ve.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:c,onAccount:u}=e||{},d="default";return s||i||l||c||u?n.jsxs("div",{className:"side-nav__footer",children:[s&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"bell",ariaLabel:dl(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(mt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&n.jsx(le,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function pl(e){const{t}=ve.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:p}=e||{},m=a?.key??r??"",h=a?.label??s??"",v=a?.icon??i??"",y=a?.badge??0,g=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(We,{icon:v,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),_=d==="disabled",f=`side-nav__item ${l?"active":""} ${d||""} ${_?"disabled":""} ${a?.child?"side-nav__item--child":""}`,C=o.useCallback(x=>{if(_)return;const b=x.detail>0;if(b)try{x.currentTarget.blur()}catch{}c?.(m,x.currentTarget,b)},[_,m,c]);return n.jsxs("button",{type:"button",className:f,onClick:C,"aria-label":typeof h=="string"?dl(t,h,y):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":_,children:[g,n.jsx("span",{className:"side-nav__label button-1 f",style:p,children:h}),y>0&&n.jsx(mt,{type:"dot",position:"inline",number:Math.min(y,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function ml(e){const{t}=ve.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h,scrollContainer:v}=e||{},y=m==="manager",g=o.useCallback(()=>h?.(y?"malgwi":"manager"),[h,y]);return n.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(_=>!_.section&&(_.key||_.label)).map((_,f)=>n.jsxs(o.Fragment,{children:[_.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(pl,{item:_,active:!!_.key&&_.key===r,state:_.disabled?"disabled":void 0,onClick:(C,x,b)=>{if(_.disabled)return;if(_.href){if(ul(_.href)&&window.open(_.href,"_blank","noopener,noreferrer"),b)try{x?.blur()}catch{}return}if(s?.(_.key),Xr(v,"SideNav"),!b)return;try{x?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const w=document.querySelector(".header");if(w){const k=typeof w.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&k&&w.matches(":hover"))){w.classList.add("header--force-collapsed");const B=()=>{w.classList.remove("header--force-collapsed"),w.removeEventListener("mouseenter",B)};w.addEventListener("mouseenter",B)}}}})]},_.key??`side-nav__item-${f}`)),h&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),h&&n.jsx(pl,{item:{key:"__mode-switch__",label:y?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:y?"arrow-left":"arrow-right"},onClick:g})]}),n.jsx(cb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p})]})}var Jr='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',Qr='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',ub='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 hl({appMode:e}){const{t}=ve.useTranslation(),a=e==="manager",r=a?Qr:Jr,s=ub,i=nn("(min-width: 768px) and (max-width: 1023px)");return n.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?n.jsx("img",{src:s,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function fl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h,scrollContainer:v}){const{t:y}=ve.useTranslation(),g=nn("(max-width: 767px)"),_=o.useMemo(()=>(a??[]).filter(R=>!R.section&&(R.key||R.label)).map(R=>({key:R.key,label:typeof R.label=="string"?R.label:void 0,icon:R.icon,state:R.disabled?"disabled":void 0,badgeCount:R.badge})),[a]),f=o.useCallback(R=>{const P=a?.find(G=>G.key===R);if(!P?.disabled){if(P?.href){ul(P.href)&&window.open(P.href,"_blank","noopener,noreferrer");return}t?.(R)}},[a,t]),C=o.useMemo(()=>{const R=[];return l&&R.push({key:"debug",icon:"terminal",label:y("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&R.push({key:"notifications",icon:"bell",label:y("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&R.push({key:"settings",icon:"settings",label:y("nav.settings","\uC124\uC815"),onClick:d}),p&&R.push({key:"help",icon:"message-circle-question-mark",label:y("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),u&&R.push({key:"account",icon:"user-round",label:y("nav.account","\uACC4\uC815"),onClick:u}),R},[y,l,c,d,p,u,i]),x=o.useCallback((R,P)=>({position:"fixed",top:R.bottom+8,right:Math.max(8,window.innerWidth-R.right),zIndex:xa(P)}),[]),b=o.useId(),{open:w,toggle:k,close:B,style:N,triggerRef:A,menuRef:D}=_a({computeStyle:x,onScroll:"ignore",onResize:"reposition"}),H=o.useMemo(()=>[{items:C.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===e),closeOnSelect:!0,onClick:()=>{R.onClick?.(),B()}}))}],[C,e,B]);return n.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(hl,{appMode:m}),n.jsxs("div",{className:"header__menu-button",ref:A,children:[n.jsx(le,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:c&&i&&i>0?y("nav.badgeLabel",{label:y("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):y("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:k,"aria-expanded":w,"aria-controls":w?b:void 0}),!!c&&!!i&&i>0&&n.jsx(mt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),w&&Ut.createPortal(n.jsx("div",{id:b,role:"group","aria-label":y("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:D,children:n.jsx(wa,{columns:H,onClose:B})}),document.body)]})]}),n.jsx(ml,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}),g&&n.jsx(cl,{items:_,activeKey:e??void 0,onChange:f,scrollContainer:v,appMode:m,onAppModeChange:h})]})}const db=fl,pb=()=>Dt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Cl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return Yn(`${t.toLocaleString("ko-KR")}\uC6D0`)}return Yn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function mb(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function hb(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[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||pb()}function fb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function gl(e){return{type:e.type??mb(e),plan:hb(e),label:e.label,price:Cl(e.price),originalPrice:Cl(e.originalPrice),discountLabel:e.discountLabel}}var Cb='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',gb='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>',bb='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',yb='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',vb='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>',xb='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',bl='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 Hn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},eo=new WeakMap;function _b(e){if(e)return eo.get(e)}function vn(e,t){e&&(e.style.setProperty(Hn.text,t.text),e.style.setProperty(Hn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Hn.copyright,t.copyrightColor),eo.set(e,t))}function xn(e){e&&(e.style.removeProperty(Hn.text),e.style.removeProperty(Hn.sub),e.style.removeProperty(Hn.copyright),eo.delete(e))}const yl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function vl(e={}){const t=pt(yl,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${bl}")`}})]})}const xl="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 ka='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 wb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},kb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function _l(e={}){const t=pt(wb,vn,xn),a="var(--color-main)",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.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:kb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:xl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Ab={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Bb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Nb(e={}){const t=pt(Ab,vn,xn),a="#ffffff",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.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:Bb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:xl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${bl}")`}})]})}const Db={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Sb(e={}){const t=pt(Db,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Eb={Logo_speechear_kr:{"":Jr,_white:Cb,_textWhite:gb,_black:bb},Logo_speechearManager_kr:{"":Qr,_white:yb,_textWhite:vb,_black:xb}};function jb(e,t){if(e)return Eb[e]?.[t??""]??void 0}const Tb={speechear:Jr,manager:Qr},Mb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},wl=10;function kl(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?t("passCard.remainingMinute",{n:s}):t("passCard.remainingSecond",{n:Math.floor(e)})}function Lb(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),s=a==="\uC624\uD508\uD2B9\uAC00"||a===Dt.t("passCard.specialLabel");return r?n.jsx(Sb,{}):s?n.jsx(Nb,{}):n.jsx(_l,{})}return n.jsx(vl,{})}function Al({product:e,showPrice:t=!1,plan:a,type:r,endDate:s,remainingSeconds:i,endInclusive:l=!1,state:c="active",bg:u,bgOnly:d=!1,textColor:p,subColor:m,copyrightColor:h,logoSrc:v,label:y,price:g,originalPrice:_,discountLabel:f,onUse:C,onRefund:x,onDelete:b}){const{t:w}=ve.useTranslation(),k=e?gl(e):void 0,B=r??k?.type??"speechear",N=a??k?.plan??w("passCard.planSuffix","\uC774\uC6A9\uAD8C"),A=y??k?.label,D=g??(t?k?.price:void 0),H=_??(t?k?.originalPrice:void 0),R=f??k?.discountLabel,P=o.useMemo(()=>{if(D)return null;const re=e?.durationDays??fb(e?.code);if(!re||re<=0)return i!=null?{percent:null,remainingLabel:kl(i,w)}:null;const W=re*86400;let ie;if(i!=null)ie=i;else if((c==="active"||c==="expired")&&s){const ye=new Date(s).getTime();if(Number.isNaN(ye))return null;const ge=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(s)),we=/^(\d{4})-(\d{2})-(\d{2})/.exec(ga()),Ce=Math.round(ge&&we?(Date.UTC(+ge[1],+ge[2]-1,+ge[3])-Date.UTC(+we[1],+we[2]-1,+we[3]))/864e5:(ye-Date.now())/864e5);ie=Math.max(0,l?Ce+1:Ce)*86400}else c==="expired"?ie=0:ie=W;const pe=Math.max(0,Math.min(100,Math.floor(Math.min(ie,W)/W*100)));return c==="pending"&&pe>=100?null:{percent:pe,remainingLabel:kl(ie,w)}},[D,c,s,i,l,e?.durationDays,e?.code,w]),G=o.useRef(null),[S,M]=o.useState({}),[z,K]=o.useState(null),Z=!!(C||x||b),q=o.useRef(!1),te=o.useRef(void 0),[O,L]=o.useState(v);o.useLayoutEffect(()=>{L(v)},[v]),o.useLayoutEffect(()=>{const re=G.current;re&&(p!==void 0&&re.style.setProperty("--pass-card-text",p),m!==void 0&&re.style.setProperty("--pass-card-sub",m),h!==void 0&&re.style.setProperty("--pass-card-copyright",h))},[p,m,h]),o.useLayoutEffect(()=>{const re=G.current;if(!re)return;const W=_b(re);if(!v){const ie=Mb[B],pe=c==="expired"?"_black":W?.logoColor??"",ye=jb(ie,pe);L(ye)}},[u,v,B,c]);const E=re=>{const W=G.current;if(!W)return null;const{left:ie,top:pe,width:ye,height:ge}=W.getBoundingClientRect(),we=(re.clientX-ie)/ye-.5;return{rotateX:-((re.clientY-pe)/ge-.5)*wl,rotateY:we*wl}},I=(re,W)=>{const ie=W*-.7,pe=re*.7+10,ye=20+(Math.abs(re)+Math.abs(W))*.4;return`${ie}px ${pe}px ${ye}px rgba(0, 0, 0, 0.18)`},F=o.useCallback(re=>{if(Jn())return;q.current=!0,clearTimeout(te.current),te.current=setTimeout(()=>{q.current=!1},200);const W=E(re);W&&M({transform:`perspective(800px) rotateX(${W.rotateX}deg) rotateY(${W.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:I(W.rotateX,W.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),$=o.useCallback(re=>{if(Jn())return;const W=E(re);if(!W)return;const ie=q.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";M({transform:`perspective(800px) rotateX(${W.rotateX}deg) rotateY(${W.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:I(W.rotateX,W.rotateY),transition:ie})},[]),T=o.useCallback(()=>{clearTimeout(te.current),q.current=!1,M({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)"})},[]),Y=o.useCallback(()=>K(null),[]),U=o.useMemo(()=>{const re=w("passCard.planSuffix","\uC774\uC6A9\uAD8C"),W=N.replace("\uC774\uC6A9\uAD8C","").replace(re==="\uC774\uC6A9\uAD8C"?"":re,"").trim(),ie=W.match(/^(.*?)(일|년)$/);return ie?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:ie[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:ie[2]==="\uB144"?w("passCard.unitYear","\uB144"):w("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:W})},[N,w]),J=o.useMemo(()=>{const re=Yn(D);if(!re)return null;const W=re.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!W)return n.jsx("span",{className:"h1",children:re});const[,ie,pe,ye]=W;return n.jsxs(n.Fragment,{children:[ie&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ie}),n.jsx("span",{className:"h1 pass-card__price-amount",children:pe}),ye.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ye.trim()})]})},[D]),ce=o.useCallback(()=>{Z&&K(re=>{if(re)return null;const W=G.current?.getBoundingClientRect();if(!W)return null;const ie=50;return{left:W.left,right:W.right,width:W.width,height:W.height,x:W.x,y:W.y+ie,top:W.top+ie,bottom:W.bottom+ie}})},[Z]),Ee=o.useCallback(re=>{Z&&(re.key==="Enter"||re.key===" ")&&(re.preventDefault(),ce())},[Z,ce]),de=[{items:[...C?[{label:w("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{C(),K(null)},closeOnSelect:!0}]:[],...x?[{label:w("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{x(),K(null)},closeOnSelect:!0}]:[],...b?[{label:w("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{b(),K(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:G,className:`pass-card pass-card--${c}${Z?" pass-card--clickable":""}`,style:S,onMouseEnter:F,onMouseMove:$,onMouseLeave:T,onPointerUp:re=>{re.pointerType==="touch"&&T()},onPointerCancel:re=>{re.pointerType==="touch"&&T()},onClick:ce,onKeyDown:Z?Ee:void 0,role:Z?"button":void 0,tabIndex:Z?0:void 0,"aria-haspopup":Z?"menu":void 0,"aria-expanded":Z?!!z:void 0,children:[u??Lb(B,N,A),!d&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:O??Tb[B],className:"pass-card__logo",alt:B==="manager"?w("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):w("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:U}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:A?w("passCard.labeledPlan",{label:A}):w("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?n.jsxs("div",{className:"pass-card__price-area",children:[R&&n.jsx("span",{className:"pass-card__discount body-3",children:R}),n.jsxs("div",{className:"pass-card__price",children:[H&&n.jsx("span",{className:"pass-card__price-original body-3",children:Yn(H)}),J]})]}):P?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:P.remainingLabel}),P.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:P.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),z&&n.jsx(gn,{anchorRect:z,onClose:Y,ariaLabel:w("tooltip.menu","\uBA54\uB274"),children:n.jsx(wa,{columns:de,onClose:Y,size:"small"})})]})}const $b={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Rb(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=pt($b,vn,xn);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.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:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.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(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}const Pb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Ib(e={}){const t=pt(Pb,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}function Fb(e,t){if(e){if(t==="manager_pro")return n.jsx(Ib,{});if(t==="manager_standard")return n.jsx(Rb,{});if(t==="manager_lite")return n.jsx(_l,{})}}function Ob(e){const t=Yn(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,s,i]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Hb(e){const{t}=ve.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=b=>!!b&&!!c?.includes(b),d=b=>b.onceOnly??/오픈\s*특가/.test(b.label??""),p=(s.tiers||[]).some(b=>d(b)&&u(b.code)),m=b=>{const w=b.prices?b.prices[l]:b.price;return w?(s.tiers||[]).some(k=>!!k.badge&&k.originals?.[l]===w):!1},h=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),y=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=b=>b.prices?b.prices[l]:b.price,_=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const w=g(b);return w==="\uBB34\uB8CC"||w===v||w==="0\uC6D0"||typeof w=="string"&&/\d/.test(w)&&!/[1-9]/.test(w)}),f=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const w=g(b);return w==="\uBB38\uC758"||w===y}),C=s.group==="org",x=C?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(mt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:s.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((b,w)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(We,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),b]},w))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((b,w)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(We,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),b]},w))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:_?null:f?n.jsx(le,{htmlType:"button",className:"payment-plan__contact-button",label:t("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})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(b=>{const w=b.label||a,k=d(b),B=k||b.openPromo===!0,N=w.replace(/^오픈\s*특가\s*/,"")||a,A=b.prices?b.prices[l]:b.price,D=b.badge?B?`${r}
|
|
852
|
+
${b.badge}`:b.badge:void 0;if(k&&u(b.code))return null;if(!b.badge&&!p)return m(b)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${b.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:b.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:Ob(A)})})]},b.id);const H=s.tier??(C?s.title:void 0),R=n.jsx(Al,{showPrice:!0,product:{type:x,code:b.code,name:N,label:H,price:A,originalPrice:b.originals?.[l]??void 0,discountLabel:D},bg:Fb(C,s.id)}),P=()=>i?.({...b,productId:s.id,productTitle:s.title,preview:R});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:P,onKeyDown:i?G=>{G.target===G.currentTarget&&(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),P())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:R},b.id)})})})})]})}function zb({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var to='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 Bl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Vb(){const e=pt(Bl,vn,xn);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${to}")`}})})}const Nl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function Wb(e={}){const t=pt(Nl,vn,xn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${ka}")`}})]})}function Dl({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return n.jsx("span",{className:Se("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const Aa=(e,t,a)=>e+(t-e)*a;function qb({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:p,clickable:m=!1,onSelectSpeaker:h,buttonSize:v=40,showIcon:y=!0,onCenterClick:g,centerLabel:_,centerDisabled:f=!1,centerAttention:C=!1,shortcutAnchor:x="top-right",shortcutScale:b,scaleShortcut:w=!1}){const{t:k}=ve.useTranslation(),B=Math.max(0,Math.min(1,a)),N=t/2,A=110/300,D=.18,H=W=>t*(A+(W-1)*D),R=W=>{const ie=H(W.row??1),pe=W.angleDeg*Math.PI/180;return{x:N+ie*Math.cos(pe),y:N+ie*Math.sin(pe)}},P=Math.max(...e.map(W=>W.row??1),1),G=t*.08,S=t*.1,M=t*.24,z=t-2*G,K=t-S-M,Z=t-M/2,q=o.useMemo(()=>[...new Set(e.map(W=>W.deg))].sort((W,ie)=>W-ie),[e]),te=q.length,O=Math.max(68,te>1?z/(te-1):0),L=o.useMemo(()=>new Map(q.map((W,ie)=>[W,ie])),[q]),E=W=>{const ie=L.get(W.deg)??0,pe=N+(ie-(te-1)/2)*O,ye=P>1?Math.min(68,K/(P-1)):0,ge=ye*(P-1),we=S+(K-ge)/2,Ce=P===1?S+K*.4:we+(P-(W.row??1))*ye;return{x:pe,y:Ce}},I=W=>{const ie=R(W),pe=E(W);return{x:Aa(ie.x,pe.x,B),y:Aa(ie.y,pe.y,B)}},F={x:N,y:Aa(N,Z,B)},$=Math.round(v*1.2),T=Math.round(Math.max(16,Math.min(80,v*.7))),Y=[],U=new Map;for(const W of e){const ie=W.row??1;U.has(ie)||U.set(ie,[]),U.get(ie).push(W)}for(const[W,ie]of U.entries()){if(ie.length<2)continue;const pe=[...ie].sort((_e,Ke)=>_e.deg-Ke.deg),ye=pe.map(_e=>I(_e)),ge=pe.map(_e=>_e.deg),we=ge[ge.length-1]-ge[0],Ce=we/(ge.length-1),Be=360-we,De=pe.length>=3&&Ce>0&&Be<=Ce*1.5,oe=Math.round(H(W)*1e3)/1e3,ee=(_e,Ke,Ve,qe)=>{const je=(Ke.angleDeg-_e.angleDeg+540)%360-180;if(je===0)return`L ${qe.x} ${qe.y}`;if(B===0)return`A ${oe} ${oe} 0 0 ${je>0?1:0} ${qe.x} ${qe.y}`;const Ue=(_e.angleDeg+je/2)*Math.PI/180,Le={x:N+oe*Math.cos(Ue),y:N+oe*Math.sin(Ue)},Ie={x:(Ve.x+qe.x)/2,y:(Ve.y+qe.y)/2},ze={x:Aa(Le.x,Ie.x,B),y:Aa(Le.y,Ie.y,B)},nt={x:2*ze.x-Ie.x,y:2*ze.y-Ie.y};return`Q ${nt.x} ${nt.y} ${qe.x} ${qe.y}`},fe=De?[...pe,pe[0]]:pe,ae=De?[...ye,ye[0]]:ye;let be=`M ${ae[0].x} ${ae[0].y}`;for(let _e=1;_e<ae.length;_e++)be+=" "+ee(fe[_e-1],fe[_e],ae[_e-1],ae[_e]);Y.push({key:`arc-${W}`,d:be})}const J=o.useMemo(()=>new Set(s??[]),[s]),ce=W=>({idle:"",active:k("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:k("soundCompass.state.played","\uB4E4\uC74C"),correct:k("soundCompass.state.correct","\uC815\uB2F5"),wrong:k("soundCompass.state.wrong","\uC624\uB2F5")})[W],Ee=W=>{if(r===W.id)return"active";if(c){if(W.id===l)return"correct";if(W.id===i&&i!==l)return"wrong"}return J.has(W.id)?"played":"idle"},de=W=>r===W.id?"loop":c?W.id===l?"loop":null:u&&W.id===i?"once":null,re=(W,ie)=>{switch(W){case"played":case"correct":return n.jsx(as,{size:ie});case"wrong":return n.jsx(ms,{size:ie});default:return n.jsx(ps,{size:ie})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(W=>{const{x:ie,y:pe}=I(W);return n.jsx("line",{x1:F.x,y1:F.y,x2:ie,y2:pe,stroke:"#dde3ec",strokeWidth:"1"},W.id)}),Y.map(W=>n.jsx("path",{d:W.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},W.key))]}),C&&!f&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:$,height:$,left:F.x-$/2,top:F.y-$/2}}),g?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${f?" sound-compass__center--disabled":""}`,style:{width:$,height:$,left:F.x,top:F.y},"aria-label":_,"aria-disabled":f||void 0,tabIndex:f?-1:0,onClick:f?void 0:g,children:n.jsx(fr,{size:T,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:$,height:$,left:F.x,top:F.y},children:n.jsx(fr,{size:T,color:"currentColor",strokeWidth:1.5})}),e.map((W,ie)=>{const{x:pe,y:ye}=I(W),ge=Ee(W),we=de(W),Ce={...b!==void 0||w?{"--shortcut-badge-scale":String(b??Math.max(.75,Math.min(3,v/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:ge!=="idle"?10:1},Be=v,De=Math.round(Math.max(10,Math.min(56,Be*.38))),oe=Math.round(Math.max(7,Math.min(18,Be*.2))),ee=Math.round(Math.max(10,Math.min(56,Be*.4))),fe=y==="answered"&&(ge==="played"||ge==="correct"||ge==="wrong"),ae=y===!0||fe,be=!fe;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Ce,left:pe-Be/2,top:ye-Be/2},children:[we&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ge}`+(we==="once"?" sound-compass__pulse--once":""),style:{width:Be,height:Be,...we==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),n.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>h?.(W.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ge}`,style:{width:Be,height:Be},"aria-label":ce(ge)?`${W.label}, ${ce(ge)}`:W.label,"aria-pressed":i!=null?W.id===i:void 0,children:[ae&&re(ge,De),be&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:y===!0?oe:ee},children:ie+1})]}),W.shortcut&&n.jsx(Dl,{keys:W.shortcut,anchor:x,className:"sound-compass__speaker-shortcut"})]},W.id)})]})})}function Ub({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:Se("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function Gb({orientation:e="horizontal",label:t,className:a=""}){const r=Se("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function Sl({checked:e,onChange:t,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const c=o.useId();return n.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[n.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:u=>t?.(u.target.checked)}),n.jsx("span",{className:"radio__dot"}),i&&n.jsx("span",{className:"radio__label body-2",children:i})]})}function Kb({options:e,value:t,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=o.useId(),d=r??`radio-group-${u}`;return n.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(p=>n.jsx(Sl,{name:d,value:p.value,checked:t===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const Yb={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Zb({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=ve.useTranslation(),[d,p]=o.useState(!1),m=o.useRef(null),h=o.useCallback(()=>{const C=m.current;C&&C.contains(document.activeElement)&&Wa(C),p(!0),i?.()},[i]);if(d)return null;const v=Se("alert",`alert--${e}`,c),y=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=y==="assertive"?"alert":y==="polite"?"status":void 0,_=!!t,f=!!(a||r);return n.jsxs("div",{ref:m,className:v,role:g,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(We,{icon:Yb[e],size:20,className:"alert__icon"}),_&&n.jsx("span",{className:"alert__title body-2",children:t}),!_&&f&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),_&&f&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const Xb={ready:"search",guide:"info",error:"circle-alert"};function Jb(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const c=e.indexOf(l,s);c<0||(c>s&&r.push(e.slice(s,c)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=c+l.length)}return s<e.length&&r.push(e.slice(s)),r}function Qb({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??Xb[e],c=Se("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&r&&r.length>0?Jb(u,r):u;return n.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(We,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Ba({title:e,items:t}){const{t:a}=ve.useTranslation(),{anchorRect:r,openAt:s,close:i}=va(),l=o.useRef(null),c=Vr(!!r,(u,d)=>{u&&d?s(l.current?.querySelector("button")??d):i()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(le,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Xn(u)||s(u.currentTarget)},onPointerLeave:u=>{Xn(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{Jn()||s(u.currentTarget)},onBlur:i}),r&&n.jsx(Fn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function e4({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=ve.useTranslation(),c=o.useRef(null),u=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===t)?t:u??e[0]?.key,p=e.find(g=>g.key===d&&!g.disabled)?.key??u,m=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(g,_=m())=>{if(_.length===0)return;const f=(g%_.length+_.length)%_.length;_[f]?.focus(),_[f]?.click()},v=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const _=m(),f=_.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?h(f+1,_):g.key==="ArrowLeft"||g.key==="ArrowUp"?h(f-1,_):g.key==="Home"?h(0,_):h(_.length-1,_)},y=e.find(g=>g.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:c,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(g=>n.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!==t&&a?.(g.key)},onKeyDown:v,children:g.label},g.key))}),y&&n.jsx("div",{id:`tabs__panel-${i}-${y.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${y.key}`,tabIndex:0,className:"tabs__panel",children:y.panel},y.key)]})}const t4={xs:12,sm:16,md:20,lg:28,xl:36};function n4(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function a4({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=ve.useTranslation(),[l,c]=o.useState(null),u=!!e&&l===e,d=t?n4(t):"",p=!!e&&!u,m=!p&&!!d,h=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":h,children:[p&&n.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>c(e??null)}),!p&&m&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!p&&!m&&n.jsx(We,{icon:"user-round",size:t4[a],className:"avatar__icon"})]})}function r4(e,t){if(!t)return!0;const a=t.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 o4({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:c=""}){const{t:u}=ve.useTranslation(),d=o.useRef(null),[p,m]=o.useState(!1),[h,v]=o.useState([]),y=i??h,g=k=>{if(!k||k.length===0)return;const B=Array.from(k).filter(A=>r4(A,t));if(B.length===0)return;const N=a?B:B.slice(0,1);if(i===void 0){const A=a?[...y,...N]:N;v(A),e?.(A)}else e?.(N)},_=k=>{k.preventDefault(),!r&&m(!0)},f=k=>{k.preventDefault(),m(!1)},C=k=>{k.preventDefault(),m(!1),!r&&g(k.dataTransfer.files)},x=k=>{const B=k.target;try{g(B.files)}finally{B.value=""}},b=()=>{r||d.current?.click()},w=k=>{if(!r&&(l?.(k),i===void 0)){const B=y.filter((N,A)=>A!==k);v(B),l||e?.(B)}};return n.jsxs("div",{className:`file-upload ${c}`.trim(),children:[n.jsxs("div",{className:Se("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:b,onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),b())},onDragOver:_,onDragLeave:f,onDrop:C,children:[n.jsx(We,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:k=>{k.stopPropagation(),b()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:x,tabIndex:-1})]}),s&&y.length>0&&n.jsx("ul",{className:"file-upload__list",children:y.map((k,B)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:k.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:k.name}),disabled:r,onClick:()=>w(B),children:n.jsx(We,{icon:"x",size:14})})]},`${k.name}-${B}`))})]})}function s4({items:e,className:t=""}){const{t:a}=ve.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[i?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.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?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&n.jsx(We,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const i4={small:14,medium:20,large:28};function l4({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:c}=ve.useTranslation(),u=r||!t,[d,p]=o.useState(null),m=u?e:Number.isFinite(e)?Math.round(e):0,h=d??m,v=i4[s],y=k=>{k!==e&&t?.(k)},g=k=>{u||y(k)},_=k=>{u||Jn()||p(k)},f=o.useRef(null),C=k=>{const B=Math.min(a,Math.max(1,k));y(B),Array.from(f.current?.querySelectorAll("[data-star]")??[]).find(N=>N.dataset.star===String(B))?.focus()},x=k=>{if(!u){switch(k.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}k.preventDefault()}},b=m>=1&&m<=a?Math.round(m):1,w=()=>{u||p(null)};return n.jsx("div",{className:`rating rating--${s}${u?" rating--readOnly":""} ${l}`.trim(),ref:f,onKeyDown:x,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:w,onPointerUp:k=>{k.pointerType==="touch"&&w()},onPointerCancel:k=>{k.pointerType==="touch"&&w()},children:Array.from({length:a},(k,B)=>{const N=B+1,A=Math.max(0,Math.min(1,h-B)),D=A>0&&A<1,H=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(We,{icon:"star",size:v,className:"rating__star rating__star--empty"}),A>0&&n.jsx("span",{className:`rating__star-fill${D?" rating__star-fill--half":""}`,style:D?{width:`${A*100}%`}:void 0,children:n.jsx(We,{icon:"star",size:v,className:"rating__star rating__star--filled"})})]});return u?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:H},N):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===N,"aria-label":c("rating.starLabel",{n:N}),"data-star":N,tabIndex:N===b?0:-1,onClick:()=>g(N),onMouseEnter:()=>_(N),children:H},N)})})}const c4=20,u4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function d4({value:e,onChange:t,palette:a=u4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=ve.useTranslation();return n.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&n.jsx(We,{icon:"check",size:c4,className:"color-picker__check"})},c)})})}function p4({icon:e,count:t,title:a,className:r="",onClick:s,onMouseEnter:i,onMouseLeave:l}){const c=Se("count-tile",s&&"count-tile--clickable",r);return n.jsxs("div",{className:c,onClick:s,onKeyDown:s?u=>{u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),u.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:s?"button":"img",tabIndex:s?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[n.jsx(We,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}let Na=0,El="",no="",Da=0;function jl(){return Tl(!1)}function m4(){return Tl(!0)}function Tl(e){const t=typeof document<"u";Na===0&&t&&(El=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Da===0&&(no=document.body.style.paddingRight),Da++,document.body.style.paddingRight="0px"),Na++;let a=!1;return()=>{a||(a=!0,Na=Math.max(0,Na-1),e&&t&&(Da=Math.max(0,Da-1),Da===0&&(no?document.body.style.paddingRight=no:document.body.style.removeProperty("padding-right"))),Na===0&&t&&(document.body.style.overflow=El))}}function h4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function f4({open:e,onClose:t,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:p}){const{t:m}=ve.useTranslation(),h=o.useId(),v=o.useRef(null),y=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const C=document.activeElement,x=jl(),b=v.current;return Fr(b,C),b?.focus(),()=>{x();const w=document.activeElement;(!w||w===document.body||b&&b.contains(w))&&Or(C)?.focus?.()}},[e]);const g=o.useRef(y),_=o.useRef(c);o.useEffect(()=>{g.current=y,_.current=c}),o.useEffect(()=>{if(e)return In(()=>{_.current&&g.current()})},[e]);const f=o.useRef(!1);return Pr(v,e),!e||typeof document>"u"?null:Ut.createPortal(n.jsx("div",{className:Se("dialog",d),onPointerDown:l?C=>{f.current=C.target===C.currentTarget}:void 0,onMouseDown:C=>{C.target===C.currentTarget&&C.preventDefault()},onClick:l?C=>{const x=f.current;f.current=!1,x&&C.target===C.currentTarget&&y()}:void 0,children:n.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Se("dialog__surface",`dialog__surface--${i}`,p),onClick:C=>C.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,u?n.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:y,children:n.jsx(h4,{})}):null,n.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function C4({columns:e,rows:t,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=ve.useTranslation(),p=!l&&t.length===0;return n.jsxs("div",{className:Se("board",u),children:[r||s?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),s?n.jsx("div",{className:"board__toolbar",children:s}):null]}):null,n.jsxs("table",{className:"board__table",children:[c?n.jsx("caption",{className:"board__caption",children:c}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(m=>n.jsx("th",{scope:"col",className:Se("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((m,h)=>n.jsx("tr",{className:"board__row",children:e.map(v=>n.jsx("td",{className:Se("board__td",`board__cell--${v.align??"left"}`),children:v.render(m,h)},v.key))},a(m,h)))})]})]})}function g4({name:e,role:t,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return n.jsxs("div",{className:Se("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,s?.length?n.jsx("ul",{className:"person-card__credentials",children:s.map(c=>n.jsx("li",{children:c},c))}):null]})}function b4({groups:e,className:t=""}){return n.jsx("div",{className:Se("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>n.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function y4({title:e,kind:t,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:c=""}){const u=r??(s?n.jsx("img",{src:s,alt:""}):null);return n.jsxs("div",{className:Se("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),i?n.jsx("div",{className:"publication-card__footer",children:i}):null]})}function v4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const s=ba(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function x4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const c=s===1?"h1":"h2";return n.jsxs("div",{className:Se("section-header",`section-header--${i}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(c,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function _4({items:e,className:t=""}){return n.jsx("ul",{className:Se("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Ml({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const s=o.useId(),[i,l]=o.useState(!1),[c,u]=o.useState(-1),d=o.useRef(null),p=o.useMemo(()=>{if(!a.length)return[];const B=e??"";return B?a.filter(N=>N.toLowerCase().includes(B.toLowerCase())):r?a:[]},[a,e,r]),[m,h]=o.useState(!1),v=o.useRef([]),y=m&&p.length===0?v.current:p;o.useEffect(()=>{y.length&&(v.current=y)},[y]);const g=o.useCallback(()=>h(!0),[]),_=o.useCallback(()=>h(!1),[]);o.useEffect(()=>{i||u(-1)},[i]),o.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const f=c<y.length?c:-1,C=o.useCallback(B=>{t?.(B),l(!1)},[t]),x=o.useCallback(()=>l(!0),[]),b=o.useCallback(()=>{l(!0),u(-1)},[]),w=o.useCallback(()=>{d.current=setTimeout(()=>l(!1),120)},[]),k=o.useCallback(B=>{B.nativeEvent.isComposing||B.keyCode===229||(B.key==="ArrowDown"?(B.preventDefault(),l(!0),u(N=>Math.min(y.length-1,(N<y.length?N:-1)+1))):B.key==="ArrowUp"?(B.preventDefault(),u(N=>Math.max(-1,(N<y.length?N:y.length)-1))):B.key==="Enter"?f>=0&&C(y[f]):B.key==="Escape"&&i&&(B.preventDefault(),l(!1)))},[y,f,i,C]);return{listId:s,open:i,activeIdx:f,filtered:y,handleFocus:x,handleBlur:w,handleInput:b,handleKeyDown:k,handleSelect:C,handleCompositionStart:g,handleCompositionEnd:_}}const ao=typeof window<"u"?o.useLayoutEffect:o.useEffect;function zn(e){const{value:t,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:c,required:u,placeholder:d,type:p="text",disabled:m=!1,readOnly:h=!1,error:v,helperText:y,maxLength:g,size:_=48,variant:f="input",fullWidth:C=!1,newline:x=!1,multiline:b=!1,rows:w=3,leftIcon:k,rightIcon:B,clearable:N=!1,list:A,showCount:D=!0,className:H="",onFocus:R,onBlur:P,onKeyDown:G,onEnter:S,inputMode:M,autoComplete:z,autoFocus:K,suggestions:Z,openOnFocus:q=!1}=e,te=h||m?void 0:Z,{t:O}=ve.useTranslation(),L=o.useId();!l&&!c&&fn(`TextField:unnamed:${L}`,"[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 E=`tf-${L}`,I=`tf-helper-${L}`,F=o.useRef(null),$=Ml({value:t??"",onChange:i,suggestions:te??[],openOnFocus:q}),T=!!te&&$.open&&$.filtered.length>0,Y=o.useRef(null),[U,J]=o.useState(null),ce=o.useCallback(()=>{const ae=Y.current;if(!ae||typeof window>"u")return;const be=ae.getBoundingClientRect(),_e=230,Ke=window.innerHeight-be.bottom<_e+8&&be.top>_e+8;J({position:"fixed",left:be.left,width:be.width,...Ke?{bottom:window.innerHeight-be.top+8}:{top:be.bottom+8},zIndex:xa(ae)})},[]);ao(()=>{if(!T)return;ce();const ae=be=>{const _e=be.target;_e&&_e.nodeType===1&&_e.closest?.(".text-field__suggestions")||ce()};return window.addEventListener("scroll",ae,!0),window.addEventListener("resize",ce),()=>{window.removeEventListener("scroll",ae,!0),window.removeEventListener("resize",ce)}},[T,ce]);const Ee=o.useCallback(ae=>{F.current=ae,typeof s=="function"?s(ae):s&&(s.current=ae)},[s]),de=t!==void 0,re=de&&p==="password",[W,ie]=o.useState((a??"").length),pe=de?(t??"").length:W,ye=o.useRef(t);ao(()=>{ye.current=t}),o.useEffect(()=>{const ae=F.current;if(!re||!ae)return;const be=t??"";ae.value!==be&&(ae.value=be)},[re,t]),o.useEffect(()=>{if(!x||!F.current)return;const ae=F.current;ae.style.height="",ae.scrollHeight>ae.clientHeight&&(ae.style.height=`${ae.scrollHeight}px`)},[t,W,x]);const ge=g!=null&&pe>g,we=_===32?16:20,Ce=Se("text-field",`text-field--s${_}`,f==="display"?"text-field--display":"",C?"text-field--full-width":"",m?"text-field--disabled":"",h?"text-field--readonly":"",v?"text-field--error":"",k?"text-field--has-left-icon":"",B||N?"text-field--has-right-icon":"",H),Be={id:E,...re?{}:de?{value:t}:{defaultValue:a},ref:Ee,placeholder:d,name:r,disabled:m,readOnly:h,autoFocus:K,maxLength:g,list:A,inputMode:M,autoComplete:z,"aria-label":!l&&c?c:void 0,"aria-required":u,"aria-invalid":!!v,"aria-describedby":y||v?I:void 0,role:te?"combobox":void 0,"aria-autocomplete":te?"list":void 0,"aria-haspopup":te?"listbox":void 0,"aria-expanded":te?$.open:void 0,"aria-controls":T?$.listId:void 0,"aria-activedescendant":T&&$.activeIdx>=0?`${$.listId}-option-${$.activeIdx}`:void 0,onChange:ae=>{const be=ae.target;de||ie(be.value.length),i?.(be.value),te&&$.handleInput(),re&&queueMicrotask(()=>{const _e=ye.current??"";be.value!==_e&&(be.value=_e)})},onCompositionStart:te?$.handleCompositionStart:void 0,onCompositionEnd:te?$.handleCompositionEnd:void 0,onFocus:(ae=>{R?.(ae),te&&$.handleFocus()}),onBlur:(ae=>{P?.(ae),te&&$.handleBlur()}),onKeyDown:(ae=>{te&&ae.key==="Enter"&&!ae.nativeEvent.isComposing&&$.activeIdx>=0?ae.preventDefault():S&&ae.key==="Enter"&&!ae.nativeEvent.isComposing&&(ae.preventDefault(),S()),G?.(ae),te&&$.handleKeyDown(ae)})},De=N&&!m&&!h&&pe>0,oe=()=>x?n.jsx("textarea",{...Be,className:"text-field__input text-field__input--auto body-2",rows:1}):b?n.jsx("textarea",{...Be,className:"text-field__input text-field__input--textarea body-2",rows:w}):n.jsx("input",{...Be,type:p,className:"text-field__input body-2"}),ee=f==="display"&&!x&&!b&&!!d,fe=()=>n.jsxs(n.Fragment,{children:[oe(),ee&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:d})]});return n.jsxs("div",{ref:Y,className:Ce,children:[l&&n.jsxs("label",{htmlFor:E,className:"text-field__label caption-1",children:[l,u&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[k&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(We,{icon:k,label:"",className:"",svgClassName:"text-field__icon-svg",size:we})}),fe(),g!=null&&D&&n.jsxs("span",{className:`text-field__count caption-2${ge?" text-field__count--over":""}`,children:[pe,"/",g]}),De&&n.jsx(le,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:O("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:ae=>{ae.preventDefault()},onClick:()=>{!de&&F.current&&(F.current.value="",ie(0)),i?.("")},tabIndex:-1}),B&&!De&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(We,{icon:B,label:"",className:"",svgClassName:"text-field__icon-svg",size:we})})]}),T&&(typeof document>"u"?null:Ut.createPortal(n.jsx("ul",{id:$.listId,className:"text-field__suggestions",role:"listbox",style:U??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:$.filtered.map((ae,be)=>n.jsx("li",{id:`${$.listId}-option-${be}`,role:"option","aria-selected":be===$.activeIdx,className:`text-field__suggestion body-2${be===$.activeIdx?" is-active":""}`,onMouseDown:_e=>_e.preventDefault(),onClick:()=>{$.handleSelect(ae),F.current?.focus()},children:ae},`${ae}-${be}`))}),document.body)),(y||v)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:I,className:"text-field__helper caption-1",role:v?"alert":void 0,children:v||y})})]})}function an({options:e,value:t,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:p}){const{t:m}=ve.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),v=o.useId(),y=o.useId(),g=o.useRef(null),_=o.useCallback((S,M)=>{const z=window.innerHeight-S.bottom<260&&S.top>260;return{position:"fixed",left:S.left,minWidth:S.width,...z?{bottom:window.innerHeight-S.top+6}:{top:S.bottom+6},zIndex:xa(M)}},[]),{open:f,setOpen:C,toggle:x,style:b,triggerRef:w,menuRef:k}=_a({computeStyle:_}),[B,N]=o.useState(-1),A=o.useCallback(()=>N(-1),[]),D=e.find(S=>S.value===t);o.useEffect(()=>{if(f){const S=e.findIndex(M=>M.value===t);N(S>=0?S:e.length?0:-1),requestAnimationFrame(()=>{const M=k.current;if(!M)return;const z=M.querySelectorAll(".dropdown__option")[S];z&&(M.scrollTop=Math.max(0,z.offsetTop-M.clientHeight/2+z.clientHeight/2))})}},[f]),o.useEffect(()=>{f&&N(S=>{if(S>=0&&S<e.length)return S;const M=e.findIndex(z=>z.value===t);return M>=0?M:e.length?0:-1})},[f,e.length]);const H=o.useCallback(()=>{s||x()},[s,x]),R=o.useCallback(S=>{S.disabled||s||(S.value!==t&&a?.(S.value),C(!1))},[a,C,s,t]);o.useEffect(()=>{s&&C(!1)},[s,C]);const P=o.useCallback(S=>{if(!s){if(!f){(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(),N(M=>{let z=M+1;for(;z<e.length&&e[z].disabled;)z++;return z<e.length?z:M})):S.key==="ArrowUp"?(S.preventDefault(),N(M=>{let z=M-1;for(;z>=0&&e[z].disabled;)z--;return z>=0?z:M})):(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),e[B]?R(e[B]):C(!1))}},[s,f,e,B,R,C]),G=f?n.jsx("div",{ref:k,id:v,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:b,onMouseLeave:A,onMouseDown:S=>S.preventDefault(),children:e.map((S,M)=>n.jsxs("button",{id:`${v}-option-${M}`,type:"button",role:"option","aria-selected":S.value===t,className:Se("dropdown__option body-2",S.value===t?"dropdown__option--active":"",M===B?"dropdown__option--active":"",S.disabled?"dropdown__option--disabled":""),onMouseDown:z=>z.preventDefault(),onClick:()=>R(S),onMouseEnter:()=>N(M),disabled:S.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:S.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),S.label]},S.value))}):null;return n.jsxs("div",{ref:g,className:Se("dropdown",`dropdown--s${l}`,f?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:P,children:[n.jsxs("button",{ref:w,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":f,"aria-controls":f?v:void 0,"aria-activedescendant":f&&B>=0?`${v}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&D?y:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:s,onClick:H,onBlur:S=>{f&&!k.current?.contains(S.relatedTarget)&&C(!1)},children:[n.jsx("span",{id:y,className:`dropdown__trigger-label body-2${D?"":" dropdown__trigger-label--placeholder"}`,children:D?D.label:h}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Ut.createPortal(G,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Ka({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=ve.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),p=()=>a(Math.max(1,Math.min(d,e-1))),m=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:Se("pagination",i),children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:p}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:m})]})}function Sn(e){const{t}=ve.useTranslation(),{options:a=[],value:r=a.find(C=>!C.disabled)?.key??a[0]?.key,onChange:s=C=>{},className:i="",size:l=48,shape:c="pill",useBG:u=!0,fullWidth:d=!1,minButtonWidth:p,ariaLabel:m}=e||{},h=o.useRef(null),v=a.filter(C=>!C.disabled),y=C=>{if(!v.length)return;const x=Math.max(0,v.findIndex(w=>w.key===r)),b=C==="first"?v[0]:C==="last"?v[v.length-1]:v[(x+C+v.length)%v.length];b&&(s(b.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(w=>w.dataset.segkey===b.key)?.focus())},g=C=>{switch(C.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}C.preventDefault()},_=C=>{const x=b=>typeof b=="string"||typeof b=="number";if(!(!x(C.label)||C.count==null||C.count===!1||!x(C.count)))return`${C.label}, ${C.count}`},f=v.some(C=>C.key===r)?r:v[0]?.key;return n.jsx("div",{ref:h,onKeyDown:g,className:Se("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"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??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(C=>n.jsx(le,{htmlType:"button",role:"radio","aria-checked":C.key===r,"data-segkey":C.key,tabIndex:C.key===f?0:-1,label:C.label,count:C.count,ariaLabel:_(C),disabled:C.disabled,className:C.key===r?"is-selected":"",onClick:()=>{C.disabled||s(C.key)},size:l,shape:c,useBorder:!1,useBG:!1},C.key))})}function ro({count:e,search:t,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:c}){const{t:u}=ve.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(t||r?.length||s||i||l);return n.jsxs("div",{className:Se("toolbar",c),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((m,h)=>n.jsx(Sn,{size:40,...m},m.ariaLabel??h))]}),p&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(zn,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((m,h)=>n.jsx(an,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},h)),s&&n.jsx(an,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&n.jsx(Ka,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Ll(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Ll).join(""):""}function w4(e){let t=e.replace(/\r\n/g,`
|
|
853
853
|
`).replace(/\r/g,`
|
|
854
854
|
`);t=t.replace(/^\n+/,"").replace(/\n+$/,"");const a=t.split(`
|
|
855
855
|
`).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(`
|
|
856
|
-
`)}const k4=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),A4=/^(?: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 B4(e,t){let a=e;const r=[],s=/^(?:sh|bash|zsh|shell|console)$/.test(t.toLowerCase()),i=(l,c)=>r.push({type:l,content:c});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
|
|
857
|
-
`),y
|
|
858
|
-
`),y=C===-1?a:a.slice(0,C);i("comment",y),a=a.slice(y.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const u=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(u){i("string",u[0]),a=a.slice(u[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(A4);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 C=m[0];i(s&&k4.has(C)?"command":"identifier",C),a=a.slice(C.length);continue}const f=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(f){i("operator",f[0]),a=a.slice(f[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 N4({children:e,language:t="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=be.useTranslation(),[c,u]=o.useState(!1),d=w4(Ml(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await B2(d))return;u(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>u(!1),2e3)}catch{}},f=B4(d,t),b=s==="small"?"caption-1":"body-3";return n.jsxs("div",{className:De("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(le,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:m,ariaLabel:c?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:f.map((C,y)=>n.jsx("span",{className:`code-token ${C.type} ${b}`,children:C.content},y))})})]})}const D4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Sa(e){const{t}=be.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||t("loader.loading","Loading");if(a==="bar"){const u=s==null||!Number.isFinite(Number(s)),d=u?0:Math.max(0,Math.min(100,Number(s)));return n.jsx("div",{className:`loader-bar${u?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:u?void 0:{width:`${d}%`}})})}const c=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:c,height:c},role:"status","aria-label":l,children:[n.jsx("span",{style:D4,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function Ll({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:c}){const u=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&u,n.jsx("input",{id:c,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&s?s:void 0}),n.jsx("span",{className:"toggle__slider"}),i==="right"&&u]})}function $l({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:c,ariaLabel:u}){const d=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:De("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:c,children:[n.jsx("input",{ref:d,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:f=>{t?.(f.target.checked),d.current&&(d.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&u?u:void 0}),n.jsx("span",{className:"checkbox__box"}),s&&n.jsx("span",{className:"checkbox__label body-3",children:s})]})}function S4({count:e,actions:t,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:c}=be.useTranslation(),u=s!==void 0?s:e>0,d=r??c("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),f=o.useRef(null),b=o.useRef(u);o.useLayoutEffect(()=>{const v=m.current,x=b.current;if(b.current=u,u&&!x){const g=typeof document<"u"?document.activeElement:null;f.current=g&&g!==document.body&&!v?.contains(g)?g:null}else!u&&x&&v&&v.contains(document.activeElement)&&Wa(v,f.current)},[u]);const[C,y]=o.useState(!1),_=o.useRef(!1),h=o.useRef(null);return o.useEffect(()=>{const v=p.current;if(!v)return;const x=A=>{_.current=A,y(A)},g=()=>{const A=v.firstElementChild??v,D=Array.from(A.children);if(D.length<2){x(!1);return}const F=D[0].offsetTop,$=D.some(V=>V.offsetTop!==F);if(!_.current){h.current=v.clientWidth,$&&x(!0);return}if($)return;const R=D[0],U=D[D.length-1],E=U.offsetLeft+U.offsetWidth-R.offsetLeft,T=h.current;(T==null||E<=T)&&x(!1)};if(g(),typeof ResizeObserver>"u")return;const k=new ResizeObserver(g);k.observe(v);const w=v.parentElement;let B=w?.clientWidth??0;const N=new ResizeObserver(()=>{const A=w?.clientWidth??0;A!==B&&(B=A,h.current=null,g())});return w&&N.observe(w),()=>{k.disconnect(),N.disconnect()}},[i,e]),n.jsxs("div",{ref:m,className:`bulk-bar ${u?"bulk-bar--visible":""}`,inert:!u||void 0,"aria-hidden":u?void 0:!0,children:[n.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??n.jsx("b",{children:c("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(mt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`}),n.jsxs("div",{className:`bulk-bar__actions${C?" bulk-bar__actions--stacked":""}`,children:[n.jsx(le,{htmlType:"button",size:40,label:d,onClick:a}),t.map((v,x)=>n.jsx(le,{htmlType:"button",size:40,variant:v.variant??"default",icon:v.icon,label:v.label,onClick:v.onClick},x))]})]})}function Rl(e,t){const a=()=>{if(e){const[y,_]=e.split("-");return{y:+y,m:+_-1}}const[b,C]=Lr(t).split("-");return{y:+b,m:+C-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),c=o.useRef(e);o.useEffect(()=>{if(e===c.current)return;c.current=e;const b=a();s(b.y),l(b.m)},[e]);const u=o.useRef({y:r,m:i});o.useEffect(()=>{u.current={y:r,m:i}},[r,i]);const d=o.useCallback(b=>{const C=u.current.y*12+u.current.m+b,y=Math.floor(C/12),_=C-y*12;u.current={y,m:_},s(y),l(_)},[]),p=o.useCallback(()=>d(-1),[d]),m=o.useCallback(()=>d(1),[d]),f=o.useCallback((b,C)=>{u.current={y:b,m:C},s(b),l(C)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:f}}function Ya(e,t){return new Date(e,t+1,0).getDate()}function E4(e,t){return new Date(e,t,1).getDay()}function Za(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function j4(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function T4(e,t,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let c=s;c<=i;c++)for(let u=0;u<12;u++){const d=`${c}-${String(u+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(c,u+1)})}return l}function M4({value:e,onChange:t,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:c,today:u}){const{t:d}=be.useTranslation(),p=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),f=Lr(u),{viewY:b,viewM:C,prevMonth:y,nextMonth:_,setViewYM:h}=Rl(e,u),v=o.useId(),x=o.useCallback((S,H)=>{const P=window.innerHeight,M=window.innerWidth,L=typeof document<"u"?document.getElementById(v):null,X=L?.offsetHeight||300,W=Math.max(S.width,L?.offsetWidth||0,260),ae=P-S.bottom<X&&S.top>X,ue=8,Se=(pe,re)=>Math.min(Math.max(ue,pe),Math.max(ue,re));return{position:"fixed",left:Se(S.left,M-W-ue),width:S.width,minWidth:260,...ae?{bottom:Se(P-S.top+6,P-X-ue)}:{top:Se(S.bottom+6,P-X-ue)},zIndex:xa(H)}},[v]),{open:g,setOpen:k,toggle:w,style:B,triggerRef:N,menuRef:A}=_a({computeStyle:x,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!g)return;const S=A.current;return(S?.querySelector(".date-picker__day--selected:not(:disabled)")??S?.querySelector(".date-picker__day--today:not(:disabled)")??S?.querySelector(".date-picker__day:not(:disabled)")??S?.querySelector(Cn)??S)?.focus?.(),()=>{const H=document.activeElement;(!H||H===document.body)&&N.current?.focus?.()}},[g,A,N]);const[D,F]=o.useState(1),$=o.useRef(null),R=o.useRef(null);o.useEffect(()=>{if(!g)return;const S=e&&e.slice(0,7)===`${b}-${String(C+1).padStart(2,"0")}`?+e.slice(8):f.slice(0,7)===`${b}-${String(C+1).padStart(2,"0")}`?+f.slice(8):1;F(S)},[g]),o.useEffect(()=>{if(R.current==null)return;const S=R.current;R.current=null,$.current?.querySelector(`[data-day="${S}"]`)?.focus()}),o.useEffect(()=>{F(S=>Math.min(S,Ya(b,C)))},[b,C]);const U=o.useCallback(S=>{let H=Za(S.getFullYear(),S.getMonth(),S.getDate());r&&H<r&&(H=r),s&&H>s&&(H=s);const[P,M,L]=H.split("-").map(Number);(P!==b||M-1!==C)&&h(P,M-1),F(L),R.current=L},[r,s,b,C,h]),E=o.useCallback(S=>{const H=new Date(b,C,D),P=L=>{H.setDate(H.getDate()+L),U(H)},M=L=>{const X=H.getFullYear()*12+H.getMonth()+L,W=Math.floor(X/12),ae=X-W*12;U(new Date(W,ae,Math.min(H.getDate(),Ya(W,ae))))};switch(S.key){case"ArrowLeft":P(-1);break;case"ArrowRight":P(1);break;case"ArrowUp":P(-7);break;case"ArrowDown":P(7);break;case"Home":P(-H.getDay());break;case"End":P(6-H.getDay());break;case"PageUp":S.shiftKey?M(-12):M(-1);break;case"PageDown":S.shiftKey?M(12):M(1);break;default:return}S.preventDefault()},[b,C,D,U]),T=o.useCallback(S=>{i||(t(Za(b,C,S)),k(!1))},[b,C,t,k,i]);o.useEffect(()=>{i&&k(!1)},[i,k]);const V=S=>{const H=Za(b,C,S);return!!(r&&H<r||s&&H>s)},Y=(()=>{const S=Ya(b,C);if(D>=1&&D<=S&&!V(D))return D;for(let H=1;H<=S;H++)if(!V(H))return H;return-1})(),K=[];for(let S=0;S<E4(b,C);S++)K.push(null);for(let S=1;S<=Ya(b,C);S++)K.push(S);const G=a===64?20:a===40?16:18,J=T4(b,(S,H)=>d("calendar.yearMonth",{year:S,month:H,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),O=`${b}-${String(C+1).padStart(2,"0")}`,I=g?qt.createPortal(n.jsxs("div",{ref:A,id:v,className:"date-picker__dropdown",style:B,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:y,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(ns,{size:16,strokeWidth:2})}),n.jsx(nn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:J,value:O,onChange:S=>{const[H,P]=S.split("-");h(+H,+P-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:_,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(as,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:$,onKeyDown:E,children:[m.map(S=>n.jsx("div",{className:"date-picker__dow caption-1",children:S},S)),K.map((S,H)=>{if(S===null)return n.jsx("div",{},`e${H}`);const P=Za(b,C,S),M=P===e,L=P===f,X=V(S),W=H%7;return n.jsx("button",{type:"button",disabled:X,"data-day":S,tabIndex:S===Y?0:-1,"aria-current":L?"date":void 0,onClick:()=>!X&&T(S),className:De("date-picker__day caption-1",M&&"date-picker__day--selected",L&&!M&&"date-picker__day--today",X&&"date-picker__day--disabled",W===0&&"date-picker__day--sun",W===6&&"date-picker__day--sat"),children:S},S)})]})]}),document.body):null;return n.jsxs("div",{className:De("date-picker",`date-picker--s${a}`,g&&"date-picker--open",c),children:[n.jsxs("button",{ref:N,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&w(),disabled:i,"aria-haspopup":"true","aria-expanded":g,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?j4(e):p}),n.jsx(ps,{size:G,className:"date-picker__icon",strokeWidth:1.5})]}),I]})}function ro({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ea({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function oo({title:e,titleClassName:t="h3",icon:a,disc:r,headRight:s,headSegment:i,headMenuItems:l,collapseBelow:c=420,onClick:u,ariaLabel:d,tooltip:p,totalNum:m,totalUnit:f,totalLabel:b,subRow:C,className:y,inGrid:_=!1,children:h}){const{t:v}=be.useTranslation(),x=o.useRef(null),{anchorRect:g,openAt:k,close:w}=va(),B=o.useCallback(()=>{p&&x.current&&k(x.current)},[p,k]),[N,A]=o.useState(!1);o.useEffect(()=>{const J=x.current;if(!J||!i)return;const O=S=>A(S>0&&S<c);if(O(J.clientWidth),typeof ResizeObserver>"u")return;const I=new ResizeObserver(S=>O(S[0].contentRect.width));return I.observe(J),()=>I.disconnect()},[i,c]);const[D,F]=o.useState(null),$=o.useCallback(()=>F(null),[]),R=o.useCallback(J=>{const O=J.currentTarget.getBoundingClientRect();F(I=>I?null:{left:O.left,right:O.right,top:O.top,bottom:O.bottom,width:O.width,height:O.height,x:O.x,y:O.y})},[]),U=!!i&&N;o.useEffect(()=>{U||F(null)},[U]);const E=i?[...i.options.map(J=>({label:J.label,icon:J.icon,selected:J.key===i.value,disabled:J.disabled,onClick:()=>i.onChange(J.key),closeOnSelect:!0})),...(l??[]).map((J,O)=>O===0?{...J,separatorBefore:!0}:J)]:[],T=o.useCallback(J=>{if(!u)return;const O=J.target;O&&typeof O.closest=="function"&&O.closest('button, a, input, select, textarea, [role="radiogroup"]')||u()},[u]),V=o.useCallback(J=>{u&&J.target===J.currentTarget&&(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),u())},[u]),Y=typeof s=="function"?s({collapsed:U}):s,K=m!=null||b?n.jsxs(Ea,{label:b,children:[m!=null&&n.jsx("span",{className:"barchart-total__num h0",children:m}),f&&n.jsx("span",{className:"barchart-total__unit h5",children:f})]}):null,G=Y||i?n.jsxs("div",{className:"manager-section__head-right",children:[i&&(U?n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:i.ariaLabel??v("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:i.ariaLabel??v("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!D,onClick:R}):n.jsx(Sn,{size:32,ariaLabel:i.ariaLabel,options:i.options.map(J=>({key:J.key,label:J.label,disabled:J.disabled})),value:i.value,onChange:i.onChange})),Y]}):null;return n.jsxs("section",{ref:x,className:["manager-section",_&&"manager-section--grid",u&&"manager-section--clickable",y].filter(Boolean).join(" "),onClick:u?T:void 0,onKeyDown:u?V:void 0,onPointerEnter:p?B:void 0,onPointerLeave:p?w:void 0,onFocus:p?B:void 0,onBlur:p?w:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,"aria-label":u?d??(typeof e=="string"?e:void 0):void 0,children:[p&&g&&n.jsx(bn,{anchorRect:{left:g.left,top:g.top+21,right:g.right,bottom:g.bottom,width:g.width,height:g.height},text:p}),n.jsxs("div",{className:"manager-section__head",children:[n.jsxs("div",{className:"manager-section__title-row",children:[a&&n.jsx(qe,{icon:a,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),n.jsx("div",{className:["manager-section__title",t].filter(Boolean).join(" "),children:e})]}),G,r&&n.jsx("div",{className:"manager-section__disc body-3",children:r})]}),(K||C)&&n.jsxs("div",{className:"barchart-sub-row",children:[K,C]}),h,D&&n.jsx(gn,{anchorRect:D,onClose:$,ariaLabel:i?.ariaLabel??v("tooltip.menu","\uBA54\uB274"),children:n.jsx(wa,{columns:[{items:E}],onClose:$,size:"small"})})]})}function on(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function L4(){const e=Kn();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<on(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-on(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function $4(e){const t=Kn(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(u,d)=>`${u}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const u of e){if(isNaN(u.date.getTime()))continue;const d=r(u.date.getFullYear(),u.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(u)}for(const[u,d]of[...s.entries()]){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),f=Number(p[2])-1,b=on(m,f);if(!(u===a&&t.getDate()<b)&&!d.some(_=>_.date.getDate()<b))continue;const C=new Date(m,f,0),y=r(C.getFullYear(),C.getMonth());s.has(y)||s.set(y,[])}const i=new Map;for(const[u,d]of s){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),f=Number(p[2])-1,b=new Date(m,f+1,0).getDate(),C=d.reduce((g,k)=>Math.max(g,k.parts?.length??0,k.partsB?.length??0),0),y=d.some(g=>g.partsB),_=new Array(b+1).fill(0),h=new Array(b+1).fill(0),v=Array.from({length:b+1},()=>new Array(C).fill(0)),x=Array.from({length:b+1},()=>new Array(C).fill(0));for(const g of d){const k=g.date.getDate();if(_[k]+=g.a,h[k]+=g.b,g.parts)for(let w=0;w<C;w++)v[k][w]+=g.parts[w]??0;if(g.partsB)for(let w=0;w<C;w++)x[k][w]+=g.partsB[w]??0}i.set(u,{year:m,month:f,daysInMonth:b,partsLen:C,hasPartsB:y,dayA:_,dayB:h,dayParts:v,dayPartsB:x})}const l=(u,d,p)=>new Date(u,d,p).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c={};for(const[u,d]of i){const{year:p,month:m,daysInMonth:f,dayA:b,dayB:C,dayParts:y,dayPartsB:_}=d,h=p===t.getFullYear()&&m===t.getMonth(),v=t.getDate(),x=i.get(r(m===11?p+1:p,(m+1)%12)),g=d.partsLen,k=[];for(let B=1;B<=f;B++){const N=h&&B>v;k.push({label:String(B),...N&&b[B]===0&&C[B]===0?{future:!0}:{},a:N&&b[B]===0&&C[B]===0?-1:b[B],b:C[B],...g?{parts:y[B]}:{},...g&&d.hasPartsB?{partsB:_[B]}:{}})}const w=[];for(let B=on(p,m);B<=f;B+=7){const N=Math.max(0,B+6-f),A=N&&x?Math.max(g,x.partsLen):g,D=d.hasPartsB||!!(N&&x?.hasPartsB);let F=0,$=0;const R=new Array(A).fill(0),U=new Array(A).fill(0);for(let T=B;T<=Math.min(B+6,f);T++){F+=b[T],$+=C[T];for(let V=0;V<g;V++)R[V]+=y[T][V],U[V]+=_[T][V]}if(N&&x)for(let T=1;T<=N&&!l(x.year,x.month,T);T++){F+=x.dayA[T],$+=x.dayB[T];for(let V=0;V<x.partsLen;V++)R[V]+=x.dayParts[T][V],U[V]+=x.dayPartsB[T][V]}const E=N?`${(m+1)%12+1}/${N}`:`${B+6}`;w.push({label:`${w.length+1}\uC8FC`,sublabel:`[${B}\uC77C~${E}\uC77C]`,a:F,b:$,...A?{parts:R}:{},...A&&D?{partsB:U}:{}})}c[u]={weekly:w,daily:k}}return c}function Pl(){const e=Kn(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=t;s++){const i=s===t?a:12;for(let l=1;l<=i;l++){const c=`${s}\uB144 ${l}\uC6D4`;r.push({value:c,label:c,year:s,month:l})}}return r.reverse()}Pl();function R4(){return Pl()}const Il=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Fl(e){const{t,i18n:a}=be.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>R4().filter(A=>A.value in e),[e]),l=o.useMemo(()=>{const A=[];for(const D of i){const F=new Date(D.year,D.month,0).getDate(),$=on(D.year,D.month-1),R=Math.ceil((F-$+1)/7);for(let U=R-1;U>=0;U--)A.push({value:`${D.value}#${U}`,monthKey:D.value,year:D.year,month:D.month,week:U})}return A},[i]),c=o.useCallback(A=>{const D=t("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${D} ${Il[A.week]??`${A.week+1}`}\uC8FC`:`${D} Week ${A.week+1}`},[t,a.language]),u=o.useMemo(()=>i.map(A=>({value:A.value,label:t("calendar.yearMonth",{year:A.year,month:A.month})})),[t,i]),d=o.useMemo(()=>l.map(A=>({value:A.value,label:c(A)})),[l,c]),p=o.useMemo(()=>L4(),[e]),m=o.useMemo(()=>i.find(A=>A.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),f=o.useMemo(()=>l.find(A=>A.value===p.value)?.value??l[0]?.value??"",[l,p]),[b,C]=o.useState(""),[y,_]=o.useState("");o.useEffect(()=>{i.find(A=>A.value===b)||C(m)},[i,b,m]),o.useEffect(()=>{l.find(A=>A.value===y)||_(f)},[l,y,f]);const h=r==="month"?u:d,v=r==="month"?b:y,x=r==="month"?C:_,g=o.useMemo(()=>{const A=t("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=h.findIndex(A=>A.value===v),w=o.useCallback(()=>{const A=h.findIndex(D=>D.value===v);A<h.length-1&&x(h[A+1].value)},[h,v,x]),B=o.useCallback(()=>{const A=h.findIndex(D=>D.value===v);A>0&&x(h[A-1].value)},[h,v,x]),N=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:s,range:v,setRange:x,activeOptions:h,activeIdx:k,handlePrev:w,handleNext:B,periodOptions:N,monthRange:b,weekRange:y,weekRanges:l,DOW:g}}const lt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function _n(e,t=!0){return e.future===!0||t&&e.a===-1}function P4({data:e,colorA:t,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:c=140,maxOverride:u,tightMax:d,seriesColors:p,seriesLabels:m,rateLabels:f,grouped:b=!1,baseline:C}){const y=!a,_=!!(p&&p.length>0),h=C,v=o.useMemo(()=>_?Math.max(0,...e.filter(T=>!_n(T,h==null)).map(T=>b?Math.max(0,...(T.parts??[]).map(lt)):(T.parts??[]).reduce((V,Y)=>V+Math.max(0,lt(Y)),0))):Math.max(0,...e.filter(T=>!_n(T,h==null)).flatMap(T=>y?[lt(T.a)]:[lt(T.a),lt(T.b)])),[e,y,_,b]),x=o.useMemo(()=>{if(h==null)return 0;const T=e.filter(V=>!_n(V,h==null)).flatMap(V=>_?(V.parts??[]).map(lt):y?[lt(V.a)]:[lt(V.a),lt(V.b)]);return Math.max(0,...T.map(V=>Math.abs(V-h)))},[e,h,_,y]),g=o.useMemo(()=>{const T=h!=null?x:v;return u??(d?T>0?T:10:Math.ceil(T/10)*10||10)},[v,x,h,u,d]),k=c,w=_?b?Math.max(1,p.length):1:y?1:2,B={"--bar-width":`${o.useMemo(()=>{const T=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(T*w)+6)))},[e.length,w,i])}px`},N={"--bar-group-gap":`${Math.max(0,l)}px`},A=o.useMemo(()=>{const T=Math.round(g/2);return h!=null?[h+g,...T!==g?[h+T]:[],h,...T!==g?[h-T]:[],h-g]:T!==g?[g,T,0]:[g,0]},[g,h]),D=T=>h!=null?1-(T-(h-g))/(2*g):1-T/g,[F,$]=o.useState(null),R=o.useCallback(()=>$(null),[]),U=T=>h!=null&&T>h?`+${T}`:`${T}`,E=F!=null;return o.useEffect(()=>{if(!E)return;const T=()=>$(null),V=Y=>{const K=Y.target;K&&typeof K.closest=="function"&&K.closest(".manager-bar-chart-col")||$(null)};return window.addEventListener("scroll",T,!0),document.addEventListener("pointerdown",V,!0),()=>{window.removeEventListener("scroll",T,!0),document.removeEventListener("pointerdown",V,!0)}},[E]),n.jsxs("div",{className:"manager-bar-chart-wrap",style:N,children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:k},children:[A.slice(0,-1).map((T,V)=>n.jsx("div",{className:`manager-bar-chart-gridline${h!=null&&T===h?" manager-bar-chart-gridline--baseline":""}`,style:{top:D(T)*k},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:T})},V)),e.map((T,V)=>{const Y=_n(T,h==null),K=k/2,G=S=>h!=null?Math.min(K,Math.abs(lt(S)-h)/g*K):Math.min(k,Math.max(0,lt(S)/g*k)),J=Y?0:G(T.a),O=Y?0:G(T.b),I=(T.parts??[]).map(lt);return n.jsx("div",{className:`manager-bar-chart-col${b&&_?" manager-bar-chart-col--group":""}`,style:{cursor:Y?"default":"pointer"},onMouseEnter:Y?void 0:S=>{const H=S.currentTarget.getBoundingClientRect(),P=[T.label,T.sublabel].filter(Boolean).join(" ");let M;if(_&&b&&T.rawPartsB)M=(m??[]).map((L,X)=>{const W=T.rawPartsB[X]??0;return{text:W>0?`${L}: ${I[X]??0}% (${T.rawParts?.[X]??0}/${W})`:`${L}: -`,color:(p??[])[X]}});else if(_&&b)M=(m??[]).map((L,X)=>({text:`${L}: ${U(I[X]??0)}`,color:(p??[])[X]}));else if(_){const L=(m??[]).map((W,ae)=>({text:`${W}: ${I[ae]??0}`,color:(p??[])[ae]})),X=L.filter((W,ae)=>(I[ae]??0)>0);M=X.length?X:L}else f&&!y?M=[{text:`${r} ${lt(T.a)}%`,color:t},{text:`${s} ${lt(T.b)}%`,color:a}]:f&&T.rawB!==void 0?M=[{text:`${f.total} ${T.rawB}`},{text:`${f.done} ${T.rawA??0}`,color:t}]:y?M=[{text:`${r}: ${lt(T.a)}`,color:t}]:M=[{text:`${r}: ${lt(T.a)}`,color:t},{text:`${s}: ${lt(T.b)}`,color:a}];$({rect:{left:H.left,top:H.top,right:H.right,bottom:H.bottom,width:H.width,height:H.height},title:P,items:M})},onMouseLeave:R,children:!Y&&(_&&b?(p??[]).map((S,H)=>{const P=I[H]??0;if(h==null)return n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:G(P),background:S}},H);const M=lt(P)<h;return n.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!M&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:G(P),background:S}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:M&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:G(P),background:S}})})]},H)}):_?n.jsx("div",{className:"manager-bar-chart-stack",style:B,children:(()=>{const S=I.reduce((P,M,L)=>M>0?L:P,-1);let H=k;return I.map((P,M)=>{if(P<=0)return null;const L=Math.min(H,P/g*k);return H-=L,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:L,background:(p??[])[M],borderRadius:M===S?"6px 6px 0 0":void 0}},M)})})()}):h!=null?n.jsx(n.Fragment,{children:[{v:lt(T.a),c:t},...y?[]:[{v:lt(T.b),c:a}]].map(({v:S,c:H},P)=>n.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:S>=h&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:G(S),background:H}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:S<h&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:G(S),background:H}})})]},P))}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:J,background:t}}),!y&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:O,background:a}})]}))},V)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((T,V)=>{const Y=_n(T,h==null);return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${Y?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[T.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),T.label]}),T.sublabel&&n.jsx("span",{className:"caption-1",children:T.sublabel})]},V)})})]})})}),F&&n.jsx(Fn,{anchorRect:F.rect,title:F.title,items:F.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Ol({control:e}){const{t}=be.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:c,periodOptions:u,period:d,setPeriod:p}=e,m=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),f=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),n.jsx(nn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:f,showTooltipInfo:f,disabled:r<=0,onClick:c}),n.jsx(Sn,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:u,value:d,onChange:b=>p(b),size:40})]})}function so(e,t,a,r=!0){const s=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(i,l)=>{const c=new Date(t);c.setDate(t.getDate()+l);const u=(e[`${c.getFullYear()}\uB144 ${c.getMonth()+1}\uC6D4`]?.daily??[])[c.getDate()-1],d=u!=null&&_n(u,r)||c>s;return{dt:c,entry:u,isFuture:d}})}function I4(e,t,a,r,s=!0){const{period:i,monthRange:l,weekRange:c,weekRanges:u,DOW:d}=t,p=r?.startsWith("ko"),m=Kn(),f=m.getFullYear(),b=m.getMonth()+1,C=m.getDate();if(i==="month"){const h=e[l]??{weekly:[],daily:[]},v=l.match(/^(\d+)년 (\d+)월$/),x=v?Number(v[1]):null,g=v?Number(v[2]):null,k=x&&g?on(x,g-1):1;return h.weekly.map((w,B)=>{const N=B+1;let A=w.label,D=!1,F=!1;if(x&&g){const $=k+B*7,R=new Date(x,g-1,$+6),U=R.getMonth()+1,E=R.getDate(),T=U===g?`${E}`:`${U}/${E}`;A=a("manager.chart.weekRange",{start:$,end:T});const V=new Date(f,b-1,C).getTime();D=V>=new Date(x,g-1,$).getTime()&&V<=R.getTime(),F=x>f||x===f&&(g>b||g===b&&$>C)}return{...w,label:A,sublabel:p?`${Il[N-1]??N}\uC8FC`:`Week ${N}`,isToday:D,future:w.future===!0||F||void 0,a:F?-1:w.a,b:F?0:w.b}})}const y=u.find(h=>h.value===c);if(!y)return[];const _=new Date(y.year,y.month-1,on(y.year,y.month-1)+y.week*7);return so(e,_,m,s).map(({dt:h,entry:v,isFuture:x})=>{const g=h.getMonth()+1,k=h.getDate(),w=h.getFullYear();return{label:g===y.month&&w===y.year?`${k}`:`${g}/${k}`,sublabel:d[h.getDay()]??"",future:x||void 0,a:x?-1:v&&v.a>0?v.a:0,b:x?0:v&&v.b>0?v.b:0,isToday:w===f&&g===b&&k===C,...v?.parts?{parts:x?v.parts.map(()=>0):v.parts}:{},...v?.partsB?{partsB:x?v.partsB.map(()=>0):v.partsB}:{}}})}const F4={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function O4({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:s,colorB:i,labelAKey:l,labelBKey:c,showTotal:u=!1,totalUnitKey:d,totalLabelKey:p,control:m,hideControls:f=!1,rate:b=!1,rateAgg:C="dayMean",tightMax:y=!1,avgMode:_=!1,totalFormat:h,series:v,seriesMode:x="stack",loading:g=!1,onDetail:k,headExtra:w,headSegment:B,icon:N,disc:A,onClick:D,cardAriaLabel:F,cardTooltip:$,detailSize:R=32,barGap:U,baseline:E,className:T,inGrid:V=!1}){const{t:Y,i18n:K}=be.useTranslation(),G=F4[e],J=Fl(r),O=m??J,I=o.useMemo(()=>I4(r,O,Y,K.language,E==null),[r,O,Y,K.language,E]),S=x==="group"&&!!v&&v.length>0;U!=null&&!S&&fn("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 H=o.useMemo(()=>{if(!b)return I;const W=O.period==="month"?O.monthRange.match(/^(\d+)년 (\d+)월$/):null,ae=Kn(),ue=v?.length??0,Se=pe=>{const re=[],q=[],se=[];for(let de=0;de<ue;de++){let ve=0,ye=0,Be=0;for(const he of pe){const ke=lt(he.a[de]),je=lt(he.b[de]);je<=0||(ve+=ke,ye+=je,Be+=ke/je*100)}re.push(C==="weighted"?ye>0?Math.round(ve/ye*100):0:pe.length?Math.round(Be/pe.length):0),q.push(ve),se.push(ye)}return{pct:re,ra:q,rb:se}};return I.map((pe,re)=>{let q=pe.a===-1?-1:pe.b>0?Math.round(pe.a/pe.b*100):0;if(W&&!_n(pe)){const de=Number(W[1]),ve=Number(W[2])-1,ye=so(r,new Date(de,ve,on(de,ve)+re*7),ae).filter(Be=>!Be.isFuture);if(C==="weighted"){let Be=0,he=0;for(const{entry:ke}of ye)ke&&ke.b>0&&(Be+=ke.a,he+=ke.b);q=he>0?Math.round(Be/he*100):0}else q=ye.length?Math.round(ye.reduce((Be,{entry:he})=>Be+(he&&he.b>0?he.a/he.b*100:0),0)/ye.length):0}let se=null;if(S&&!_n(pe)){let de;if(W){const ye=Number(W[1]),Be=Number(W[2])-1;de=so(r,new Date(ye,Be,on(ye,Be)+re*7),ae).filter(he=>!he.isFuture).map(({entry:he})=>({a:he?.parts??[],b:he?.partsB??[]}))}else de=[{a:pe.parts??[],b:pe.partsB??[]}];const ve=Se(de);se={parts:ve.pct,rawParts:ve.ra,rawPartsB:ve.rb}}return{...pe,a:q,b:pe.a===-1?0:c&&pe.parts&&pe.parts[1]>0?Math.round(pe.parts[0]/pe.parts[1]*100):0,rawA:pe.a===-1?-1:pe.a,rawB:pe.b,...se??{}}})},[I,b,C,c,O.period,O.monthRange,r,S,v?.length]),P=o.useMemo(()=>{if(b||_){const ae=(O.period==="week"?I:r[O.monthRange]?.daily??[]).filter(Se=>Se.a!==-1);if(ae.length===0)return 0;if(b&&C==="weighted"){let Se=0,pe=0;for(const re of ae)re.b>0&&(Se+=re.a,pe+=re.b);return pe>0?Math.round(Se/pe*100):0}const ue=b?ae.reduce((Se,pe)=>Se+(pe.b>0?pe.a/pe.b*100:0),0):ae.reduce((Se,pe)=>Se+(pe.a>0?pe.a:0),0);return Math.round(ue/ae.length)}const W=O.period==="month"?r[O.monthRange]?.daily??[]:H;return E!=null?W.reduce((ae,ue)=>ae+(_n(ue,!1)?0:lt(ue.a)+(c?lt(ue.b):0)),0):W.reduce((ae,ue)=>ae+(ue.a>0?ue.a:0)+(c&&ue.b>0?ue.b:0),0)},[H,I,b,C,_,E,c,O.period,O.monthRange,r]),M=v&&v.length>0?v.map(W=>({color:W.color,label:W.label})):[{color:s,label:Y(l)},...c?[{color:i,label:Y(c)}]:[]],L=e==="small",X=[L?"manager-section--compact":e==="large"?"manager-section--full":void 0,T].filter(Boolean).join(" ")||void 0;return n.jsx(oo,{className:X,inGrid:V,icon:N,disc:A,onClick:D,ariaLabel:F,tooltip:$,headSegment:B,headMenuItems:k?[{label:Y("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:k,closeOnSelect:!0}]:void 0,title:Y(a),titleClassName:L?"h5 chart-section-title--small":void 0,headRight:L?w??void 0:({collapsed:W})=>n.jsxs(n.Fragment,{children:[!f&&n.jsx(Ol,{control:O}),w,k&&!W&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(le,{htmlType:"button",size:R,type:"dot",icon:"list",ariaLabel:Y("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),showTooltipInfo:Y("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:k})})]}),subRow:n.jsxs(n.Fragment,{children:[u?b||_||p&&h?n.jsx(Ea,{label:L?void 0:`${Y(O.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${Y(p??l)}`,children:h?(h(P).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((W,ae)=>/\d/.test(W)?n.jsx("span",{className:"barchart-total__num h0",children:W},ae):n.jsx("span",{className:"barchart-total__unit h5",children:W},ae)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:P}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:Y(d)})]})}):n.jsxs(Ea,{children:[n.jsx("span",{className:"barchart-total__num h0",children:P}),n.jsx("span",{className:"barchart-total__unit h5",children:Y(l)}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:Y(d)})]}):n.jsx("span",{}),n.jsx(ro,{items:M,className:"caption-1"})]}),children:g?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Sa,{size:32})}):n.jsx(P4,{data:H,colorA:s,colorB:c?i:void 0,labelA:Y(l),labelB:c?Y(c):void 0,barWidth:t??G.barWidth,barGap:U,baseline:E,height:G.height,maxOverride:b?100:void 0,tightMax:y,seriesColors:v?.map(W=>W.color),seriesLabels:v?.map(W=>W.label),rateLabels:b?{total:Y("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:Y("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:S})})}const Hl=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Vl=(e,t,a,r)=>({from:ri(e,t,a),to:new Date(ri(e,t,a+r).getTime()-1),fromYmd:Hl(e,t,a),toYmd:Hl(e,t,a+r-1)});function H4(e,t=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Kn(),l=s?Number(s[1]):i.getFullYear(),c=(s?Number(s[2]):i.getMonth()+1)-1+t,u=new Date(Date.UTC(l,c+1,0)).getUTCDate();return Vl(l,c,1,u)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=ga();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=on(a.year,a.month-1);return Vl(a.year,a.month-1,r+(a.week+t)*7,7)}const zl={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Wl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function ql({done:e,total:t,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:c=!1,hideLabel:u=!1}){const d=typeof s=="number"?s:zl[s].diameter,p=i??(typeof s=="number"?12:zl[s].strokeWidth),m=d/2,f=(d-p)/2,b=2*Math.PI*f;if(a&&a.length>0){const h=a.reduce((v,x)=>{const g=v.length>0?v[v.length-1].acc:0,k=Number.isFinite(x.ratio)?x.ratio:0,w=Math.max(0,Math.min(k,1-g));return v.push({color:x.color,rotate:-90+g*360,dash:b*w,acc:g+w}),v},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:f,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),h.map((v,x)=>v.dash>0&&n.jsx("circle",{cx:m,cy:m,r:f,fill:"none",stroke:v.color,strokeWidth:p,strokeDasharray:`${v.dash} ${b}`,strokeLinecap:"round",transform:`rotate(${v.rotate} ${m} ${m})`},x))]})})}const C=(t??0)>0?Math.min((e??0)/t,1):0,y=b*C,_=b-y;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:f,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),C>0&&n.jsx("circle",{cx:m,cy:m,r:f,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${y} ${_}`,strokeLinecap:C<.02||C>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!c&&n.jsxs("div",{className:`ring-chart__center${u?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:Wl(C)}),!u&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function V4({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:s,legend:i,loading:l,className:c,inGrid:u=!1,onClick:d,ariaLabel:p,tooltip:m,...f}){const{t:b}=be.useTranslation();if(!e)return n.jsx(ql,{...f});const C=(f.total??0)>0?Wl(Math.min((f.done??0)/f.total,1)):0,y=f.size==="small",_=f.size==="large",h=[c,y?"manager-section--compact":_?"manager-section--full":""].filter(Boolean).join(" ")||void 0,v=a&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(qe,{icon:a,className:"chart-section-icon-inner"})});return n.jsx(oo,{className:h,inGrid:u,onClick:d,ariaLabel:p,tooltip:m,title:b(e),titleClassName:y?"h5 chart-section-title--small":void 0,headRight:v||(y?void 0:t),subRow:(r||i)&&n.jsxs(n.Fragment,{children:[r?n.jsxs(Ea,{label:!y&&s?b(s):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:C}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),i&&n.jsx(ro,{items:i})]}),children:l?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Sa,{size:32})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(ql,{...f,hideCenter:f.hideCenter??y})})})}function z4({label:e,value:t,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:c}){const u=o.useRef(null),{anchorRect:d,openAt:p,close:m}=va(),f=o.useCallback(()=>{i&&u.current&&p(u.current)},[i,p]),b=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),C=a===void 0?void 0:a>0?`+${a}`:`${a}`,y=o.useCallback(_=>{l&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),l())},[l]);return n.jsxs("div",{ref:u,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?y:void 0,onPointerEnter:f,onPointerLeave:m,onFocus:f,onBlur:m,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,t,C].filter(_=>_!==void 0&&_!=="").join(" "):void 0,children:[i&&d&&n.jsx(bn,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:i}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(qe,{icon:s,className:"manager-stat-card__icon-inner"})})]}),n.jsxs("div",{className:"manager-stat-card__content",children:[n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),C&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${b??"neutral"} caption-1`,children:C})]}),c&&n.jsx("div",{className:"manager-stat-card__body",children:c})]})]})}function Ul({value:e,onChange:t,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:c=!1,ariaLabel:u,length:d,className:p,label:m,formatValue:f,labelPos:b,labelAlign:C="right",showMinMax:y=!1,minLabel:_,maxLabel:h,showBgTick:v=!1,showFillTick:x=!1,tickStep:g,tickShape:k="dot"}){t&&!u&&fn("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 w=Math.min(r,Math.max(a,e)),B=r>a?(w-a)/(r-a):0,N=i==="vertical",A=!t,D=S=>t?.(Number(S.target.value)),F=typeof d=="number"?`${d}px`:d,$={"--slider-ratio":String(B),"--slider-thumb":`${l}px`,...F?N?{height:F}:{width:F}:{}},R=g??s,U=(v||x)&&R>0&&r>a?Math.floor((r-a)/R+1e-6):0;if(U>0&&U<=100){const S=k!=="dash",H=W=>S?`radial-gradient(circle, ${W} 0.5px, transparent 1px)`:N?`linear-gradient(to bottom, transparent calc(50% - 2px), ${W} calc(50% - 2px), ${W} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${W} calc(50% - 2px), ${W} calc(50% + 2px), transparent calc(50% + 2px))`,P=S?"2px":"4px",M=[],L=[],X=[];for(let W=0;W<=U;W++){const ae=W*R/(r-a);if(ae>1+1e-6)break;const ue=`${((N?1-ae:ae)*100).toFixed(4)}%`,Se=ae<=B+1e-6;if(Se?!x:!v)continue;const pe=Se?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";M.push(H(pe)),L.push(N?`${P} var(--slider-thumb)`:`var(--slider-thumb) ${P}`),X.push(N?`center ${ue}`:`${ue} center`)}M.push(N?"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))"),L.push("100% 100%"),X.push("0 0"),$.backgroundImage=M.join(", "),$.backgroundSize=L.join(", "),$.backgroundPosition=X.join(", "),$.backgroundRepeat="no-repeat"}const E=f?f(w):m==="percent"?`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`:m==="count"?`${w} / ${r}`:w===a&&_?_:w===r&&h?h:void 0,T=n.jsx("input",{type:"range",className:De("slider",`slider--${i}`,A&&"slider--static",!m&&!y&&p),min:a,max:r,step:s,value:w,disabled:c,readOnly:A,tabIndex:A?-1:void 0,"aria-label":u,"aria-valuetext":E,"aria-orientation":i,onChange:D,style:$});if(!m&&!y)return T;const V=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??a}),Y=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:h??r}),K=y?n.jsxs("div",{className:De("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[N?Y:V,T,N?V:Y]}):T;if(!m)return K;const G=b??(N?"bottom":"right"),J=`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`,O=f?f(w):m==="percent"?J:m==="count"?`${w} / ${r}`:String(w),I=n.jsx("span",{className:"slider-wrap__value body-3b",children:O});return n.jsxs("div",{className:De("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${G}`,`slider-wrap--align-${C}`,p),children:[K,I]})}const W4=.86,q4=250,io=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),lo=(e,t,a,r)=>{const s=io(e,t,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function co({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:c=-60,refDb:u=-35,displayMin:d=-5,displayMax:p=25,className:m,ariaLabel:f}){const b=o.useRef(null),C=o.useRef(null),y=o.useRef(null),_=o.useRef(null),[h,v]=o.useState(null);o.useEffect(()=>{const w=T=>{const V=lo(T,u,d,p);y.current&&(y.current.textContent=V);const Y=b.current;Y&&(Y.setAttribute("aria-valuenow",String(io(T,u,d,p))),Y.setAttribute("aria-valuetext",V))},B=e??J0(t)??(h&&h.el===t?h.node:null),N=C.current;if(!B||!N){N?.style.setProperty("--meter-level","0"),w(c);let T=!1;return!e&&t&&Ia(t).then(V=>{!T&&V&&v({el:t,node:V})}),()=>{T=!0}}Sr();const A=new Float32Array(B.fftSize);let D=0,F=0,$=0,R=0,U=null;const E=T=>{const V=Q0(B,A);D=V>D?V:D*W4;const Y=D>1e-5?20*Math.log10(D):-1/0,K=Math.max(c,Y),G=K-u,J=Math.min(1,Math.max(0,(G-d)/(p-d)));if(N.style.setProperty("--meter-level",J.toFixed(3)),F+=K,$+=1,T-R>=q4){const O=F/$;U=U==null?O:U*.6+O*.4,w(U),F=0,$=0,R=T}_.current=requestAnimationFrame(E)};return _.current=requestAnimationFrame(E),()=>{_.current!=null&&cancelAnimationFrame(_.current),_.current=null}},[e,t,h,c,u,d,p]);const x=typeof r=="number"?`${r}px`:r,g=n.jsx("div",{className:"audio-meter__track",style:x?a==="vertical"?{height:x}:{width:x}:{},children:n.jsx("div",{ref:C,className:"audio-meter__fill"})}),k=i??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:b,className:De("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${k}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":f,"aria-valuemin":d,"aria-valuemax":p,"aria-valuenow":io(c,u,d,p),"aria-valuetext":lo(c,u,d,p),children:[g,s&&n.jsx("span",{ref:y,className:"audio-meter__value caption-2",children:lo(c,u,d,p)})]})}const Gl=260;function Kl({message:e,position:t,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,c]=o.useState(!1),u=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{u.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),f=o.useRef(r);o.useEffect(()=>{f.current=r});const b=a,C=o.useRef(null),y=o.useRef(0),_=o.useRef(0),h=o.useRef(!1),v=o.useRef(null),x=o.useRef(null),g=o.useRef(null),k=o.useRef(null),w=o.useRef(()=>{});w.current=A=>{A<0||(y.current=Date.now(),_.current=A,C.current=setTimeout(()=>{C.current=null,i(!1),v.current=setTimeout(()=>{c(!1);try{f.current()}catch{}},Gl)},A))};const B=o.useCallback(()=>{h.current||!C.current||(h.current=!0,clearTimeout(C.current),C.current=null,_.current=Math.max(0,_.current-(Date.now()-y.current)))},[]),N=o.useCallback(()=>{h.current&&(h.current=!1,w.current(_.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(C.current&&(clearTimeout(C.current),C.current=null),v.current&&(clearTimeout(v.current),v.current=null)),e){if(d.current)return b>0&&!C.current&&(h.current?_.current=b:w.current(b)),m.current=e,()=>{C.current&&(clearTimeout(C.current),C.current=null),v.current&&(clearTimeout(v.current),v.current=null)};const A=()=>{const D=p.current;if(D)try{D.classList.remove("is-visible"),D.style.transition="none",t==="top"?D.style.transform="translateX(-50%) translateY(-16px)":D.style.transform="translateX(-50%) translateY(16px)",D.style.opacity="0",D.offsetWidth,D.style.transition="",D.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{D.style.opacity="",D.style.transform="",D.style.transition=""}catch{}},60)}catch{}};u.current?(A(),i(!0)):(c(!0),x.current=requestAnimationFrame(()=>{g.current=requestAnimationFrame(()=>{A(),i(!0)})})),b>0&&(h.current=!1,w.current(b))}else i(!1),v.current=setTimeout(()=>c(!1),Gl);return m.current=e,()=>{C.current&&clearTimeout(C.current),v.current&&clearTimeout(v.current),x.current&&cancelAnimationFrame(x.current),g.current&&cancelAnimationFrame(g.current),k.current&&clearTimeout(k.current),C.current=null,v.current=null,x.current=null,g.current=null,k.current=null}},[e,b,t]),{mounted:l,showing:s,popupRef:p,pause:B,resume:N}}function ta({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:c,pause:u,resume:d}=Kl({message:e,position:t,duration:s,onClose:r}),p=o.useRef(null),[m,f]=o.useState(!1);if(o.useEffect(()=>{l?f(!0):i||f(!1)},[l,i]),!i)return null;const b=a==="notice"||a==="warning"?a:"normal",C=n.jsx("div",{ref:c,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:y=>{p.current=y.pointerType},onMouseEnter:()=>{p.current!=="touch"&&u()},onMouseLeave:d,onFocusCapture:u,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${b} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?qt.createPortal(C,document.body):C}const U4=24;function G4({value:e,max:t=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:c,labelAlign:u="right",ariaLabel:d,className:p}){const m=Number.isFinite(t)&&t>0?t:1,f=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),b=f/m*100,C=Number.isFinite(t)&&t>0?t:0,y=c??(a>=U4?"inside":"bottom"),_=y==="center"?"inside":y,h=_==="inside"&&(u==="left"?b>=15:u==="center"?b>=50:b>=85),v={};return r&&(v["--progress-bar-fill"]=r),s&&(v["--progress-bar-track"]=s),n.jsxs("div",{className:De("progress-bar",`progress-bar--${a}`,`progress-bar--label-${_}`,i&&`progress-bar--align-${u}`,i&&h&&"progress-bar--label-on-fill",p),style:v,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":f,"aria-valuemin":0,"aria-valuemax":C,"aria-valuetext":i?l?l(f):i==="percent"?void 0:i==="raw"?String(f):`${f} / ${C}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${b}%`}})}),i&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(f):i==="percent"?`${Math.round(b)}%`:i==="raw"?String(f):`${f} / ${C}`})]})}const Yl={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},K4="rgba(255, 255, 255, 0.16)";function Zl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:c}){const{t:u}=be.useTranslation(),d=tn("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,m=c??u("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),f={};if(a&&(f["--pi-inactive-bg"]=a),r&&(f["--pi-inactive-color"]=r),s&&(a||(f["--pi-inactive-bg"]=K4),r||(f["--pi-inactive-color"]="var(--color-white)")),i==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:f,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&n.jsx("span",{style:Yl,children:m}),Array.from({length:e}).map((C,y)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${y<p?" done":y===p?" active":""}`},y))]});const b=l?n.jsx("span",{role:"status",style:Yl,children:m}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:f,role:"list","aria-label":m,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),b]}):n.jsxs(n.Fragment,{children:[b,n.jsx("div",{className:"progress-indicator",style:f,role:"list","aria-label":m,children:Array.from({length:e}).map((C,y)=>n.jsx("span",{role:"listitem","aria-current":y===p?"step":void 0,className:`progress-indicator-dot ${y<p?" done":y===p?" active":""} body-3`,children:y+1},y))})]})}function Y4(e){if(!e)return[];const t=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(t.push(r),r="");continue}r+=s}return r&&t.push(r),t}function Z4({children:e,className:t,style:a}){return n.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function uo({variant:e="default",children:t,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,expandedContent:d}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--loading",children:n.jsx(Sa,{size:28})})}):e==="empty"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):n.jsxs("div",{className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,role:s?"button":void 0,tabIndex:s?0:void 0,children:t}),d&&n.jsx("div",{className:"table-row-expand",children:d})]})}function X4({dir:e}){return n.jsx(e==="asc"?hs:ms,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function J4({children:e,onClick:t,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(X4,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":s,className:De("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&n.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:c=>c.stopPropagation(),"aria-hidden":"true"})]})}function po({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:c,onRowDragStart:u,onRowDragEnd:d,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:f,resizable:b=!1,resizeMode:C="grow",resizeStorageKey:y,size:_="small",title:h,icon:v,count:x,collapsed:g=!1,onToggleCollapse:k,headerActions:w,empty:B,loading:N,dragOver:A=!1,onDragOver:D,onDragLeave:F,onDrop:$,renderExpandedRow:R,expandedId:U}){const{t:E}=be.useTranslation(),T=tn("(max-width: 767px)"),V=f&&T?f:null,Y=b&&!V,K=48,G=y?`table-cols:${y}`:null,J=o.useRef(null),O=o.useRef(()=>!1),I=o.useRef([]),S=o.useRef(null),H=oe=>{if(!oe||typeof window>"u")return null;try{const ee=JSON.parse(window.localStorage.getItem(oe)??"null");return Array.isArray(ee)&&ee.length>0&&ee.every(fe=>typeof fe=="number"&&Number.isFinite(fe)&&fe>0)?ee:null}catch{return null}},[P,M]=o.useState(()=>H(G)),[L,X]=o.useState(G);L!==G&&(X(G),M(H(G)));const W=o.useRef(P);o.useEffect(()=>{W.current=P},[P]);const ae=o.useCallback(oe=>{const ee=S.current;if(!ee)return;const fe=W.current;if(fe){const te=[...fe];if(ee.next!=null&&ee.startWNext!=null){const ge=oe.clientX-ee.startX,_e=Math.max(K-ee.startW,Math.min(ee.startWNext-K,ge));te[ee.index]=ee.startW+_e,te[ee.next]=ee.startWNext-_e}else te[ee.index]=Math.max(K,ee.startW+(oe.clientX-ee.startX));W.current=te,M(te)}},[]),ue=o.useCallback(()=>{if(S.current=null,window.removeEventListener("pointermove",ae),window.removeEventListener("pointerup",ue),window.removeEventListener("pointercancel",ue),document.body.style.cursor="",document.body.style.userSelect="",G&&W.current)try{window.localStorage.setItem(G,JSON.stringify(W.current))}catch{}},[ae,G]),Se=o.useCallback((oe,ee)=>{ee.preventDefault(),ee.stopPropagation();const fe=J.current;if(!fe)return;const te=Array.from(fe.children).map(_e=>_e.getBoundingClientRect().width),ge=C==="fit"?e.findIndex((_e,Ye)=>Ye>oe&&_e.resizable!==!1):-1;S.current=ge>=0?{index:oe,startX:ee.clientX,startW:te[oe],next:ge,startWNext:te[ge]}:{index:oe,startX:ee.clientX,startW:te[oe]},W.current=te,M(te),window.addEventListener("pointermove",ae),window.addEventListener("pointerup",ue),window.addEventListener("pointercancel",ue),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[ae,ue,C,e]),pe=o.useCallback(()=>{const oe=J.current,ee=oe?.closest(".table-wrap");if(!oe||!ee)return;const fe=ee.style.getPropertyValue("--table-grid-cols");ee.style.setProperty("--table-grid-cols",e.map(($e,Ie)=>O.current(Ie)?I.current[Ie]:"max-content").join(" "));const te=Array.from(ee.querySelectorAll(".table-row")).filter($e=>!$e.classList.contains("table-row--loading")&&!$e.classList.contains("table-row--empty")),ge=e.map(($e,Ie)=>{let Ve=oe.children[Ie]?.getBoundingClientRect().width??0;for(const ot of te){const We=ot.children[Ie];We&&(Ve=Math.max(Ve,We.getBoundingClientRect().width))}const at=O.current(Ie)?parseFloat(I.current[Ie]):NaN;return Number.isFinite(at)?at:Math.max(K,Math.ceil(Ve))}),_e=window.getComputedStyle(oe),Ye=oe.clientWidth-(parseFloat(_e.paddingLeft)||0)-(parseFloat(_e.paddingRight)||0);fe?ee.style.setProperty("--table-grid-cols",fe):ee.style.removeProperty("--table-grid-cols");let He=ge;const Ue=ge.reduce(($e,Ie,Ve)=>$e+(O.current(Ve)?Ie:0),0),Ee=ge.reduce(($e,Ie,Ve)=>$e+(O.current(Ve)?0:Ie),0),Ge=Ye-Ue;if(Ye>0&&Ee>0&&Ge>0){const $e=Ge/Ee;He=ge.map((Ve,at)=>O.current(at)?Ve:Math.max(K,Math.round(Ve*$e)));const Ie=Math.round(Ge-He.reduce((Ve,at,ot)=>Ve+(O.current(ot)?0:at),0));if(Ie!==0){let Ve=-1;He.forEach((at,ot)=>{!O.current(ot)&&(Ve<0||at>He[Ve])&&(Ve=ot)}),Ve>=0&&(He[Ve]=Math.max(K,He[Ve]+Ie))}}if(M(He),G)try{window.localStorage.setItem(G,JSON.stringify(He))}catch{}},[e,C,G]);o.useEffect(()=>()=>{S.current&&(window.removeEventListener("pointermove",ae),window.removeEventListener("pointerup",ue),window.removeEventListener("pointercancel",ue),document.body.style.cursor="",document.body.style.userSelect="")},[ae,ue]);const re=Y4(m),q=re.filter(oe=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(oe));q.length>0&&fn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${q.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 se=e.findIndex(oe=>!!oe.sortDir);e.filter(oe=>!!oe.sortDir).length>1&&fn("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 de=oe=>oe===se?e[oe].sortDir==="asc"?"ascending":"descending":e[oe].onClick?"none":void 0,ve=oe=>/^\d+(\.\d+)?px$/.test(re[oe]??"");O.current=ve,I.current=re;const ye=oe=>C==="fit"&&!ve(oe)?"fr":"px",Be=P&&P.length===e.length&&(C==="fit"||a.length>0),he=V??(Be?e.map((oe,ee)=>oe.resizable===!1&&re[ee]?re[ee]:`${P[ee]}${ye(ee)}`).join(" "):m),ke=he?{"--table-grid-cols":he}:void 0,je=h!==void 0;return n.jsx("div",{className:`table-wrap table-wrap--${_}${Y?" table-wrap--resizable":""}${A?" table-wrap--dragover":""}${g?" table-wrap--collapsed":""}`,style:ke,onDragOver:D,onDragLeave:F,onDrop:$,children:n.jsxs("div",{className:"table body-2",children:[je&&n.jsxs("div",{className:"table-header",onClick:k,role:k?"button":void 0,tabIndex:k?0:void 0,"aria-expanded":k?!g:void 0,onKeyDown:k?oe=>{oe.target===oe.currentTarget&&(oe.key==="Enter"||oe.key===" ")&&(oe.preventDefault(),k())}:void 0,children:[k&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:g?"chevron-right":"chevron-down",ariaLabel:g?E("common.expand","\uD3BC\uCE58\uAE30"):E("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),v&&n.jsx(qe,{icon:v,label:typeof h=="string"?h:void 0,className:"table-header__icon"}),n.jsx("span",{className:"table-header__title h5b",children:h}),x!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:x}),w&&n.jsx("span",{className:"table-header__actions",onClick:oe=>oe.stopPropagation(),children:w})]}),!g&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{className:"table-fields table-fields--groups",children:t.map((oe,ee)=>n.jsx("div",{className:De("table-field body-3",oe.className),style:{gridColumn:`span ${oe.span}`},children:oe.label},ee))}),n.jsxs("div",{className:De("table-fields-strip",Y&&"table-fields-strip--resizable"),children:[n.jsx("div",{className:"table-fields",ref:J,children:e.map((oe,ee)=>n.jsx(J4,{onClick:oe.onClick,className:oe.className,sortDir:oe.sortDir,ariaSort:de(ee),onResizeStart:Y&&ee<e.length-1&&oe.resizable!==!1&&(C!=="fit"||e.some((fe,te)=>te>ee&&fe.resizable!==!1))?fe=>Se(ee,fe):void 0,children:oe.label},ee))}),Y&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:pe})]}),n.jsx("div",{className:"table-body",children:N?n.jsx(uo,{variant:"loading"}):a.length===0&&B?n.jsx(uo,{variant:"empty",children:B}):a.map((oe,ee)=>{const fe=p!=null&&oe.id===p,te=!!s&&(i?i(oe):!0),ge=U!=null&&oe.id!=null&&(U instanceof Set?U.has(oe.id)||[...U].some(_e=>String(_e)===String(oe.id)):String(oe.id)===String(U));return n.jsx(uo,{className:`${te?" table-row--clickable":""}${u?" table-row--draggable":""}${fe?" table-row--dragging":""}`.trim(),draggable:!!u,onClick:te?()=>s(oe):void 0,onMouseEnter:l?_e=>l(oe,_e):void 0,onMouseLeave:c?_e=>c(oe,_e):void 0,onDragStart:u?_e=>u(oe,_e):void 0,onDragEnd:d?_e=>d(oe,_e):void 0,expandedContent:ge&&R?R(oe):void 0,children:r(oe).map((_e,Ye)=>n.jsx(Z4,{className:_e.className,style:_e.style,children:_e.content},Ye))},oe.id!=null?`${typeof oe.id}:${oe.id}`:`__idx:${ee}`)})})]})]})})}function Xl(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const na=e=>e==null?"":String(e).trim();function mo(e,t,a){const r=[na(e),na(t),na(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function Q4(e,t,a){const r=na(e);return r?`${r}-${na(t).padStart(2,"0")}-${na(a).padStart(2,"0")}`:""}const ey={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function ty(e,t){const a=ey[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Jl(e,t){return t!=="wornAt"?String(e[t]??""):Q4(e.wornYear,e.wornMonth,e.wornDay)}function ny({rows:e,onSelect:t,onDelete:a,onWear:r,onRelease:s,onAdd:i}){const{t:l}=be.useTranslation(),c=C=>C==="\uC88C"?l("device.direction.left","\uC88C"):l("device.direction.right","\uC6B0"),{\uC815\uB82C:u,\uCE78:d}=qg(),p=o.useMemo(()=>{if(!u)return e;const{key:C,asc:y}=u;return[...e].sort((_,h)=>{if(C==="worn"){const v=Number(h.worn)-Number(_.worn);return y?v:-v}return Kr(Jl(_,C),Jl(h,C),y)})},[e,u]),{pageRows:m,pageSizeProps:f,paginationProps:b}=Wg(p,u);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(ao,{count:{value:e.length,unit:l("customers.device.unit","\uAC1C")},pageSize:f,pagination:b,actions:i&&n.jsx(le,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:l("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:i})}),n.jsx(po,{resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...d(l("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},d(l("device.direction.label","\uBC29\uD5A5"),"side"),d(l("device.deviceType","\uC885\uB958"),"device"),d(l("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),d(l("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),d(l("device.productName","\uC81C\uD488\uBA85"),"productName"),d(l("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...a?[{label:"",resizable:!1}]:[]],items:m.map((C,y)=>({id:C.id??`${C.side}-${y}`,row:C})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${a?" 80px":""}`,renderRow:({row:C})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:y=>y.stopPropagation(),children:n.jsx($l,{checked:C.worn,disabled:C.worn?!s:!r,ariaLabel:C.worn?l("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):l("customers.device.wear","\uCC29\uC6A9"),onChange:y=>{y?r?.(C):s?.(C)}})})},{content:n.jsx("span",{children:c(C.side)})},{content:C.device?n.jsx(mt,{size:"small",variant:Xl(C.device),fill:"soft",label:ty(C.device,l)}):n.jsx("span",{})},{content:n.jsx("span",{children:C.brand})},{content:n.jsx("span",{children:C.fitType||"-"})},{content:n.jsx("span",{children:C.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:mo(C.wornYear,C.wornMonth,C.wornDay)||"-"})},...a?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(le,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:l("common.delete","\uC0AD\uC81C"),onClick:y=>{y?.stopPropagation(),a(C)}})})}]:[]],onRowClick:({row:C})=>t(C),empty:l("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function Ql(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function ay(e,t){return new Date(e,t+1,0).getDate()}function ry(e,t){return new Date(e,t,1).getDay()}function oy({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:s}){const{t:i}=be.useTranslation(),l=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Lr(s),[u,d]=o.useState(()=>Number(c.slice(0,4))),[p,m]=o.useState(()=>Number(c.slice(5,7))-1),[f,b]=o.useState(null),C=o.useRef(null),y=o.useMemo(()=>{const k={};return e.forEach(w=>{k[w.date]||(k[w.date]=[]),k[w.date].push(w)}),k},[e]),_=o.useMemo(()=>{const k=ay(u,p),w=ry(u,p),B=[];for(let N=0;N<w;N++)B.push(null);for(let N=1;N<=k;N++)B.push(N);for(;B.length<35;)B.push(null);return B},[u,p]),h=o.useCallback(()=>{p===0?(d(k=>k-1),m(11)):m(k=>k-1)},[p]),v=o.useCallback(()=>{p===11?(d(k=>k+1),m(0)):m(k=>k+1)},[p]),x=k=>`${u}-${String(p+1).padStart(2,"0")}-${String(k).padStart(2,"0")}`,g=k=>x(k)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:h,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(qe,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:u,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:v,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(qe,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[l.map(k=>n.jsx("div",{className:"calendar-day-header body-3",children:k},k)),_.map((k,w)=>{if(k===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${w}`);const B=k,N=x(B),A=y[N]??[],D=f===N;return n.jsxs("div",{className:`calendar-cell${g(B)?" today":""}${D?" 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":g(B)?"date":void 0,onClick:r?()=>r(N):void 0,onKeyDown:r?F=>{F.target===F.currentTarget&&(F.key!=="Enter"&&F.key!==" "||(F.preventDefault(),r(N)))}:void 0,onDragOver:a?F=>{F.preventDefault(),b(N)}:void 0,onDragLeave:a?F=>{F.currentTarget.contains(F.relatedTarget)||b(null)}:void 0,onDrop:a?F=>{F.preventDefault(),C.current!=null&&(a(C.current,N),C.current=null),b(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:B}),n.jsx("div",{className:"calendar-cell__badges",children:A.map((F,$)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${F.status==="noVisit"?" calendar-visit-badge--no-visit":F.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?R=>{C.current=F.id,R.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{C.current=null,b(null)}:void 0,onClick:t?R=>{R.stopPropagation(),t(F)}:void 0,...Ql(t?()=>t(F):void 0),"aria-label":[F.time?ii(F.time,i):null,F.customer,i(F.status==="noVisit"?"calendar.legend.noVisit":F.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[F.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:ii(F.time,i)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:F.customer}),F.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},F.id??$))})]},B)})]})]})}const sy={page:"h3",pagePopup:"h4",popup:"h5"};function aa({type:e="page",title:t,headingLevel:a,icon:r,action:s,disc:i,children:l,className:c,style:u}){const d=sy[e],p=t||i||s||r,m=a?`h${a}`:"div";return n.jsxs("div",{className:De("section",`section--${e}`,c),style:u,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(qe,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(m,{className:`section__title ${d}`,children:t}),i&&n.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&n.jsx("div",{className:"section__action",children:s})]}),l]})}function ec({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const u=c==="small",d=De("category-icon",u?"category-icon--small":""),p=u?16:20,m=o.useRef(null),[f,b]=o.useState(!1),C=o.useMemo(()=>{const w=r&&typeof r=="object"?{...r}:{};return!s&&!i?w:{...w,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),y=a||t,[_,h]=o.useState(null);o.useLayoutEffect(()=>{f&&h(m.current?.getBoundingClientRect()??null)},[f]),o.useEffect(()=>{if(!l&&f)try{b(!1)}catch{}},[l,f]),o.useEffect(()=>{if(!f)return;const w=B=>{const N=m.current;if(!N)return;const A=B.target;A&&!N.contains(A)&&b(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[f]);const v=o.useCallback(()=>{l&&b(!0)},[l]),x=o.useCallback(()=>{l&&b(!1)},[l]),g=o.useCallback(()=>b(!1),[]),k=o.useCallback(w=>{if(w.key==="Escape"){b(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),b(B=>!B))},[]);return n.jsxs("span",{ref:m,className:"category-icon__wrap",onPointerEnter:v,onPointerLeave:x,onFocus:v,onBlur:x,onKeyDown:k,role:"button",tabIndex:0,"aria-label":typeof y=="string"?y:void 0,"aria-haspopup":!!y,"aria-expanded":f,"data-tooltip-ignore":!0,children:[n.jsx(qe,{icon:e,label:t,className:d,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:C,size:p}),f&&y&&n.jsx(bn,{anchorRect:_,text:typeof y=="string"?y:void 0,offset:8,onClose:g,className:"category-icon__tooltip",ariaLabel:typeof y=="string"?y:void 0})]})}let En=null;function Xa(e){if(En&&En!==e)try{En()}catch{}return En=e,()=>{En===e&&(En=null)}}function Ja(e){if(En===e){En=null;try{e()}catch{}}}function iy(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,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 ly(e,t){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,c]=o.useState({key:"",urls:[]}),u=o.useRef(null),d=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[f,b]=o.useState(!1),C=o.useRef([]),{previewCodes:y,previewBucket:_}=iy(e,t),h=`${y.join(",")}|${_??""}`,v=o.useMemo(()=>l.key===h?l.urls:[],[l,h]);o.useEffect(()=>{if(!y.length)return;let g=!1;return(async()=>{const k=[],w=[];for(const B of y)try{const N=Fs(B,_);if(!N){k.push("");continue}let A=null;try{A=await Os(N)}catch{}if(!A)try{const D=await Hs(N);D&&(A=URL.createObjectURL(D),w.push(A))}catch{}k.push(A??"")}catch{k.push("")}g?w.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(C.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),C.current=w,c({key:h,urls:k}))})(),()=>{g=!0}},[y.join(","),_]),o.useEffect(()=>()=>{C.current.forEach(g=>{try{URL.revokeObjectURL(g)}catch{}}),C.current=[]},[]);const x=o.useCallback(async g=>{if(g.stopPropagation(),g.preventDefault(),d.current){p.current&&Ja(p.current),d.current=!1;try{u.current?.pause()}catch{}r(!1),i(-1);return}if(!v.filter(Boolean).length)return;let k=null;const w=()=>{d.current=!1;try{u.current?.pause()}catch{}k?.()};p.current=w;const B=Xa(w);d.current=!0,r(!0);for(let N=0;N<v.length&&d.current;N++){const A=v[N];if(A){i(N);try{await new Promise((D,F)=>{k=D;const $=new Audio(A);u.current=$,$.onended=()=>D(),$.onerror=()=>F(),$.play().catch(F)})}catch{break}}}B(),p.current===w&&(p.current=null,d.current=!1,r(!1),i(-1))},[v]);return o.useEffect(()=>()=>{p.current&&Ja(p.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:s,previewUrls:v,previewHover:f,setPreviewHover:b,previewBtnRef:m,handlePreview:x}}const cy=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];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 ho(e){const{index:t,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:f,hideCheckBadge:b=!1,showTypeLabel:C=!1,onComplete:y,onSelect:_,onMore:h,countLabelOverride:v,size:x="square"}=e||{},{t:g}=be.useTranslation(),[k,w]=o.useState(!1),B=o.useRef(null),[N,A]=o.useState(!1);o.useEffect(()=>{B.current?.matches(":hover")&&A(!0)},[]);const{playing:D,playingIndex:F,previewUrls:$,previewHover:R,setPreviewHover:U,previewBtnRef:E,handlePreview:T}=ly(r,a?.key),V=o.useCallback(()=>{_?_():w(!0)},[_]),Y=o.useCallback(()=>w(!1),[]),K=o.useCallback(()=>A(!0),[]),G=o.useCallback(()=>A(!1),[]),J=o.useCallback(()=>U(!0),[U]),O=o.useCallback(()=>U(!1),[U]),[I,S]=o.useState(null);o.useLayoutEffect(()=>{R&&S(E.current?.getBoundingClientRect()??null)},[R,E]);const[H,P]=o.useState(null);o.useLayoutEffect(()=>{N&&!k&&m&&P(B.current?.getBoundingClientRect()??null)},[N,k,m]);const M=o.useCallback(Ee=>{Ee.target===Ee.currentTarget&&(Ee.key==="Enter"||Ee.key===" ")&&(Ee.preventDefault(),V())},[V]),L=r||null,X=o.useMemo(()=>{if(!m)return null;const Ee=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ge=Ee&&Ee.length>0?Ee:cy(L);return Ge&&Ge.length>0?Ge:null},[m,p,L]),W=o.useCallback(Ee=>{Ee.stopPropagation(),f?.()},[f]),ae=o.useCallback(Ee=>Ee.stopPropagation(),[]),ue=o.useCallback(Ee=>{typeof y=="function"&&y(Ee)},[y]),Se=c||(u&&r?.id!=null?u.has(String(r.id)):!1),pe=!Se&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);Xi("speechear.popup.close",Y);const re=li(),q=`${a?.label||""} ${t+1}`,se=L?.title||L?.name||q;let de=a?.icon,ve,ye="",Be="";try{const Ee=L?.category_0||L?.category_main_code||L?.category_main,Ge=L?.category_1||L?.category_sub_code||L?.category_sub,$e=re.find(Ie=>Ie.key===Ee);$e?.icon&&(de=$e.icon),!ve&&$e?.color&&(ve={"--t-item-fg":$e.color}),!ve&&L?.iconColor&&(ve={"--t-item-fg":L.iconColor}),ye=$e?g(`topic.${$e.key}`,{defaultValue:$e.label||""}):"";try{const Ie=$e?.subs?.find(Ve=>Ve.key===Ge);Be=Ie?g(`topic.sub.${Ie.key}`,{defaultValue:Ie.label||""}):""}catch{}}catch{}const he=Be?`${ye} / ${Be}`:ye||a?.label||se,ke=Ee=>g("training.countQuestions",{n:Ee}),je=Ee=>g("training.countSentences",{n:Ee});let oe="";try{if(L)if(a?.key==="LISTEN_IN_NOISE"){let Ee=0;Array.isArray(L.items)&&L.items.length>0?Ee=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0?Ee=L.sentences.length:L.sentences&&(Ee=1),oe=je(Ee)}else if(a?.key==="SHORT_STORY"){let Ee=1;Array.isArray(r?.items)?Ee=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Ee=r.raw.items.length:Array.isArray(L?.questions)?Ee=L.questions.length:Array.isArray(L?.sentences)&&(Ee=L.sentences.length),oe=ke(Ee)}else if(a?.key==="LONG_STORY"){let Ee=1;if(Array.isArray(L.items)&&L.items.length>0){const Ge=L.items.reduce(($e,Ie)=>{const Ve=Ie.questionItems;return Array.isArray(Ve)?$e+Ve.length:Array.isArray(Ie.questions)?$e+Ie.questions.length:$e},0);Ee=Ge>0?Ge:L.items.length}else Array.isArray(L.questions)&&L.questions.length>0?Ee=L.questions.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Ee=L.sentences.length);oe=ke(Ee)}else if(a?.key==="ORDERING_SENTENCE"){let Ee=1;Array.isArray(L.items)&&L.items.length>0?Ee=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Ee=L.sentences.length),oe=je(Ee)}else Array.isArray(L.items)&&(oe=L.items.length>0?ke(L.items.length):"")}catch{}const ee=x==="row",fe=x==="list"||ee,te=x==="compact",ge=x==="small",_e=ge&&a?.key?T2().find(Ee=>Ee.key===a.key):void 0,Ye=_e?ci[_e.key]:void 0,He=_e?Ye?g(`trainingType.${Ye}.title`,{defaultValue:_e.label}):_e.label??"":"",Ue=!!C&&!!a?.label&&a.label!==String(se)||ge&&!!He&&He!==String(se);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:B,className:`training-block-button${fe?" training-block-button--list":""}${ee?" training-block-button--row":""}${te?" training-block-button--compact":""}${ge?" training-block-button--small":""}${Se?" training-block-button--completed":""}${pe?" training-block-button--selected":""}${Ue&&!ge?" training-block-button--withType":""}${ge&&!Ue?" training-block-button--no-type-label":""}`,onClick:V,onPointerEnter:K,onPointerLeave:G,role:"button",tabIndex:0,onKeyDown:M,"aria-label":typeof s=="string"?s:typeof se=="string"?se:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
|
|
859
|
-
`):p)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[C&&a?.label&&a.label!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),ge&&He&&He!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:He}),n.jsx(ec,{icon:de,label:se,tooltip:he,wrapperStyle:ve,iconSize:ge||te?"small":"medium"}),!b&&(Se||pe)&&!(f&&N)&&n.jsx(mt,{className:f?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":Se?g("training.completed","\uD6C8\uB828 \uC644\uB8CC"):g("training.selected","\uC120\uD0DD\uB428")}),f&&n.jsx(mt,{className:`training-block-button__remove${N?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":g("common.remove","\uC81C\uAC70"),onClick:W}),n.jsx("div",{className:`training-block-button__title ${te?"body-3":ge?"body-3b":"h3"}`,children:String(se)}),n.jsxs("div",{className:"training-block-button__description",children:[(()=>{const Ee=v!==void 0?v:oe;return Ee?n.jsx("div",{className:`training-block-button__count ${ge?"caption-2":"caption-1"}`,children:Ee}):null})(),n.jsx("div",{className:"training-block-button__chevron",children:n.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:ge?12:20})})]}),(fe&&!ee||ge)&&$.length>0&&n.jsx("div",{ref:E,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:ae,onPointerEnter:J,onPointerLeave:O,children:n.jsx(le,{htmlType:"button",size:ge?28:32,type:"dot",icon:D?"pause":"play",variant:ge?"transparent-lightGray":"default",useBorder:!1,selected:D,ariaLabel:D?g("training.stop","\uC815\uC9C0"):g("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:T})})]}),h&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Ee=>{Ee.stopPropagation(),h(Ee)},children:n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:g("common.more","\uB354\uBCF4\uAE30")})})]}),R&&n.jsx(bn,{anchorRect:I,text:D?g("training.stop","\uC815\uC9C0"):g("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:O}),N&&!k&&m&&(X?n.jsx(Fn,{anchorRect:H,items:X,activeIndex:F,onClose:G}):L?.subTitle?n.jsx(bn,{anchorRect:H,text:L.subTitle,offset:8,onClose:G}):null),k&&l&&l({trainingData:L,typeKey:a?.key??"",onClose:Y,onComplete:ue,popupTitle:String(se),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:de,popupIconTooltip:String(he),popupWrapperStyle:ve})]})}let fo=null,tc=!1;function nc(){if(tc||typeof document>"u")return;tc=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(fo="keyboard")},!0);const e=()=>{fo="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}nc();function Qa(){return nc(),fo==="keyboard"}const er=20;function uy(e){const{t}=be.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:c,onItemComplete:u,size:d,useDescriptionTooltip:p,onRemove:m,onMore:f,sectionType:b="page"}=e||{},[,C]=o.useState(0),y=typeof r<"u"?Array.isArray(r)?r:[]:[],_=y.length,[h,v]=o.useState(Math.min(_,er)),x=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{v(Math.min(_,er))},[_]),Xi("speechear.data.updated",()=>C(B=>B+1));const g=o.useRef(null),k=o.useRef(null);function w(){const B=document.activeElement;k.current=Qa()&&B&&B.closest?.(".training-block__more")?h:null,v(N=>Math.min(_,N+er))}return o.useEffect(()=>{const B=k.current;if(B==null)return;k.current=null;const N=document.activeElement;N&&N!==document.body||g.current?.querySelectorAll(".training-block-button")[B]?.focus()},[h]),n.jsxs(aa,{type:b,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:g,children:(y||[]).slice(0,h).map((B,N)=>{const A=B;return n.jsx(ho,{index:N,type:a,trainingData:A,depth:x,renderPopup:i,completedIds:l,selectedIds:c,size:d,useDescriptionTooltip:p,onRemove:typeof m=="function"&&c!=null&&A?.id!=null&&c.has(String(A.id))?()=>m(A):void 0,onComplete:typeof u=="function"&&A?.id!=null?()=>u(String(A.id)):void 0,onMore:typeof f=="function"?D=>f(A,D):void 0},A?.id!=null?`${a?.key||"t"}-${String(A.id)}`:`${a?.key||"t"}-${N}`)})}),_>er&&h<_&&n.jsx("div",{className:"training-block__more",children:n.jsx(le,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:w,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function Co(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const u=t.current;r(!!e&&!(u?.complete&&u.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),c=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:c}}var dy='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 py=dy,go=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:c=!1,hideAudio:u=!1,orderRank:d=null},p){const{t:m}=be.useTranslation(),f=e.word||e.title||"",b=t||!f,C=e.audio??e.sound??e.audioKey,y=e.subLabel||e.pronunciation||"",_=e.colloquialLabel||"",[h,v]=o.useState({label:f,subLabel:y,colloquialLabel:_,homonum:e.homonum});f&&(h.label!==f||h.subLabel!==y||h.colloquialLabel!==_||!Object.is(h.homonum,e.homonum))&&v({label:f,subLabel:y,colloquialLabel:_,homonum:e.homonum});const x=o.useRef(null),g=tn("(max-width: 767px)"),[k,w]=o.useState(!1),B=`${typeof C=="string"?C:C?.src??""}\0${f}`,[N,A]=o.useState({for:"",url:""}),D=N.for===B?N.url:"",F=Qs(),$=e.textOnly??(!e.image&&!!h.label&&!!F&&F.entries.length>0&&!F.byWord.has(h.label)),R=$?"":Gn()?.(h.label,h.homonum)??e.image??"",{imgRef:U,loading:E,hasImage:T,onLoad:V,onError:Y}=Co(R);o.useEffect(()=>{let M=!1;return(async()=>{if(C){if(typeof C=="string"){if(C.startsWith("http")||C.includes("/")){A({for:B,url:C});return}}else if(typeof C=="object"&&!Array.isArray(C)){const X=C.src;if(X){A({for:B,url:X});return}}}const L=Br();if(L&&f)try{const X=await Promise.resolve(L(f));!M&&X&&A({for:B,url:X})}catch{}})(),()=>{M=!0}},[C,f,B]);const K=o.useRef(!0),G=o.useRef(null);o.useEffect(()=>(K.current=!0,()=>{K.current=!1,G.current&&Ja(G.current),G.current=null;try{x.current?.pause()}catch{}x.current=null}),[]);const J=o.useCallback(()=>new Promise(M=>{if(typeof window<"u"&&window.speechSynthesis&&f){w(!0),window.speechSynthesis.cancel();const L=new SpeechSynthesisUtterance(f);L.lang="ko-KR",L.onend=()=>{w(!1);try{a?.()}catch{}M()},L.onerror=()=>{w(!1),M()},window.speechSynthesis.speak(L)}else M()}),[f,a]),O=o.useCallback(M=>new Promise(L=>{let X=!1;const W=()=>{X||(X=!0,w(!1),L(!1))};try{const ae=new Audio(M);x.current=ae,ae.onended=()=>{if(!X){X=!0,w(!1);try{a?.()}catch{}L(!0)}},ae.onerror=W,ae.play().catch(W)}catch{W()}}),[a]),I=o.useCallback(async()=>{if(t||!K.current)return;const M=()=>{G.current===M&&(G.current=null);try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1)},L=Xa(M);G.current=M;try{window.speechSynthesis?.cancel()}catch{}try{if(D&&(w(!0),await O(D)))return;const X=K0();if(X&&f)try{const W=await Promise.resolve(X(f));if(!K.current||G.current!==M||W&&(w(!0),await O(W)))return}catch{}if(!K.current||G.current!==M)return;await J()}finally{L(),G.current===M&&(G.current=null)}},[t,D,f,O,J]);o.useImperativeHandle(p,()=>({play:()=>I()}),[I]);const S=M=>M.stopPropagation(),H=o.useCallback(M=>{if(M.stopPropagation(),!t){if(k){try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1);return}I()}},[t,k,I]),P=De("training-word-card",t?"training-word-card--disabled":"",b?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return n.jsx("div",{className:P,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?M=>{M.target===M.currentTarget&&(M.key==="Enter"||M.key===" "||M.key==="Spacebar")&&(M.preventDefault(),i?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:b?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[s&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:S,children:n.jsx(mt,{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")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:$?n.jsx("div",{className:"training-word-card__text-face",children:h.label}):T?n.jsxs(n.Fragment,{children:[E&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:U,className:"training-word-card__image",src:R,alt:h.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:E?0:1},onLoad:V,onError:Y})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!c&&n.jsxs("div",{className:"training-word-card__body",children:[!$&&n.jsx("div",{className:"training-word-card__word",children:h.label}),h.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",h.subLabel,"]"]}),h.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",h.colloquialLabel,"]"]})]}),!u&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?S:void 0,children:n.jsx(le,{htmlType:"button",size:g?40:48,type:g?"dot":"bar",icon:k?"pause":"play",label:g?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:H,disabled:t,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:py,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),my=260;function jn(e){const{t}=be.useTranslation(),{title:a,subtitle:r,headerActions:s,children:i,buttons:l,footer:c,footerClassName:u="",onClose:d,closeDisabled:p=!1,beforeClose:m,closeOnBackdrop:f=!0,className:b="",ariaLabel:C,useTitle:y=!0,inline:_=!1,size:h,layer:v="modal",height:x,fillBody:g=!1,resetScrollKey:k}=e||{},[w,B]=o.useState(!1),N=o.useRef(!1),A=o.useRef(null),D=o.useId(),F=o.useRef(null);o.useEffect(()=>{},[_,a,C,b]),o.useEffect(()=>{k!==void 0&&F.current&&(F.current.scrollTop=0)},[k]);const[$,R]=o.useState(!1);o.useEffect(()=>{const M=F.current;if(!M)return;const L=()=>R(M.scrollHeight>M.clientHeight+1);if(L(),typeof ResizeObserver>"u")return;const X=new ResizeObserver(L);X.observe(M);const W=M.firstElementChild;return W&&X.observe(W),()=>X.disconnect()},[i,k]),o.useEffect(()=>{if(!_)return Sl()},[_]),o.useEffect(()=>{if(_)return;const M=document.activeElement,L=A.current;return Fr(L,M),L&&!L.contains(document.activeElement)&&(L.querySelector(Cn)??L).focus(),()=>{const X=document.activeElement;(!X||X===document.body||L&&L.contains(X))&&Or(M)?.focus?.()}},[_]),Pr(A,!_);const U=o.useRef(!0),E=Hr(),T=o.useRef(null);o.useEffect(()=>(U.current=!0,()=>{U.current=!1,T.current&&(clearTimeout(T.current),T.current=null)}),[]);const V=o.useCallback(()=>{!U.current||!N.current||(N.current=!1,B(!1))},[]),Y=o.useCallback((M,L=!1)=>{if(L&&!U.current||N.current)return;N.current=!0,B(!0);const X=setTimeout(()=>{T.current===X&&(T.current=null);let W;try{W=M?M():void 0}catch{V();return}W&&typeof W.then=="function"&&W.then(()=>{setTimeout(V,120)},V)},E?0:my);L&&(T.current=X)},[V,E]),K=o.useCallback(()=>{p||m&&m()===!1||Y(d,!0)},[Y,d,p,m]),G=o.useRef(K);o.useEffect(()=>{G.current=K});const J=!_&&!!d;o.useEffect(()=>{if(J)return In(()=>G.current())},[J]);const O=J&&f,I=o.useRef(!1),S=M=>{I.current=M.target===M.currentTarget},H=M=>{const L=I.current;I.current=!1,L&&M.target===M.currentTarget&&K()},P=n.jsx("div",{className:`popup ${_?"popup--inline":""} ${v==="belowPagePopup"?"popup--below-page-popup":""} ${w?"popup--closing":""} ${b}`,onPointerDown:O?S:void 0,onClick:O?H:void 0,onMouseDown:_?void 0:M=>{M.target===M.currentTarget&&M.preventDefault()},children:n.jsxs("div",{ref:A,className:`popup-panel${h?` popup-panel--${h}`:""}${x!=null?" popup-panel--has-height":""}${g?" popup-panel--fill-body":""}`,style:x!=null?{"--popup-height":typeof x=="number"?`${x}px`:x}:void 0,tabIndex:-1,role:_?void 0:"dialog","aria-modal":_?void 0:!0,"aria-labelledby":!_&&y&&a?D:void 0,"aria-label":!_&&!(y&&a)?C??(typeof a=="string"?a:void 0):void 0,children:[!y&&(s||d)?n.jsxs("div",{className:"popup-close-float",children:[s,d&&n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:K,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||s||d?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[n.jsx("span",{id:D,className:"popup-title popup-title--left h2",children:a}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),n.jsxs("div",{className:"popup-header-actions",children:[s,d&&n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:K,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:F,tabIndex:$?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:Y,closeWithAnimation:K}):i})}),l?.length?n.jsx("div",{className:"popup-footer popup-footer--buttons",children:l.map((M,L)=>n.jsx(le,{htmlType:"button",size:48,variant:M.variant??"default",label:M.label,disabled:M.disabled,onClick:()=>M.onClick?.({animateThen:Y,closeWithAnimation:K})},L))}):c?n.jsx("div",{className:`popup-footer${u?` ${u}`:""}`,children:typeof c=="function"?c({animateThen:Y,closeWithAnimation:K}):c}):null]})});return _||typeof document>"u"?P:qt.createPortal(P,document.body)}function tr(e){return String(e)}const ac=["o","triangle","x"];function rc(e,t){return e===t?null:t}const oc={o:"circle",triangle:"triangle",x:"x"},sc={o:"main",triangle:"warn",x:"danger"};function hy(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const s=t+a+r;return{marked:s,o:t,triangle:a,x:r,rate:s===0?null:(t+a*.5)/s}}function bo(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function ic(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function fy(e,t){return!t&&e>0}const ra={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 Cy(e="landscape"){fn("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:t,printW:a,printH:r}=ra[e],s=document.createElement("style");s.textContent=`@page { size: ${t}; 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 lc(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const gy={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 by(e,t){const a=gy[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),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 yy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},cc={\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"},uc={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function yo(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function dc(e,t,a,r){if(r!=="\uC810\uC120")return{};const s=e%t,i=Math.floor(e/t),l=s<t-1,c=i<a-1;if(!l&&!c)return{};const u="#ddd",d=b=>`repeating-linear-gradient(to ${b}, ${u} 0, ${u} 5px, transparent 5px, transparent 10px)`,p=[],m=[],f=[];return l&&(p.push(d("bottom")),m.push("1px 100%"),f.push("right center")),c&&(p.push(d("right")),m.push("100% 1px"),f.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:f.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const vy=280,xy=240,_y=280,wy=400,ky=120,Ay=280;function pc(e,t){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),c=o.useCallback((u,d)=>{const p=u/e,m=t?d/t:1/0,f=Math.min(1,p,m);s(f),l(Math.max(0,(u-e*f)/2))},[e,t]);return o.useEffect(()=>{const u=a.current;if(!u)return;const d=t?u.parentElement??u:u;if(c(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>c(m.contentRect.width,m.contentRect.height));return p.observe(d),()=>p.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}const By={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Ny=400,mc=8;function hc({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:c=!0,buttonSize:u=40,wordInfo:d}){const{t:p}=be.useTranslation(),m=o.useRef(null),f=o.useRef(null),b=o.useRef(null),[C,y]=o.useState(1),[_,h]=o.useState(!1),[v,x]=o.useState({for:"",url:""}),[g,k]=o.useState(null),w=t&&t.length>0?t:Z0()?.(e,r)??"",B=Gn()?.(e,r)??"",{imgRef:N,loading:A,failed:D,onLoad:F,onError:$}=Co(B),R=o.useCallback(()=>k(f.current?.getBoundingClientRect()??null),[]),U=o.useCallback(()=>k(null),[]),E=zr(!!g,H=>{H?R():U()},f),T=o.useMemo(()=>{if(!d)return null;const H=[];return d.grade&&H.push(p("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&H.push(p("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&H.push(p("wordTable.info.pos",{v:yo(d.pos,Dy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&H.push(p("wordTable.info.wordType",{v:yo(d.wordType,Sy(p)),defaultValue:"\uC720\uD615: {{v}}"})),H.length?H:null},[d,p]),V=w||e,Y=v.for===V?v.url:"";o.useEffect(()=>{const H=Br(),P=w||e;if(!H||!P)return;let M=!1;return Promise.resolve(H(P)).then(L=>{!M&&L&&x({for:P,url:L})}),()=>{M=!0}},[w,e]);const K=o.useRef(null),G=o.useRef(null);o.useEffect(()=>()=>{b.current?.pause(),G.current?.()},[]);const J=o.useCallback(async H=>{if(H.stopPropagation(),_){K.current?.();return}if(Y){h(!0);try{const P=new Audio(Y);b.current=P;const M=()=>{h(!1),G.current?.()},L=()=>{P.pause(),M()};K.current=L;const X=Xa(L);G.current=X,P.onended=M,P.onerror=M,await P.play()}catch{h(!1),G.current?.()}}},[_,Y]),O=i&&!!B&&!D,I=O&&s?vy:O?_y:xy,S=O&&s?wy:O?Ay:ky;return o.useEffect(()=>{const H=m.current;if(!H||typeof ResizeObserver>"u")return;const P=new ResizeObserver(([M])=>{const{width:L,height:X}=M.contentRect;y(Math.min(L/I,X/S))});return P.observe(H),()=>P.disconnect()},[I,S]),n.jsxs("div",{ref:m,className:"word-table-cell",children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${C})`},children:[O&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:N,className:"word-table-cell__image",src:B,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:F,onError:$})]}),s&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&w&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",w,"]"]}),c&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":Y,children:[n.jsx("span",{"data-play-state":"play",style:{display:_?"none":void 0},children:n.jsx(le,{htmlType:"button",size:u,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),onClick:J})}),n.jsx("span",{"data-play-state":"pause",style:{display:_?void 0:"none"},children:n.jsx(le,{htmlType:"button",size:u,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),onClick:J})})]}),d&&n.jsxs("div",{ref:f,className:"word-table-cell__info-button",onPointerEnter:H=>{Xn(H)||R()},onPointerLeave:H=>{Xn(H)||U()},onFocus:()=>{Jn()||R()},onBlur:U,children:[n.jsx(le,{htmlType:"button",size:u,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:H=>{H.stopPropagation(),E.touchPress()}}),g&&T&&n.jsx(Fn,{anchorRect:g,items:T,showIndex:!1})]})]})}const fc={\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"},Cc={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Dy(e){return Object.fromEntries(Object.entries(cc).map(([t,a])=>[t,fc[t]?e(`wordTable.pos.${fc[t]}`,{defaultValue:a}):a]))}function Sy(e){return Object.fromEntries(Object.entries(uc).map(([t,a])=>[t,Cc[t]?e(`wordSearch.filter.type.${Cc[t]}`,{defaultValue:a}):a]))}function oa({title:e,titleIcon:t,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:c=!0,showDivLine:u=!0,items:d,editCells:p,count:m,activeCell:f=null,onActivateCell:b,onRemoveCell:C,onRemoveItem:y,onReorder:_,showFillerAdd:h=!1,contentRef:v,buttonSize:x=40,pageNumber:g,pageNumberPosition:k="right",fitHeight:w=!1,scoring:B=!1,marks:N,onMarkClick:A,scoreIndexOffset:D=0}){const F=o.useCallback((ee,fe)=>{A?.(D+ee,fe)},[A,D]),$=(ee,fe)=>{const te=N?.[tr(D+ee)]??null;return n.jsx("div",{className:De("word-table-cell__score",te?"word-table-cell__score--marked":""),children:ac.map(ge=>n.jsx("span",{className:De("word-table-cell__score-slot",te===ge?"word-table-cell__score-slot--on":""),children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:oc[ge],variant:te===ge?sc[ge]:"default",selected:te===ge,useBorder:!1,showTooltipInfo:!1,ariaLabel:R(`wordTable.scoring.${ge}`,{word:fe,defaultValue:`${fe} ${ge}`}),onClick:_e=>{_e.stopPropagation(),F(ee,ge)}})},ge))})},{t:R}=be.useTranslation(),U=p!==void 0,E=e!=null||!!t||!!a,T=o.useRef(null),[V,Y]=o.useState(null),K=d?.length??0,[G,J]=o.useState(null),[O,I]=o.useState(""),S=o.useRef(null),H=o.useRef(null),P=o.useRef(null),M=o.useRef(null),L=o.useCallback(ee=>{H.current=ee,typeof v=="function"?v(ee):v&&(v.current=ee)},[v]),X=o.useCallback((ee,fe)=>{S.current=fe,_?.(ee,fe),I(R("wordTable.reorder.moved",{n:fe+1,total:K,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[_,R,K]);o.useEffect(()=>{const ee=S.current;ee!=null&&(S.current=null,H.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[ee]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{M.current?.()},[]);const W=o.useCallback((ee,fe)=>{if(!_||!ee.altKey||ee.ctrlKey||ee.metaKey)return;const te=ee.key==="ArrowRight";if(!te&&ee.key!=="ArrowLeft")return;ee.preventDefault();const ge=fe+(te?1:-1);ge<0||ge>=K||X(fe,ge)},[_,K,X]),ae=o.useCallback((ee,fe)=>{if(!_||ee.pointerType==="mouse")return;const te=ee.target.closest?.("button");if(te&&!te.closest(".word-table-block__card-handle"))return;M.current?.();const ge={x:ee.clientX,y:ee.clientY};let _e=!1;const Ye=$e=>{_e&&$e.cancelable&&$e.preventDefault()},He=$e=>{if(!_e){(Math.abs($e.clientX-ge.x)>mc||Math.abs($e.clientY-ge.y)>mc)&&Ge();return}const Ie=document.elementFromPoint?.($e.clientX,$e.clientY)?.closest?.("[data-wordtable-cell]"),Ve=Ie?Number(Ie.dataset.wordtableCell):NaN,at=Number.isInteger(Ve)?Ve:null;P.current=at,Y(at)},Ue=()=>{const $e=P.current,Ie=_e;Ge(),Ie&&$e!=null&&$e!==fe&&X(fe,$e)},Ee=setTimeout(()=>{_e=!0,J(fe),P.current=fe,Y(fe),window.addEventListener("touchmove",Ye,{passive:!1})},Ny);function Ge(){clearTimeout(Ee),window.removeEventListener("pointermove",He),window.removeEventListener("pointerup",Ue),window.removeEventListener("pointercancel",Ue),window.removeEventListener("touchmove",Ye),_e=!1,P.current=null,M.current=null,J(null),Y(null)}M.current=Ge,window.addEventListener("pointermove",He),window.addEventListener("pointerup",Ue),window.addEventListener("pointercancel",Ue)},[_,X]),{width:ue,height:Se}=ra[s],{scalerRef:pe,scale:re,offset:q}=pc(ue,w?Se:void 0),se=U?p?.length??0:d?.length??0,de=Math.max(m??se,1),{cols:ve,rows:ye}=by(s,de),Be={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")},he=U?(p??[]).some(ee=>ee!==null&&ee.length>1):(d??[]).some(ee=>(ee.words??[]).length>1),ke=De("word-table-block__content",yy[l],c&&"word-table-block__content--outline",u&&he&&"word-table-block__content--div-line"),je={transform:`scale(${1/re})`,transformOrigin:"center center"},oe=n.jsxs("div",{ref:pe,className:"word-table__scaler",style:{height:Se*re},children:[n.jsx("div",{className:De("word-table",!E&&r),style:{width:ue,height:Se,transform:`scale(${re})`,transformOrigin:"top left",marginLeft:q},children:n.jsxs("div",{ref:L,className:ke,style:{gridTemplateColumns:`repeat(${ve}, 1fr)`,gridTemplateRows:`repeat(${ye}, 1fr)`},children:[U?n.jsx(n.Fragment,{children:(p??[]).map((ee,fe)=>n.jsx("div",{className:De("word-table-block__edit-cell",ee?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",f===fe?"word-table-block__edit-cell--active":""),style:dc(fe,ve,ye,l),children:ee?n.jsxs(n.Fragment,{children:[ee.map((te,ge)=>n.jsxs(o.Fragment,{children:[ge>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(hc,{label:te.word,subLabel:te.pronunciation,colloquialLabel:te.colloquialPronunciation,homonum:te.homonum,showWord:Be.word,showImage:Be.image,showPronunciation:Be.pron,showColloquial:Be.colloq,buttonSize:x})]},ge)),B&&$(fe,ee.map(te=>te.word).join(" / ")),C&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ee.length>1?R("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):R("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ee.length>1?R("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):R("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>C(fe)})})]}):b&&n.jsx("div",{style:je,children:n.jsx(le,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:R("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b(fe)})})},fe))}):n.jsxs(n.Fragment,{children:[(d??[]).map((ee,fe)=>n.jsxs("div",{"data-wordtable-cell":_?fe:void 0,className:`word-table-block__card${_?" word-table-block__card--draggable":""}${V===fe?" word-table-block__card--drag-over":""}${G===fe?" word-table-block__card--dragging":""}`,style:dc(fe,ve,ye,l),draggable:!!_,onPointerDown:_?te=>ae(te,fe):void 0,onKeyDown:_?te=>W(te,fe):void 0,onDragStart:_?()=>{T.current=fe}:void 0,onDragOver:_?te=>{te.preventDefault(),Y(fe)}:void 0,onDragLeave:_?()=>Y(null):void 0,onDrop:_?te=>{te.preventDefault(),T.current!==null&&T.current!==fe&&_(T.current,fe),T.current=null,Y(null)}:void 0,onDragEnd:_?()=>{T.current=null,Y(null)}:void 0,children:[(ee.words??[]).map((te,ge)=>n.jsxs(o.Fragment,{children:[ge>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(hc,{label:te.label,subLabel:te.subLabel,colloquialLabel:te.colloquialLabel,homonum:te.homonum,showWord:Be.word,showImage:Be.image,showPronunciation:Be.pron,showColloquial:Be.colloq,buttonSize:x,wordInfo:te.grade||te.syllables!=null||te.pos||te.wordType?{grade:te.grade,syllables:te.syllables,pos:te.pos,wordType:te.wordType}:void 0})]},ge)),B&&$(fe,(ee.words??[]).map(te=>te.label).join(" / ")),_&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:R("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:R("wordTable.reorder.handle",{word:(ee.words??[]).map(te=>te.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),y&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(ee.words??[]).length>1?R("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):R("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(ee.words??[]).length>1?R("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):R("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>y(ee.id)})})]},ee.id)),Array.from({length:Math.max(0,ve*ye-(d?.length??0))}).map((ee,fe)=>{const te=(d?.length??0)+fe<de;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:h&&b&&te&&n.jsx("div",{style:je,children:n.jsx(le,{htmlType:"button",size:x,type:"bar",icon:"plus",label:R("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>b((d?.length??0)+fe)})})},`filler-${fe}`)})]}),g&&k!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:R("wordTable.filter.pageIndicator",{current:g.current,total:g.total})})]})}),_&&n.jsx("span",{role:"status",style:By,children:O})]});return E?n.jsx(aa,{type:"page",icon:t,title:e,disc:a,className:De("word-table-block",r),children:oe}):oe}function wn({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:s,onCollapsedChange:i,footer:l,sections:c,selected:u={},onSelect:d,align:p,sectionAlign:m,className:f}){const b=(p??(m==="vertical"?"newline":"inline"))==="inline",{t:C}=be.useTranslation(),[y,_]=o.useState(r),h=s??y,v=()=>{const g=!h;_(g),i?.(g)},x=e||t||a;return n.jsxs("div",{className:De("filter-panel",a?"filter-panel--collapsible":"",h?"filter-panel--collapsed":"",f),children:[x&&n.jsxs("div",{className:"filter-panel__header",children:[n.jsxs("div",{className:"filter-panel__title-row",children:[a&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:h?"chevron-down":"chevron-up",ariaLabel:h?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),"aria-expanded":!h,onClick:v}),e&&n.jsx("span",{className:"filter-panel__title h4",children:e})]}),n.jsx("div",{className:"filter-panel__header-actions",children:!h&&t})]}),!h&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:De("filter-panel__sections",b?"filter-panel__sections--row":""),children:c.map(g=>{const k=u[g.label],w=k===void 0||(Array.isArray(k)?k.length===0:!1),B=(g.items??[]).filter(A=>A!=null);g.allOption&&B.some(A=>(typeof A=="string"?A:A.value)===rn)&&fn(`filter-panel-all-value:${g.label}`,`[FilterPanel] '${g.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${rn}' \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 N=A=>{const D=typeof A=="string"?A:A.value,F=typeof A!="string"&&!!A.disabled,$=typeof A!="string"?A.labels:void 0,R=typeof A!="string"?A.displayLabel:void 0,U=typeof A!="string"?A.tooltip:void 0,E=typeof A!="string"?A.descriptionTooltip:void 0,T=typeof A!="string"?A.shape:void 0,V=Array.isArray(k)?k.includes(D):k===D;return n.jsx(le,{htmlType:"button",size:"keyboard",label:$??R??D,type:g.itemType??($?"bar":D.length===1?"dot":void 0),selected:V,disabled:F,shape:T,showTooltipInfo:!!U,tooltipInfoText:U,tooltipDescription:E,onClick:()=>d?.(D,g.label)},D)};return n.jsxs(o.Fragment,{children:[g.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:g.groupLabel}),g.groupAction]}),n.jsxs("div",{className:De("filter-panel__section",g.layout==="row"?"filter-panel__section--row":"",g.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:g.displayLabel??g.label}),g.labelAction??(g.labelInfo?n.jsx(Ba,{...g.labelInfo}):null)]}),g.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:g.content}):g.type==="input"?n.jsx(Vn,{className:"filter-panel__textfield",placeholder:g.placeholder,ariaLabel:g.displayLabel??g.label,value:u[g.label]??"",onChange:A=>d?.(A,g.label),error:g.error}):!g.multiple&&g.display==="segmented"?n.jsx(Sn,{ariaLabel:g.displayLabel??g.label,options:[...g.allOption?[{key:rn,label:g.allLabel??C("common.all","\uC804\uCCB4"),disabled:g.allOptionDisabled}]:[],...B.map(A=>{const D=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,$=typeof A!="string"?A.disabled:void 0;return{key:D,label:F??D,disabled:$}})],value:w&&g.allOption?rn:u[g.label]??"",onChange:A=>d?.(A,g.label),size:40}):!g.multiple&&g.display==="dropdown"?n.jsx(nn,{className:"filter-panel__dropdown",size:40,options:[...g.allOption?[{value:rn,label:g.allLabel??C("common.all","\uC804\uCCB4"),disabled:g.allOptionDisabled}]:[],...B.map(A=>{const D=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,$=typeof A!="string"?A.disabled:void 0;return{value:D,label:F??D,disabled:$}})],value:w&&g.allOption?rn:u[g.label],onChange:A=>d?.(A,g.label)}):n.jsxs("div",{className:g.groups?"filter-panel__item-groups":"filter-panel__items",children:[g.allOption&&!g.groups&&n.jsx(le,{htmlType:"button",size:"keyboard",label:g.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:g.allOptionDisabled,onClick:()=>d?.(rn,g.label)}),g.groups?g.groups.map((A,D)=>n.jsxs("div",{className:"filter-panel__item-group",children:[D===0&&g.allOption&&n.jsx(le,{htmlType:"button",size:"keyboard",label:g.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:g.allOptionDisabled,onClick:()=>d?.(rn,g.label)}),A.filter(F=>F!=null).map(N)]},D)):B.map(N)]})]})]},g.label)})}),l!=null&&l!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:l})]})]})}const Ey=[1,2,3,4,5,6,7,8,9,10,11,12],gc=[8,4,2,1];function bc(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.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:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function yc(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 vc(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 xc(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 _c(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 wc(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...gc.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function kc(e,t){return e===t||!gc.includes(e)?Number.POSITIVE_INFINITY:e}function Ac(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 Bc={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Nc(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Dc(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function Sc(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===rn?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(t)?s.filter(i=>i!==t):[...s,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function jy(e){return"sections"in e}function vo(e){const{t}=be.useTranslation(),{title:a,className:r}=e;if(jy(e))return n.jsx(wn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:s,hasColloquial:i,contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p,setters:m,showCutLine:f=!1,showDivLine2:b=!1,middleSections:C=[],extraSelected:y={},onExtraSelect:_}=e,h=[bc(t,{hasImage:s,hasColloquial:i}),yc(t),...C,vc(t),...f?[xc(t)]:[],...b?[_c(t)]:[]],v={...Dc(t,{contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p}),...y},x=(g,k)=>{Sc(t,g,k,m)||_?.(g,k)};return n.jsx(wn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:h,selected:v,onSelect:x,sectionAlign:"horizontal"})}function Ec(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function xo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let nr=null,sa=null;function Ty(e,t,a,r="",s=""){if(e.length===0||sa&&sa.iframe.isConnected&&Date.now()-sa.at<1e4)return;const i=r?xo(r):"";nr?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),nr===l&&(nr=null)},nr=l,window.addEventListener("afterprint",l)}const c=document.createElement("iframe");c.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(c);const u=c.contentDocument;if(!u){c.remove();return}sa={iframe:c,at:Date.now()},u.open(),u.write(_o(e,t,a,!0,i,s)),u.close(),c.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{c.remove(),sa?.iframe===c&&(sa=null)},0)})}function _o(e,t,a,r=!1,s="",i=""){s=s?xo(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
|
|
860
|
-
`),c="light",u=i?`<div class="paper-head">${Ec(i)}</div>`:"",d=e.map(p=>{const m=p.cloneNode(!0);return m.querySelectorAll('[data-play-state="play"]').forEach(
|
|
856
|
+
`)}const k4=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),A4=/^(?: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 B4(e,t){let a=e;const r=[],s=/^(?:sh|bash|zsh|shell|console)$/.test(t.toLowerCase()),i=(l,c)=>r.push({type:l,content:c});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 y=a.indexOf(`
|
|
857
|
+
`),g=y===-1?a:a.slice(0,y);i("comment",g),a=a.slice(g.length);continue}if(s&&a.startsWith("#")){const y=a.indexOf(`
|
|
858
|
+
`),g=y===-1?a:a.slice(0,y);i("comment",g),a=a.slice(g.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const u=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(u){i("string",u[0]),a=a.slice(u[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(A4);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 y=m[0];i(s&&k4.has(y)?"command":"identifier",y),a=a.slice(y.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){i("operator",h[0]),a=a.slice(h[0].length);continue}const v=a.match(/^[()[\]{};.,]/);if(v){i("punctuation",v[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function N4({children:e,language:t="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=ve.useTranslation(),[c,u]=o.useState(!1),d=w4(Ll(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await B2(d))return;u(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>u(!1),2e3)}catch{}},h=B4(d,t),v=s==="small"?"caption-1":"body-3";return n.jsxs("div",{className:Se("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(le,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:m,ariaLabel:c?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:h.map((y,g)=>n.jsx("span",{className:`code-token ${y.type} ${v}`,children:y.content},g))})})]})}const D4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Sa(e){const{t}=ve.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||t("loader.loading","Loading");if(a==="bar"){const u=s==null||!Number.isFinite(Number(s)),d=u?0:Math.max(0,Math.min(100,Number(s)));return n.jsx("div",{className:`loader-bar${u?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:u?void 0:{width:`${d}%`}})})}const c=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:c,height:c},role:"status","aria-label":l,children:[n.jsx("span",{style:D4,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function $l({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:c}){const u=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&u,n.jsx("input",{id:c,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&s?s:void 0}),n.jsx("span",{className:"toggle__slider"}),i==="right"&&u]})}function Rl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:c,ariaLabel:u}){const d=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:Se("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:c,children:[n.jsx("input",{ref:d,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{t?.(h.target.checked),d.current&&(d.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&u?u:void 0}),n.jsx("span",{className:"checkbox__box"}),s&&n.jsx("span",{className:"checkbox__label body-3",children:s})]})}function S4({count:e,actions:t,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:c}=ve.useTranslation(),u=s!==void 0?s:e>0,d=r??c("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),h=o.useRef(null),v=o.useRef(u);o.useLayoutEffect(()=>{const C=m.current,x=v.current;if(v.current=u,u&&!x){const b=typeof document<"u"?document.activeElement:null;h.current=b&&b!==document.body&&!C?.contains(b)?b:null}else!u&&x&&C&&C.contains(document.activeElement)&&Wa(C,h.current)},[u]);const[y,g]=o.useState(!1),_=o.useRef(!1),f=o.useRef(null);return o.useEffect(()=>{const C=p.current;if(!C)return;const x=A=>{_.current=A,g(A)},b=()=>{const A=C.firstElementChild??C,D=Array.from(A.children);if(D.length<2){x(!1);return}const H=D[0].offsetTop,R=D.some(z=>z.offsetTop!==H);if(!_.current){f.current=C.clientWidth,R&&x(!0);return}if(R)return;const P=D[0],G=D[D.length-1],S=G.offsetLeft+G.offsetWidth-P.offsetLeft,M=f.current;(M==null||S<=M)&&x(!1)};if(b(),typeof ResizeObserver>"u")return;const w=new ResizeObserver(b);w.observe(C);const k=C.parentElement;let B=k?.clientWidth??0;const N=new ResizeObserver(()=>{const A=k?.clientWidth??0;A!==B&&(B=A,f.current=null,b())});return k&&N.observe(k),()=>{w.disconnect(),N.disconnect()}},[i,e]),n.jsxs("div",{ref:m,className:`bulk-bar ${u?"bulk-bar--visible":""}`,inert:!u||void 0,"aria-hidden":u?void 0:!0,children:[n.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??n.jsx("b",{children:c("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(mt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`}),n.jsxs("div",{className:`bulk-bar__actions${y?" bulk-bar__actions--stacked":""}`,children:[n.jsx(le,{htmlType:"button",size:40,label:d,onClick:a}),t.map((C,x)=>n.jsx(le,{htmlType:"button",size:40,variant:C.variant??"default",icon:C.icon,label:C.label,onClick:C.onClick},x))]})]})}function Pl(e,t){const a=()=>{if(e){const[g,_]=e.split("-");return{y:+g,m:+_-1}}const[v,y]=Lr(t).split("-");return{y:+v,m:+y-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),c=o.useRef(e);o.useEffect(()=>{if(e===c.current)return;c.current=e;const v=a();s(v.y),l(v.m)},[e]);const u=o.useRef({y:r,m:i});o.useEffect(()=>{u.current={y:r,m:i}},[r,i]);const d=o.useCallback(v=>{const y=u.current.y*12+u.current.m+v,g=Math.floor(y/12),_=y-g*12;u.current={y:g,m:_},s(g),l(_)},[]),p=o.useCallback(()=>d(-1),[d]),m=o.useCallback(()=>d(1),[d]),h=o.useCallback((v,y)=>{u.current={y:v,m:y},s(v),l(y)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:h}}function Ya(e,t){return new Date(e,t+1,0).getDate()}function E4(e,t){return new Date(e,t,1).getDay()}function Za(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function j4(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function T4(e,t,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let c=s;c<=i;c++)for(let u=0;u<12;u++){const d=`${c}-${String(u+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(c,u+1)})}return l}function M4({value:e,onChange:t,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:c,today:u}){const{t:d}=ve.useTranslation(),p=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Lr(u),{viewY:v,viewM:y,prevMonth:g,nextMonth:_,setViewYM:f}=Pl(e,u),C=o.useId(),x=o.useCallback((E,I)=>{const F=window.innerHeight,$=window.innerWidth,T=typeof document<"u"?document.getElementById(C):null,Y=T?.offsetHeight||300,U=Math.max(E.width,T?.offsetWidth||0,260),J=F-E.bottom<Y&&E.top>Y,ce=8,Ee=(de,re)=>Math.min(Math.max(ce,de),Math.max(ce,re));return{position:"fixed",left:Ee(E.left,$-U-ce),width:E.width,minWidth:260,...J?{bottom:Ee(F-E.top+6,F-Y-ce)}:{top:Ee(E.bottom+6,F-Y-ce)},zIndex:xa(I)}},[C]),{open:b,setOpen:w,toggle:k,style:B,triggerRef:N,menuRef:A}=_a({computeStyle:x,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!b)return;const E=A.current;return(E?.querySelector(".date-picker__day--selected:not(:disabled)")??E?.querySelector(".date-picker__day--today:not(:disabled)")??E?.querySelector(".date-picker__day:not(:disabled)")??E?.querySelector(Cn)??E)?.focus?.(),()=>{const I=document.activeElement;(!I||I===document.body)&&N.current?.focus?.()}},[b,A,N]);const[D,H]=o.useState(1),R=o.useRef(null),P=o.useRef(null);o.useEffect(()=>{if(!b)return;const E=e&&e.slice(0,7)===`${v}-${String(y+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${v}-${String(y+1).padStart(2,"0")}`?+h.slice(8):1;H(E)},[b]),o.useEffect(()=>{if(P.current==null)return;const E=P.current;P.current=null,R.current?.querySelector(`[data-day="${E}"]`)?.focus()}),o.useEffect(()=>{H(E=>Math.min(E,Ya(v,y)))},[v,y]);const G=o.useCallback(E=>{let I=Za(E.getFullYear(),E.getMonth(),E.getDate());r&&I<r&&(I=r),s&&I>s&&(I=s);const[F,$,T]=I.split("-").map(Number);(F!==v||$-1!==y)&&f(F,$-1),H(T),P.current=T},[r,s,v,y,f]),S=o.useCallback(E=>{const I=new Date(v,y,D),F=T=>{I.setDate(I.getDate()+T),G(I)},$=T=>{const Y=I.getFullYear()*12+I.getMonth()+T,U=Math.floor(Y/12),J=Y-U*12;G(new Date(U,J,Math.min(I.getDate(),Ya(U,J))))};switch(E.key){case"ArrowLeft":F(-1);break;case"ArrowRight":F(1);break;case"ArrowUp":F(-7);break;case"ArrowDown":F(7);break;case"Home":F(-I.getDay());break;case"End":F(6-I.getDay());break;case"PageUp":E.shiftKey?$(-12):$(-1);break;case"PageDown":E.shiftKey?$(12):$(1);break;default:return}E.preventDefault()},[v,y,D,G]),M=o.useCallback(E=>{i||(t(Za(v,y,E)),w(!1))},[v,y,t,w,i]);o.useEffect(()=>{i&&w(!1)},[i,w]);const z=E=>{const I=Za(v,y,E);return!!(r&&I<r||s&&I>s)},K=(()=>{const E=Ya(v,y);if(D>=1&&D<=E&&!z(D))return D;for(let I=1;I<=E;I++)if(!z(I))return I;return-1})(),Z=[];for(let E=0;E<E4(v,y);E++)Z.push(null);for(let E=1;E<=Ya(v,y);E++)Z.push(E);const q=a===64?20:a===40?16:18,te=T4(v,(E,I)=>d("calendar.yearMonth",{year:E,month:I,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),O=`${v}-${String(y+1).padStart(2,"0")}`,L=b?Ut.createPortal(n.jsxs("div",{ref:A,id:C,className:"date-picker__dropdown",style:B,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:g,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(rs,{size:16,strokeWidth:2})}),n.jsx(an,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:te,value:O,onChange:E=>{const[I,F]=E.split("-");f(+I,+F-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:_,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(os,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:R,onKeyDown:S,children:[m.map(E=>n.jsx("div",{className:"date-picker__dow caption-1",children:E},E)),Z.map((E,I)=>{if(E===null)return n.jsx("div",{},`e${I}`);const F=Za(v,y,E),$=F===e,T=F===h,Y=z(E),U=I%7;return n.jsx("button",{type:"button",disabled:Y,"data-day":E,tabIndex:E===K?0:-1,"aria-current":T?"date":void 0,onClick:()=>!Y&&M(E),className:Se("date-picker__day caption-1",$&&"date-picker__day--selected",T&&!$&&"date-picker__day--today",Y&&"date-picker__day--disabled",U===0&&"date-picker__day--sun",U===6&&"date-picker__day--sat"),children:E},E)})]})]}),document.body):null;return n.jsxs("div",{className:Se("date-picker",`date-picker--s${a}`,b&&"date-picker--open",c),children:[n.jsxs("button",{ref:N,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&k(),disabled:i,"aria-haspopup":"true","aria-expanded":b,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?j4(e):p}),n.jsx(hs,{size:q,className:"date-picker__icon",strokeWidth:1.5})]}),L]})}function oo({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ea({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function so({title:e,titleClassName:t="h3",icon:a,disc:r,headRight:s,headSegment:i,headMenuItems:l,collapseBelow:c=420,onClick:u,ariaLabel:d,tooltip:p,totalNum:m,totalUnit:h,totalLabel:v,subRow:y,subRowAlign:g="start",className:_,inGrid:f=!1,children:C}){const{t:x}=ve.useTranslation(),b=o.useRef(null),{anchorRect:w,openAt:k,close:B}=va(),N=o.useCallback(()=>{p&&b.current&&k(b.current)},[p,k]),[A,D]=o.useState(!1);ao(()=>{const O=b.current;if(!O||!i)return;const L=I=>D(I>0&&I<c);if(L(O.clientWidth),typeof ResizeObserver>"u")return;const E=new ResizeObserver(I=>L(I[0].contentRect.width));return E.observe(O),()=>E.disconnect()},[i,c]);const[H,R]=o.useState(null),P=o.useCallback(()=>R(null),[]),G=o.useCallback(O=>{const L=O.currentTarget.getBoundingClientRect();R(E=>E?null:{left:L.left,right:L.right,top:L.top,bottom:L.bottom,width:L.width,height:L.height,x:L.x,y:L.y})},[]),S=!!i&&A;o.useEffect(()=>{S||R(null)},[S]);const M=i?[...i.options.map(O=>({label:O.label,icon:O.icon,selected:O.key===i.value,disabled:O.disabled,onClick:()=>i.onChange(O.key),closeOnSelect:!0})),...(l??[]).map((O,L)=>L===0?{...O,separatorBefore:!0}:O)]:[],z=o.useCallback(O=>{if(!u)return;const L=O.target;L&&typeof L.closest=="function"&&L.closest('button, a, input, select, textarea, [role="radiogroup"]')||u()},[u]),K=o.useCallback(O=>{u&&O.target===O.currentTarget&&(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),u())},[u]),Z=typeof s=="function"?s({collapsed:S}):s,q=m!=null||v?n.jsxs(Ea,{label:v,children:[m!=null&&n.jsx("span",{className:"barchart-total__num h0",children:m}),h&&n.jsx("span",{className:"barchart-total__unit h5",children:h})]}):null,te=Z||i?n.jsxs("div",{className:"manager-section__head-right",children:[i&&(S?n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:i.ariaLabel??x("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:i.ariaLabel??x("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!H,onClick:G}):n.jsx(Sn,{size:32,ariaLabel:i.ariaLabel,options:i.options.map(O=>({key:O.key,label:O.label,disabled:O.disabled})),value:i.value,onChange:i.onChange})),Z]}):null;return n.jsxs("section",{ref:b,className:["manager-section",f&&"manager-section--grid",u&&"manager-section--clickable",_].filter(Boolean).join(" "),onClick:u?z:void 0,onKeyDown:u?K:void 0,onPointerEnter:p?N:void 0,onPointerLeave:p?B:void 0,onFocus:p?N:void 0,onBlur:p?B:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,"aria-label":u?d??(typeof e=="string"?e:void 0):void 0,children:[p&&w&&n.jsx(bn,{anchorRect:{left:w.left,top:w.top+21,right:w.right,bottom:w.bottom,width:w.width,height:w.height},text:p}),n.jsxs("div",{className:"manager-section__head",children:[n.jsxs("div",{className:"manager-section__title-row",children:[a&&n.jsx(We,{icon:a,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),n.jsx("div",{className:["manager-section__title",t].filter(Boolean).join(" "),children:e})]}),te,r&&n.jsx("div",{className:"manager-section__disc body-3",children:r})]}),(q||y)&&n.jsxs("div",{className:["barchart-sub-row",g!=="start"&&`barchart-sub-row--${g}`].filter(Boolean).join(" "),children:[q,y]}),C,H&&n.jsx(gn,{anchorRect:H,onClose:P,ariaLabel:i?.ariaLabel??x("tooltip.menu","\uBA54\uB274"),children:n.jsx(wa,{columns:[{items:M}],onClose:P,size:"small"})})]})}function sn(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function L4(){const e=Kn();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<sn(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-sn(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function $4(e){const t=Kn(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(u,d)=>`${u}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const u of e){if(isNaN(u.date.getTime()))continue;const d=r(u.date.getFullYear(),u.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(u)}for(const[u,d]of[...s.entries()]){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,v=sn(m,h);if(!(u===a&&t.getDate()<v)&&!d.some(_=>_.date.getDate()<v))continue;const y=new Date(m,h,0),g=r(y.getFullYear(),y.getMonth());s.has(g)||s.set(g,[])}const i=new Map;for(const[u,d]of s){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,v=new Date(m,h+1,0).getDate(),y=d.reduce((b,w)=>Math.max(b,w.parts?.length??0,w.partsB?.length??0),0),g=d.some(b=>b.partsB),_=new Array(v+1).fill(0),f=new Array(v+1).fill(0),C=Array.from({length:v+1},()=>new Array(y).fill(0)),x=Array.from({length:v+1},()=>new Array(y).fill(0));for(const b of d){const w=b.date.getDate();if(_[w]+=b.a,f[w]+=b.b,b.parts)for(let k=0;k<y;k++)C[w][k]+=b.parts[k]??0;if(b.partsB)for(let k=0;k<y;k++)x[w][k]+=b.partsB[k]??0}i.set(u,{year:m,month:h,daysInMonth:v,partsLen:y,hasPartsB:g,dayA:_,dayB:f,dayParts:C,dayPartsB:x})}const l=(u,d,p)=>new Date(u,d,p).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c={};for(const[u,d]of i){const{year:p,month:m,daysInMonth:h,dayA:v,dayB:y,dayParts:g,dayPartsB:_}=d,f=p===t.getFullYear()&&m===t.getMonth(),C=t.getDate(),x=i.get(r(m===11?p+1:p,(m+1)%12)),b=d.partsLen,w=[];for(let B=1;B<=h;B++){const N=f&&B>C;w.push({label:String(B),...N&&v[B]===0&&y[B]===0?{future:!0}:{},a:N&&v[B]===0&&y[B]===0?-1:v[B],b:y[B],...b?{parts:g[B]}:{},...b&&d.hasPartsB?{partsB:_[B]}:{}})}const k=[];for(let B=sn(p,m);B<=h;B+=7){const N=Math.max(0,B+6-h),A=N&&x?Math.max(b,x.partsLen):b,D=d.hasPartsB||!!(N&&x?.hasPartsB);let H=0,R=0;const P=new Array(A).fill(0),G=new Array(A).fill(0);for(let M=B;M<=Math.min(B+6,h);M++){H+=v[M],R+=y[M];for(let z=0;z<b;z++)P[z]+=g[M][z],G[z]+=_[M][z]}if(N&&x)for(let M=1;M<=N&&!l(x.year,x.month,M);M++){H+=x.dayA[M],R+=x.dayB[M];for(let z=0;z<x.partsLen;z++)P[z]+=x.dayParts[M][z],G[z]+=x.dayPartsB[M][z]}const S=N?`${(m+1)%12+1}/${N}`:`${B+6}`;k.push({label:`${k.length+1}\uC8FC`,sublabel:`[${B}\uC77C~${S}\uC77C]`,a:H,b:R,...A?{parts:P}:{},...A&&D?{partsB:G}:{}})}c[u]={weekly:k,daily:w}}return c}function Il(){const e=Kn(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=t;s++){const i=s===t?a:12;for(let l=1;l<=i;l++){const c=`${s}\uB144 ${l}\uC6D4`;r.push({value:c,label:c,year:s,month:l})}}return r.reverse()}Il();function R4(){return Il()}const Fl=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Ol(e){const{t,i18n:a}=ve.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>R4().filter(A=>A.value in e),[e]),l=o.useMemo(()=>{const A=[];for(const D of i){const H=new Date(D.year,D.month,0).getDate(),R=sn(D.year,D.month-1),P=Math.ceil((H-R+1)/7);for(let G=P-1;G>=0;G--)A.push({value:`${D.value}#${G}`,monthKey:D.value,year:D.year,month:D.month,week:G})}return A},[i]),c=o.useCallback(A=>{const D=t("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${D} ${Fl[A.week]??`${A.week+1}`}\uC8FC`:`${D} Week ${A.week+1}`},[t,a.language]),u=o.useMemo(()=>i.map(A=>({value:A.value,label:t("calendar.yearMonth",{year:A.year,month:A.month})})),[t,i]),d=o.useMemo(()=>l.map(A=>({value:A.value,label:c(A)})),[l,c]),p=o.useMemo(()=>L4(),[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]),[v,y]=o.useState(""),[g,_]=o.useState("");o.useEffect(()=>{i.find(A=>A.value===v)||y(m)},[i,v,m]),o.useEffect(()=>{l.find(A=>A.value===g)||_(h)},[l,g,h]);const f=r==="month"?u:d,C=r==="month"?v:g,x=r==="month"?y:_,b=o.useMemo(()=>{const A=t("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),w=f.findIndex(A=>A.value===C),k=o.useCallback(()=>{const A=f.findIndex(D=>D.value===C);A<f.length-1&&x(f[A+1].value)},[f,C,x]),B=o.useCallback(()=>{const A=f.findIndex(D=>D.value===C);A>0&&x(f[A-1].value)},[f,C,x]),N=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:s,range:C,setRange:x,activeOptions:f,activeIdx:w,handlePrev:k,handleNext:B,periodOptions:N,monthRange:v,weekRange:g,weekRanges:l,DOW:b}}const lt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function _n(e,t=!0){return e.future===!0||t&&e.a===-1}function P4({data:e,colorA:t,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:c=140,maxOverride:u,tightMax:d,seriesColors:p,seriesLabels:m,rateLabels:h,grouped:v=!1,baseline:y}){const g=!a,_=!!(p&&p.length>0),f=y,C=o.useMemo(()=>_?Math.max(0,...e.filter(M=>!_n(M,f==null)).map(M=>v?Math.max(0,...(M.parts??[]).map(lt)):(M.parts??[]).reduce((z,K)=>z+Math.max(0,lt(K)),0))):Math.max(0,...e.filter(M=>!_n(M,f==null)).flatMap(M=>g?[lt(M.a)]:[lt(M.a),lt(M.b)])),[e,g,_,v]),x=o.useMemo(()=>{if(f==null)return 0;const M=e.filter(z=>!_n(z,f==null)).flatMap(z=>_?(z.parts??[]).map(lt):g?[lt(z.a)]:[lt(z.a),lt(z.b)]);return Math.max(0,...M.map(z=>Math.abs(z-f)))},[e,f,_,g]),b=o.useMemo(()=>{const M=f!=null?x:C;return u??(d?M>0?M:10:Math.ceil(M/10)*10||10)},[C,x,f,u,d]),w=c,k=_?v?Math.max(1,p.length):1:g?1:2,B={"--bar-width":`${o.useMemo(()=>{const M=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(M*k)+6)))},[e.length,k,i])}px`},N={"--bar-group-gap":`${Math.max(0,l)}px`},A=o.useMemo(()=>{const M=Math.round(b/2);return f!=null?[f+b,...M!==b?[f+M]:[],f,...M!==b?[f-M]:[],f-b]:M!==b?[b,M,0]:[b,0]},[b,f]),D=M=>f!=null?1-(M-(f-b))/(2*b):1-M/b,[H,R]=o.useState(null),P=o.useCallback(()=>R(null),[]),G=M=>f!=null&&M>f?`+${M}`:`${M}`,S=H!=null;return o.useEffect(()=>{if(!S)return;const M=()=>R(null),z=K=>{const Z=K.target;Z&&typeof Z.closest=="function"&&Z.closest(".manager-bar-chart-col")||R(null)};return window.addEventListener("scroll",M,!0),document.addEventListener("pointerdown",z,!0),()=>{window.removeEventListener("scroll",M,!0),document.removeEventListener("pointerdown",z,!0)}},[S]),n.jsxs("div",{className:"manager-bar-chart-wrap",style:N,children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:w},children:[A.slice(0,-1).map((M,z)=>n.jsx("div",{className:`manager-bar-chart-gridline${f!=null&&M===f?" manager-bar-chart-gridline--baseline":""}`,style:{top:D(M)*w},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:M})},z)),e.map((M,z)=>{const K=_n(M,f==null),Z=w/2,q=E=>f!=null?Math.min(Z,Math.abs(lt(E)-f)/b*Z):Math.min(w,Math.max(0,lt(E)/b*w)),te=K?0:q(M.a),O=K?0:q(M.b),L=(M.parts??[]).map(lt);return n.jsx("div",{className:`manager-bar-chart-col${v&&_?" manager-bar-chart-col--group":""}`,style:{cursor:K?"default":"pointer"},onMouseEnter:K?void 0:E=>{const I=E.currentTarget.getBoundingClientRect(),F=[M.label,M.sublabel].filter(Boolean).join(" ");let $;if(_&&v&&M.rawPartsB)$=(m??[]).map((T,Y)=>{const U=M.rawPartsB[Y]??0;return{text:U>0?`${T}: ${L[Y]??0}% (${M.rawParts?.[Y]??0}/${U})`:`${T}: -`,color:(p??[])[Y]}});else if(_&&v)$=(m??[]).map((T,Y)=>({text:`${T}: ${G(L[Y]??0)}`,color:(p??[])[Y]}));else if(_){const T=(m??[]).map((U,J)=>({text:`${U}: ${L[J]??0}`,color:(p??[])[J]})),Y=T.filter((U,J)=>(L[J]??0)>0);$=Y.length?Y:T}else h&&!g?$=[{text:`${r} ${lt(M.a)}%`,color:t},{text:`${s} ${lt(M.b)}%`,color:a}]:h&&M.rawB!==void 0?$=[{text:`${h.total} ${M.rawB}`},{text:`${h.done} ${M.rawA??0}`,color:t}]:g?$=[{text:`${r}: ${lt(M.a)}`,color:t}]:$=[{text:`${r}: ${lt(M.a)}`,color:t},{text:`${s}: ${lt(M.b)}`,color:a}];R({rect:{left:I.left,top:I.top,right:I.right,bottom:I.bottom,width:I.width,height:I.height},title:F,items:$})},onMouseLeave:P,children:!K&&(_&&v?(p??[]).map((E,I)=>{const F=L[I]??0;if(f==null)return n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:q(F),background:E}},I);const $=lt(F)<f;return n.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!$&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:q(F),background:E}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:$&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:q(F),background:E}})})]},I)}):_?n.jsx("div",{className:"manager-bar-chart-stack",style:B,children:(()=>{const E=L.reduce((F,$,T)=>$>0?T:F,-1);let I=w;return L.map((F,$)=>{if(F<=0)return null;const T=Math.min(I,F/b*w);return I-=T,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:T,background:(p??[])[$],borderRadius:$===E?"6px 6px 0 0":void 0}},$)})})()}):f!=null?n.jsx(n.Fragment,{children:[{v:lt(M.a),c:t},...g?[]:[{v:lt(M.b),c:a}]].map(({v:E,c:I},F)=>n.jsxs("div",{className:"manager-bar-chart-slot",style:B,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:E>=f&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:q(E),background:I}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:E<f&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:q(E),background:I}})})]},F))}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:te,background:t}}),!g&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...B,height:O,background:a}})]}))},z)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((M,z)=>{const K=_n(M,f==null);return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${K?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[M.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),M.label]}),M.sublabel&&n.jsx("span",{className:"caption-1",children:M.sublabel})]},z)})})]})})}),H&&n.jsx(Fn,{anchorRect:H.rect,title:H.title,items:H.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Hl({control:e}){const{t}=ve.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:c,periodOptions:u,period:d,setPeriod:p}=e,m=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),n.jsx(an,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(le,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:c}),n.jsx(Sn,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:u,value:d,onChange:v=>p(v),size:40})]})}function io(e,t,a,r=!0){const s=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(i,l)=>{const c=new Date(t);c.setDate(t.getDate()+l);const u=(e[`${c.getFullYear()}\uB144 ${c.getMonth()+1}\uC6D4`]?.daily??[])[c.getDate()-1],d=u!=null&&_n(u,r)||c>s;return{dt:c,entry:u,isFuture:d}})}function I4(e,t,a,r,s=!0){const{period:i,monthRange:l,weekRange:c,weekRanges:u,DOW:d}=t,p=r?.startsWith("ko"),m=Kn(),h=m.getFullYear(),v=m.getMonth()+1,y=m.getDate();if(i==="month"){const f=e[l]??{weekly:[],daily:[]},C=l.match(/^(\d+)년 (\d+)월$/),x=C?Number(C[1]):null,b=C?Number(C[2]):null,w=x&&b?sn(x,b-1):1;return f.weekly.map((k,B)=>{const N=B+1;let A=k.label,D=!1,H=!1;if(x&&b){const R=w+B*7,P=new Date(x,b-1,R+6),G=P.getMonth()+1,S=P.getDate(),M=G===b?`${S}`:`${G}/${S}`;A=a("manager.chart.weekRange",{start:R,end:M});const z=new Date(h,v-1,y).getTime();D=z>=new Date(x,b-1,R).getTime()&&z<=P.getTime(),H=x>h||x===h&&(b>v||b===v&&R>y)}return{...k,label:A,sublabel:p?`${Fl[N-1]??N}\uC8FC`:`Week ${N}`,isToday:D,future:k.future===!0||H||void 0,a:H?-1:k.a,b:H?0:k.b}})}const g=u.find(f=>f.value===c);if(!g)return[];const _=new Date(g.year,g.month-1,sn(g.year,g.month-1)+g.week*7);return io(e,_,m,s).map(({dt:f,entry:C,isFuture:x})=>{const b=f.getMonth()+1,w=f.getDate(),k=f.getFullYear();return{label:b===g.month&&k===g.year?`${w}`:`${b}/${w}`,sublabel:d[f.getDay()]??"",future:x||void 0,a:x?-1:C&&C.a>0?C.a:0,b:x?0:C&&C.b>0?C.b:0,isToday:k===h&&b===v&&w===y,...C?.parts?{parts:x?C.parts.map(()=>0):C.parts}:{},...C?.partsB?{partsB:x?C.partsB.map(()=>0):C.partsB}:{}}})}const F4={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function O4({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:s,colorB:i,labelAKey:l,labelBKey:c,showTotal:u=!1,totalUnitKey:d,totalLabelKey:p,control:m,hideControls:h=!1,rate:v=!1,rateAgg:y="dayMean",tightMax:g=!1,avgMode:_=!1,totalFormat:f,series:C,seriesMode:x="stack",loading:b=!1,onDetail:w,headExtra:k,headSegment:B,icon:N,disc:A,onClick:D,cardAriaLabel:H,cardTooltip:R,detailSize:P=32,barGap:G,baseline:S,className:M,inGrid:z=!1}){const{t:K,i18n:Z}=ve.useTranslation(),q=F4[e],te=Ol(r),O=m??te,L=o.useMemo(()=>I4(r,O,K,Z.language,S==null),[r,O,K,Z.language,S]),E=x==="group"&&!!C&&C.length>0;G!=null&&!E&&fn("bar-chart-bargap-without-group","[BarChart] barGap \uC740 seriesMode='group' + series \uC5D0\uC11C\uB9CC \uC4F0\uC778\uB2E4 \u2014 \uADF8 \uBC16\uC5D0\uC11C\uB294 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4.");const I=o.useMemo(()=>{if(!v)return L;const U=O.period==="month"?O.monthRange.match(/^(\d+)년 (\d+)월$/):null,J=Kn(),ce=C?.length??0,Ee=de=>{const re=[],W=[],ie=[];for(let pe=0;pe<ce;pe++){let ye=0,ge=0,we=0;for(const Ce of de){const Be=lt(Ce.a[pe]),De=lt(Ce.b[pe]);De<=0||(ye+=Be,ge+=De,we+=Be/De*100)}re.push(y==="weighted"?ge>0?Math.round(ye/ge*100):0:de.length?Math.round(we/de.length):0),W.push(ye),ie.push(ge)}return{pct:re,ra:W,rb:ie}};return L.map((de,re)=>{let W=de.a===-1?-1:de.b>0?Math.round(de.a/de.b*100):0;if(U&&!_n(de)){const pe=Number(U[1]),ye=Number(U[2])-1,ge=io(r,new Date(pe,ye,sn(pe,ye)+re*7),J).filter(we=>!we.isFuture);if(y==="weighted"){let we=0,Ce=0;for(const{entry:Be}of ge)Be&&Be.b>0&&(we+=Be.a,Ce+=Be.b);W=Ce>0?Math.round(we/Ce*100):0}else W=ge.length?Math.round(ge.reduce((we,{entry:Ce})=>we+(Ce&&Ce.b>0?Ce.a/Ce.b*100:0),0)/ge.length):0}let ie=null;if(E&&!_n(de)){let pe;if(U){const ge=Number(U[1]),we=Number(U[2])-1;pe=io(r,new Date(ge,we,sn(ge,we)+re*7),J).filter(Ce=>!Ce.isFuture).map(({entry:Ce})=>({a:Ce?.parts??[],b:Ce?.partsB??[]}))}else pe=[{a:de.parts??[],b:de.partsB??[]}];const ye=Ee(pe);ie={parts:ye.pct,rawParts:ye.ra,rawPartsB:ye.rb}}return{...de,a:W,b:de.a===-1?0:c&&de.parts&&de.parts[1]>0?Math.round(de.parts[0]/de.parts[1]*100):0,rawA:de.a===-1?-1:de.a,rawB:de.b,...ie??{}}})},[L,v,y,c,O.period,O.monthRange,r,E,C?.length]),F=o.useMemo(()=>{if(v||_){const J=(O.period==="week"?L:r[O.monthRange]?.daily??[]).filter(Ee=>Ee.a!==-1);if(J.length===0)return 0;if(v&&y==="weighted"){let Ee=0,de=0;for(const re of J)re.b>0&&(Ee+=re.a,de+=re.b);return de>0?Math.round(Ee/de*100):0}const ce=v?J.reduce((Ee,de)=>Ee+(de.b>0?de.a/de.b*100:0),0):J.reduce((Ee,de)=>Ee+(de.a>0?de.a:0),0);return Math.round(ce/J.length)}const U=O.period==="month"?r[O.monthRange]?.daily??[]:I;return S!=null?U.reduce((J,ce)=>J+(_n(ce,!1)?0:lt(ce.a)+(c?lt(ce.b):0)),0):U.reduce((J,ce)=>J+(ce.a>0?ce.a:0)+(c&&ce.b>0?ce.b:0),0)},[I,L,v,y,_,S,c,O.period,O.monthRange,r]),$=C&&C.length>0?C.map(U=>({color:U.color,label:U.label})):[{color:s,label:K(l)},...c?[{color:i,label:K(c)}]:[]],T=e==="small",Y=[T?"manager-section--compact":e==="large"?"manager-section--full":void 0,M].filter(Boolean).join(" ")||void 0;return n.jsx(so,{className:Y,inGrid:z,icon:N,disc:A,onClick:D,ariaLabel:H,tooltip:R,headSegment:B,headMenuItems:w?[{label:K("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),icon:"list",onClick:w,closeOnSelect:!0}]:void 0,title:K(a),titleClassName:T?"h5 chart-section-title--small":void 0,headRight:T?k??void 0:({collapsed:U})=>n.jsxs(n.Fragment,{children:[!h&&n.jsx(Hl,{control:O}),k,w&&!U&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(le,{htmlType:"button",size:P,type:"dot",icon:"list",ariaLabel:K("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),showTooltipInfo:K("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:w})})]}),subRow:n.jsxs(n.Fragment,{children:[u?v||_||p&&f?n.jsx(Ea,{label:T?void 0:`${K(O.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${K(p??l)}`,children:f?(f(F).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((U,J)=>/\d/.test(U)?n.jsx("span",{className:"barchart-total__num h0",children:U},J):n.jsx("span",{className:"barchart-total__unit h5",children:U},J)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:F}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:K(d)})]})}):n.jsxs(Ea,{children:[n.jsx("span",{className:"barchart-total__num h0",children:F}),n.jsx("span",{className:"barchart-total__unit h5",children:K(l)}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:K(d)})]}):n.jsx("span",{}),n.jsx(oo,{items:$,className:"caption-1"})]}),children:b?n.jsx("div",{className:"manager-bar-chart-wrap manager-bar-chart-loading","aria-busy":"true",children:n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsxs("div",{className:"manager-bar-chart-area manager-bar-chart-area--loading",children:[n.jsx("div",{className:"manager-bar-chart-plot manager-bar-chart-plot--loading",style:{height:q.height},children:n.jsx(Sa,{size:32})}),n.jsx("div",{className:"manager-bar-chart-x-axis","aria-hidden":"true",children:n.jsxs("span",{className:"manager-bar-chart-x-axis__label",children:[n.jsx("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:"\xA0"}),I.some(U=>!!U.sublabel)&&n.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):n.jsx(P4,{data:I,colorA:s,colorB:c?i:void 0,labelA:K(l),labelB:c?K(c):void 0,barWidth:t??q.barWidth,barGap:G,baseline:S,height:q.height,maxOverride:v?100:void 0,tightMax:g,seriesColors:C?.map(U=>U.color),seriesLabels:C?.map(U=>U.label),rateLabels:v?{total:K("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:K("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:E})})}const zl=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Vl=(e,t,a,r)=>({from:si(e,t,a),to:new Date(si(e,t,a+r).getTime()-1),fromYmd:zl(e,t,a),toYmd:zl(e,t,a+r-1)});function H4(e,t=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Kn(),l=s?Number(s[1]):i.getFullYear(),c=(s?Number(s[2]):i.getMonth()+1)-1+t,u=new Date(Date.UTC(l,c+1,0)).getUTCDate();return Vl(l,c,1,u)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=ga();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=sn(a.year,a.month-1);return Vl(a.year,a.month-1,r+(a.week+t)*7,7)}const lo={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Wl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function ql({done:e,total:t,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:c=!1,hideLabel:u=!1}){const d=typeof s=="number"?s:lo[s].diameter,p=i??(typeof s=="number"?12:lo[s].strokeWidth),m=d/2,h=(d-p)/2,v=2*Math.PI*h;if(a&&a.length>0){const f=a.reduce((C,x)=>{const b=C.length>0?C[C.length-1].acc:0,w=Number.isFinite(x.ratio)?x.ratio:0,k=Math.max(0,Math.min(w,1-b));return C.push({color:x.color,rotate:-90+b*360,dash:v*k,acc:b+k}),C},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),f.map((C,x)=>C.dash>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:C.color,strokeWidth:p,strokeDasharray:`${C.dash} ${v}`,strokeLinecap:"round",transform:`rotate(${C.rotate} ${m} ${m})`},x))]})})}const y=(t??0)>0?Math.min((e??0)/t,1):0,g=v*y,_=v-g;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),y>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${g} ${_}`,strokeLinecap:y<.02||y>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!c&&n.jsxs("div",{className:`ring-chart__center${u?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:Wl(y)}),!u&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function z4({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:s,legend:i,loading:l,className:c,inGrid:u=!1,onClick:d,ariaLabel:p,tooltip:m,...h}){const{t:v}=ve.useTranslation();if(!e)return n.jsx(ql,{...h});const y=(h.total??0)>0?Wl(Math.min((h.done??0)/h.total,1)):0,g=h.size==="small",_=typeof h.size=="number"?h.size:lo[h.size??"medium"].diameter,f=h.size==="large",C=[c,g?"manager-section--compact":f?"manager-section--full":""].filter(Boolean).join(" ")||void 0,x=a&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(We,{icon:a,className:"chart-section-icon-inner"})});return n.jsx(so,{className:C,inGrid:u,onClick:d,ariaLabel:p,tooltip:m,title:v(e),titleClassName:g?"h5 chart-section-title--small":void 0,headRight:x||(g?void 0:t),subRow:(r||i)&&n.jsxs(n.Fragment,{children:[r?n.jsxs(Ea,{label:!g&&s?v(s):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:y}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),i&&n.jsx(oo,{items:i})]}),children:l?n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx("div",{className:"ring-chart ring-chart--loading",style:{width:_,height:_},"aria-busy":"true",children:n.jsx(Sa,{size:32})})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(ql,{...h,hideCenter:h.hideCenter??g})})})}function V4({label:e,value:t,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:c}){const u=o.useRef(null),{anchorRect:d,openAt:p,close:m}=va(),h=o.useCallback(()=>{i&&u.current&&p(u.current)},[i,p]),v=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),y=a===void 0?void 0:a>0?`+${a}`:`${a}`,g=o.useCallback(_=>{l&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),l())},[l]);return n.jsxs("div",{ref:u,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,t,y].filter(_=>_!==void 0&&_!=="").join(" "):void 0,children:[i&&d&&n.jsx(bn,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:i}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(We,{icon:s,className:"manager-stat-card__icon-inner"})})]}),n.jsxs("div",{className:"manager-stat-card__content",children:[n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),y&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${v??"neutral"} caption-1`,children:y})]}),c&&n.jsx("div",{className:"manager-stat-card__body",children:c})]})]})}function Ul({value:e,onChange:t,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:c=!1,ariaLabel:u,length:d,className:p,label:m,formatValue:h,labelPos:v,labelAlign:y="right",showMinMax:g=!1,minLabel:_,maxLabel:f,showBgTick:C=!1,showFillTick:x=!1,tickStep:b,tickShape:w="dot"}){t&&!u&&fn("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 k=Math.min(r,Math.max(a,e)),B=r>a?(k-a)/(r-a):0,N=i==="vertical",A=!t,D=E=>t?.(Number(E.target.value)),H=typeof d=="number"?`${d}px`:d,R={"--slider-ratio":String(B),"--slider-thumb":`${l}px`,...H?N?{height:H}:{width:H}:{}},P=b??s,G=(C||x)&&P>0&&r>a?Math.floor((r-a)/P+1e-6):0;if(G>0&&G<=100){const E=w!=="dash",I=U=>E?`radial-gradient(circle, ${U} 0.5px, transparent 1px)`:N?`linear-gradient(to bottom, transparent calc(50% - 2px), ${U} calc(50% - 2px), ${U} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${U} calc(50% - 2px), ${U} calc(50% + 2px), transparent calc(50% + 2px))`,F=E?"2px":"4px",$=[],T=[],Y=[];for(let U=0;U<=G;U++){const J=U*P/(r-a);if(J>1+1e-6)break;const ce=`${((N?1-J:J)*100).toFixed(4)}%`,Ee=J<=B+1e-6;if(Ee?!x:!C)continue;const de=Ee?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";$.push(I(de)),T.push(N?`${F} var(--slider-thumb)`:`var(--slider-thumb) ${F}`),Y.push(N?`center ${ce}`:`${ce} center`)}$.push(N?"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))"),T.push("100% 100%"),Y.push("0 0"),R.backgroundImage=$.join(", "),R.backgroundSize=T.join(", "),R.backgroundPosition=Y.join(", "),R.backgroundRepeat="no-repeat"}const S=h?h(k):m==="percent"?`${Math.round(r>a?(k-a)/(r-a)*100:0)}%`:m==="count"?`${k} / ${r}`:k===a&&_?_:k===r&&f?f:void 0,M=n.jsx("input",{type:"range",className:Se("slider",`slider--${i}`,A&&"slider--static",!m&&!g&&p),min:a,max:r,step:s,value:k,disabled:c,readOnly:A,tabIndex:A?-1:void 0,"aria-label":u,"aria-valuetext":S,"aria-orientation":i,onChange:D,style:R});if(!m&&!g)return M;const z=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??a}),K=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:f??r}),Z=g?n.jsxs("div",{className:Se("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[N?K:z,M,N?z:K]}):M;if(!m)return Z;const q=v??(N?"bottom":"right"),te=`${Math.round(r>a?(k-a)/(r-a)*100:0)}%`,O=h?h(k):m==="percent"?te:m==="count"?`${k} / ${r}`:String(k),L=n.jsx("span",{className:"slider-wrap__value body-3b",children:O});return n.jsxs("div",{className:Se("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${q}`,`slider-wrap--align-${y}`,p),children:[Z,L]})}const W4=.86,q4=250,co=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),uo=(e,t,a,r)=>{const s=co(e,t,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function po({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:c=-60,refDb:u=-35,displayMin:d=-5,displayMax:p=25,className:m,ariaLabel:h}){const v=o.useRef(null),y=o.useRef(null),g=o.useRef(null),_=o.useRef(null),[f,C]=o.useState(null);o.useEffect(()=>{const k=M=>{const z=uo(M,u,d,p);g.current&&(g.current.textContent=z);const K=v.current;K&&(K.setAttribute("aria-valuenow",String(co(M,u,d,p))),K.setAttribute("aria-valuetext",z))},B=e??J0(t)??(f&&f.el===t?f.node:null),N=y.current;if(!B||!N){N?.style.setProperty("--meter-level","0"),k(c);let M=!1;return!e&&t&&Ia(t).then(z=>{!M&&z&&C({el:t,node:z})}),()=>{M=!0}}Sr();const A=new Float32Array(B.fftSize);let D=0,H=0,R=0,P=0,G=null;const S=M=>{const z=Q0(B,A);D=z>D?z:D*W4;const K=D>1e-5?20*Math.log10(D):-1/0,Z=Math.max(c,K),q=Z-u,te=Math.min(1,Math.max(0,(q-d)/(p-d)));if(N.style.setProperty("--meter-level",te.toFixed(3)),H+=Z,R+=1,M-P>=q4){const O=H/R;G=G==null?O:G*.6+O*.4,k(G),H=0,R=0,P=M}_.current=requestAnimationFrame(S)};return _.current=requestAnimationFrame(S),()=>{_.current!=null&&cancelAnimationFrame(_.current),_.current=null}},[e,t,f,c,u,d,p]);const x=typeof r=="number"?`${r}px`:r,b=n.jsx("div",{className:"audio-meter__track",style:x?a==="vertical"?{height:x}:{width:x}:{},children:n.jsx("div",{ref:y,className:"audio-meter__fill"})}),w=i??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:v,className:Se("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${w}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":p,"aria-valuenow":co(c,u,d,p),"aria-valuetext":uo(c,u,d,p),children:[b,s&&n.jsx("span",{ref:g,className:"audio-meter__value caption-2",children:uo(c,u,d,p)})]})}const Gl=260;function Kl({message:e,position:t,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,c]=o.useState(!1),u=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{u.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 v=a,y=o.useRef(null),g=o.useRef(0),_=o.useRef(0),f=o.useRef(!1),C=o.useRef(null),x=o.useRef(null),b=o.useRef(null),w=o.useRef(null),k=o.useRef(()=>{});k.current=A=>{A<0||(g.current=Date.now(),_.current=A,y.current=setTimeout(()=>{y.current=null,i(!1),C.current=setTimeout(()=>{c(!1);try{h.current()}catch{}},Gl)},A))};const B=o.useCallback(()=>{f.current||!y.current||(f.current=!0,clearTimeout(y.current),y.current=null,_.current=Math.max(0,_.current-(Date.now()-g.current)))},[]),N=o.useCallback(()=>{f.current&&(f.current=!1,k.current(_.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(y.current&&(clearTimeout(y.current),y.current=null),C.current&&(clearTimeout(C.current),C.current=null)),e){if(d.current)return v>0&&!y.current&&(f.current?_.current=v:k.current(v)),m.current=e,()=>{y.current&&(clearTimeout(y.current),y.current=null),C.current&&(clearTimeout(C.current),C.current=null)};const A=()=>{const D=p.current;if(D)try{D.classList.remove("is-visible"),D.style.transition="none",t==="top"?D.style.transform="translateX(-50%) translateY(-16px)":D.style.transform="translateX(-50%) translateY(16px)",D.style.opacity="0",D.offsetWidth,D.style.transition="",D.classList.add("is-visible"),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{w.current=null;try{D.style.opacity="",D.style.transform="",D.style.transition=""}catch{}},60)}catch{}};u.current?(A(),i(!0)):(c(!0),x.current=requestAnimationFrame(()=>{b.current=requestAnimationFrame(()=>{A(),i(!0)})})),v>0&&(f.current=!1,k.current(v))}else i(!1),C.current=setTimeout(()=>c(!1),Gl);return m.current=e,()=>{y.current&&clearTimeout(y.current),C.current&&clearTimeout(C.current),x.current&&cancelAnimationFrame(x.current),b.current&&cancelAnimationFrame(b.current),w.current&&clearTimeout(w.current),y.current=null,C.current=null,x.current=null,b.current=null,w.current=null}},[e,v,t]),{mounted:l,showing:s,popupRef:p,pause:B,resume:N}}function ta({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:c,pause:u,resume:d}=Kl({message:e,position:t,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 v=a==="notice"||a==="warning"?a:"normal",y=n.jsx("div",{ref:c,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:g=>{p.current=g.pointerType},onMouseEnter:()=>{p.current!=="touch"&&u()},onMouseLeave:d,onFocusCapture:u,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${v} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?Ut.createPortal(y,document.body):y}const U4=24;function G4({value:e,max:t=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:c,labelAlign:u="right",ariaLabel:d,className:p}){const m=Number.isFinite(t)&&t>0?t:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),v=h/m*100,y=Number.isFinite(t)&&t>0?t:0,g=c??(a>=U4?"inside":"bottom"),_=g==="center"?"inside":g,f=_==="inside"&&(u==="left"?v>=15:u==="center"?v>=50:v>=85),C={};return r&&(C["--progress-bar-fill"]=r),s&&(C["--progress-bar-track"]=s),n.jsxs("div",{className:Se("progress-bar",`progress-bar--${a}`,`progress-bar--label-${_}`,i&&`progress-bar--align-${u}`,i&&f&&"progress-bar--label-on-fill",p),style:C,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":y,"aria-valuetext":i?l?l(h):i==="percent"?void 0:i==="raw"?String(h):`${h} / ${y}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${v}%`}})}),i&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):i==="percent"?`${Math.round(v)}%`:i==="raw"?String(h):`${h} / ${y}`})]})}const Yl={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},K4="rgba(255, 255, 255, 0.16)";function Zl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:c}){const{t:u}=ve.useTranslation(),d=nn("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,m=c??u("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"]=K4),r||(h["--pi-inactive-color"]="var(--color-white)")),i==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&n.jsx("span",{style:Yl,children:m}),Array.from({length:e}).map((y,g)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${g<p?" done":g===p?" active":""}`},g))]});const v=l?n.jsx("span",{role:"status",style:Yl,children:m}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":m,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),v]}):n.jsxs(n.Fragment,{children:[v,n.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":m,children:Array.from({length:e}).map((y,g)=>n.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 Y4(e){if(!e)return[];const t=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(t.push(r),r="");continue}r+=s}return r&&t.push(r),t}function Z4({children:e,className:t,style:a}){return n.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function mo({variant:e="default",children:t,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,expandedContent:d}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--loading",children:n.jsx(Sa,{size:28})})}):e==="empty"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):n.jsxs("div",{className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,role:s?"button":void 0,tabIndex:s?0:void 0,children:t}),d&&n.jsx("div",{className:"table-row-expand",children:d})]})}function X4({dir:e}){return n.jsx(e==="asc"?Cs:fs,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function J4({children:e,onClick:t,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(X4,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":s,className:Se("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&n.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:c=>c.stopPropagation(),"aria-hidden":"true"})]})}function ho({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:c,onRowDragStart:u,onRowDragEnd:d,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:h,resizable:v=!1,resizeMode:y="grow",resizeStorageKey:g,size:_="small",title:f,icon:C,count:x,collapsed:b=!1,onToggleCollapse:w,headerActions:k,empty:B,loading:N,dragOver:A=!1,onDragOver:D,onDragLeave:H,onDrop:R,renderExpandedRow:P,expandedId:G}){const{t:S}=ve.useTranslation(),M=nn("(max-width: 767px)"),z=h&&M?h:null,K=v&&!z,Z=48,q=g?`table-cols:${g}`:null,te=o.useRef(null),O=o.useRef(()=>!1),L=o.useRef([]),E=o.useRef(null),I=oe=>{if(!oe||typeof window>"u")return null;try{const ee=JSON.parse(window.localStorage.getItem(oe)??"null");return Array.isArray(ee)&&ee.length>0&&ee.every(fe=>typeof fe=="number"&&Number.isFinite(fe)&&fe>0)?ee:null}catch{return null}},[F,$]=o.useState(()=>I(q)),[T,Y]=o.useState(q);T!==q&&(Y(q),$(I(q)));const U=o.useRef(F);o.useEffect(()=>{U.current=F},[F]);const J=o.useCallback(oe=>{const ee=E.current;if(!ee)return;const fe=U.current;if(fe){const ae=[...fe];if(ee.next!=null&&ee.startWNext!=null){const be=oe.clientX-ee.startX,_e=Math.max(Z-ee.startW,Math.min(ee.startWNext-Z,be));ae[ee.index]=ee.startW+_e,ae[ee.next]=ee.startWNext-_e}else ae[ee.index]=Math.max(Z,ee.startW+(oe.clientX-ee.startX));U.current=ae,$(ae)}},[]),ce=o.useCallback(()=>{if(E.current=null,window.removeEventListener("pointermove",J),window.removeEventListener("pointerup",ce),window.removeEventListener("pointercancel",ce),document.body.style.cursor="",document.body.style.userSelect="",q&&U.current)try{window.localStorage.setItem(q,JSON.stringify(U.current))}catch{}},[J,q]),Ee=o.useCallback((oe,ee)=>{ee.preventDefault(),ee.stopPropagation();const fe=te.current;if(!fe)return;const ae=Array.from(fe.children).map(_e=>_e.getBoundingClientRect().width),be=y==="fit"?e.findIndex((_e,Ke)=>Ke>oe&&_e.resizable!==!1):-1;E.current=be>=0?{index:oe,startX:ee.clientX,startW:ae[oe],next:be,startWNext:ae[be]}:{index:oe,startX:ee.clientX,startW:ae[oe]},U.current=ae,$(ae),window.addEventListener("pointermove",J),window.addEventListener("pointerup",ce),window.addEventListener("pointercancel",ce),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[J,ce,y,e]),de=o.useCallback(()=>{const oe=te.current,ee=oe?.closest(".table-wrap");if(!oe||!ee)return;const fe=ee.style.getPropertyValue("--table-grid-cols");ee.style.setProperty("--table-grid-cols",e.map((Le,Ie)=>O.current(Ie)?L.current[Ie]:"max-content").join(" "));const ae=Array.from(ee.querySelectorAll(".table-row")).filter(Le=>!Le.classList.contains("table-row--loading")&&!Le.classList.contains("table-row--empty")),be=e.map((Le,Ie)=>{let ze=oe.children[Ie]?.getBoundingClientRect().width??0;for(const ot of ae){const Ge=ot.children[Ie];Ge&&(ze=Math.max(ze,Ge.getBoundingClientRect().width))}const nt=O.current(Ie)?parseFloat(L.current[Ie]):NaN;return Number.isFinite(nt)?nt:Math.max(Z,Math.ceil(ze))}),_e=window.getComputedStyle(oe),Ke=oe.clientWidth-(parseFloat(_e.paddingLeft)||0)-(parseFloat(_e.paddingRight)||0);fe?ee.style.setProperty("--table-grid-cols",fe):ee.style.removeProperty("--table-grid-cols");let Ve=be;const qe=be.reduce((Le,Ie,ze)=>Le+(O.current(ze)?Ie:0),0),je=be.reduce((Le,Ie,ze)=>Le+(O.current(ze)?0:Ie),0),Ue=Ke-qe;if(Ke>0&&je>0&&Ue>0){const Le=Ue/je;Ve=be.map((ze,nt)=>O.current(nt)?ze:Math.max(Z,Math.round(ze*Le)));const Ie=Math.round(Ue-Ve.reduce((ze,nt,ot)=>ze+(O.current(ot)?0:nt),0));if(Ie!==0){let ze=-1;Ve.forEach((nt,ot)=>{!O.current(ot)&&(ze<0||nt>Ve[ze])&&(ze=ot)}),ze>=0&&(Ve[ze]=Math.max(Z,Ve[ze]+Ie))}}if($(Ve),q)try{window.localStorage.setItem(q,JSON.stringify(Ve))}catch{}},[e,y,q]);o.useEffect(()=>()=>{E.current&&(window.removeEventListener("pointermove",J),window.removeEventListener("pointerup",ce),window.removeEventListener("pointercancel",ce),document.body.style.cursor="",document.body.style.userSelect="")},[J,ce]);const re=Y4(m),W=re.filter(oe=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(oe));W.length>0&&fn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${W.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 ie=e.findIndex(oe=>!!oe.sortDir);e.filter(oe=>!!oe.sortDir).length>1&&fn("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 pe=oe=>oe===ie?e[oe].sortDir==="asc"?"ascending":"descending":e[oe].onClick?"none":void 0,ye=oe=>/^\d+(\.\d+)?px$/.test(re[oe]??"");O.current=ye,L.current=re;const ge=oe=>y==="fit"&&!ye(oe)?"fr":"px",we=F&&F.length===e.length&&(y==="fit"||a.length>0),Ce=z??(we?e.map((oe,ee)=>oe.resizable===!1&&re[ee]?re[ee]:`${F[ee]}${ge(ee)}`).join(" "):m),Be=Ce?{"--table-grid-cols":Ce}:void 0,De=f!==void 0;return n.jsx("div",{className:`table-wrap table-wrap--${_}${K?" table-wrap--resizable":""}${A?" table-wrap--dragover":""}${b?" table-wrap--collapsed":""}`,style:Be,onDragOver:D,onDragLeave:H,onDrop:R,children:n.jsxs("div",{className:"table body-2",children:[De&&n.jsxs("div",{className:"table-header",onClick:w,role:w?"button":void 0,tabIndex:w?0:void 0,"aria-expanded":w?!b:void 0,onKeyDown:w?oe=>{oe.target===oe.currentTarget&&(oe.key==="Enter"||oe.key===" ")&&(oe.preventDefault(),w())}:void 0,children:[w&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:b?"chevron-right":"chevron-down",ariaLabel:b?S("common.expand","\uD3BC\uCE58\uAE30"):S("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),C&&n.jsx(We,{icon:C,label:typeof f=="string"?f:void 0,className:"table-header__icon"}),n.jsx("span",{className:"table-header__title h5b",children:f}),x!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:x}),k&&n.jsx("span",{className:"table-header__actions",onClick:oe=>oe.stopPropagation(),children:k})]}),!b&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{className:"table-fields table-fields--groups",children:t.map((oe,ee)=>n.jsx("div",{className:Se("table-field body-3",oe.className),style:{gridColumn:`span ${oe.span}`},children:oe.label},ee))}),n.jsxs("div",{className:Se("table-fields-strip",K&&"table-fields-strip--resizable"),children:[n.jsx("div",{className:"table-fields",ref:te,children:e.map((oe,ee)=>n.jsx(J4,{onClick:oe.onClick,className:oe.className,sortDir:oe.sortDir,ariaSort:pe(ee),onResizeStart:K&&ee<e.length-1&&oe.resizable!==!1&&(y!=="fit"||e.some((fe,ae)=>ae>ee&&fe.resizable!==!1))?fe=>Ee(ee,fe):void 0,children:oe.label},ee))}),K&&n.jsx(le,{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:de})]}),n.jsx("div",{className:"table-body",children:N?n.jsx(mo,{variant:"loading"}):a.length===0&&B?n.jsx(mo,{variant:"empty",children:B}):a.map((oe,ee)=>{const fe=p!=null&&oe.id===p,ae=!!s&&(i?i(oe):!0),be=G!=null&&oe.id!=null&&(G instanceof Set?G.has(oe.id)||[...G].some(_e=>String(_e)===String(oe.id)):String(oe.id)===String(G));return n.jsx(mo,{className:`${ae?" table-row--clickable":""}${u?" table-row--draggable":""}${fe?" table-row--dragging":""}`.trim(),draggable:!!u,onClick:ae?()=>s(oe):void 0,onMouseEnter:l?_e=>l(oe,_e):void 0,onMouseLeave:c?_e=>c(oe,_e):void 0,onDragStart:u?_e=>u(oe,_e):void 0,onDragEnd:d?_e=>d(oe,_e):void 0,expandedContent:be&&P?P(oe):void 0,children:r(oe).map((_e,Ke)=>n.jsx(Z4,{className:_e.className,style:_e.style,children:_e.content},Ke))},oe.id!=null?`${typeof oe.id}:${oe.id}`:`__idx:${ee}`)})})]})]})})}function Xl(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const na=e=>e==null?"":String(e).trim();function fo(e,t,a){const r=[na(e),na(t),na(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function Q4(e,t,a){const r=na(e);return r?`${r}-${na(t).padStart(2,"0")}-${na(a).padStart(2,"0")}`:""}const ey={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function ty(e,t){const a=ey[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Jl(e,t){return t!=="wornAt"?String(e[t]??""):Q4(e.wornYear,e.wornMonth,e.wornDay)}function ny({rows:e,loading:t,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:c}=ve.useTranslation(),u=g=>g==="\uC88C"?c("device.direction.left","\uC88C"):c("device.direction.right","\uC6B0"),{\uC815\uB82C:d,\uCE78:p}=qg(),m=o.useMemo(()=>{if(!d)return e;const{key:g,asc:_}=d;return[...e].sort((f,C)=>{if(g==="worn"){const x=Number(C.worn)-Number(f.worn);return _?x:-x}return Kr(Jl(f,g),Jl(C,g),_)})},[e,d]),{pageRows:h,pageSizeProps:v,paginationProps:y}=Wg(m,d);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(ro,{count:{value:e.length,unit:c("customers.device.unit","\uAC1C")},pageSize:v,pagination:y,actions:l&&n.jsx(le,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:c("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),n.jsx(ho,{loading:t,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...p(c("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},p(c("device.direction.label","\uBC29\uD5A5"),"side"),p(c("device.deviceType","\uC885\uB958"),"device"),p(c("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),p(c("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),p(c("device.productName","\uC81C\uD488\uBA85"),"productName"),p(c("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:h.map((g,_)=>({id:g.id??`${g.side}-${_}`,row:g})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:g})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:_=>_.stopPropagation(),children:n.jsx(Rl,{checked:g.worn,disabled:g.worn?!i:!s,ariaLabel:g.worn?c("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):c("customers.device.wear","\uCC29\uC6A9"),onChange:_=>{_?s?.(g):i?.(g)}})})},{content:n.jsx("span",{children:u(g.side)})},{content:g.device?n.jsx(mt,{size:"small",variant:Xl(g.device),fill:"soft",label:ty(g.device,c)}):n.jsx("span",{})},{content:n.jsx("span",{children:g.brand})},{content:n.jsx("span",{children:g.fitType||"-"})},{content:n.jsx("span",{children:g.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:fo(g.wornYear,g.wornMonth,g.wornDay)||"-"})},...r?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(le,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:c("common.delete","\uC0AD\uC81C"),onClick:_=>{_?.stopPropagation(),r(g)}})})}]:[]],onRowClick:({row:g})=>a(g),empty:c("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function Ql(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function ay(e,t){return new Date(e,t+1,0).getDate()}function ry(e,t){return new Date(e,t,1).getDay()}function oy({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:s}){const{t:i}=ve.useTranslation(),l=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Lr(s),[u,d]=o.useState(()=>Number(c.slice(0,4))),[p,m]=o.useState(()=>Number(c.slice(5,7))-1),[h,v]=o.useState(null),y=o.useRef(null),g=o.useMemo(()=>{const w={};return e.forEach(k=>{w[k.date]||(w[k.date]=[]),w[k.date].push(k)}),w},[e]),_=o.useMemo(()=>{const w=ay(u,p),k=ry(u,p),B=[];for(let N=0;N<k;N++)B.push(null);for(let N=1;N<=w;N++)B.push(N);for(;B.length<35;)B.push(null);return B},[u,p]),f=o.useCallback(()=>{p===0?(d(w=>w-1),m(11)):m(w=>w-1)},[p]),C=o.useCallback(()=>{p===11?(d(w=>w+1),m(0)):m(w=>w+1)},[p]),x=w=>`${u}-${String(p+1).padStart(2,"0")}-${String(w).padStart(2,"0")}`,b=w=>x(w)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:f,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(We,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:u,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:C,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(We,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[l.map(w=>n.jsx("div",{className:"calendar-day-header body-3",children:w},w)),_.map((w,k)=>{if(w===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${k}`);const B=w,N=x(B),A=g[N]??[],D=h===N;return n.jsxs("div",{className:`calendar-cell${b(B)?" today":""}${D?" 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":b(B)?"date":void 0,onClick:r?()=>r(N):void 0,onKeyDown:r?H=>{H.target===H.currentTarget&&(H.key!=="Enter"&&H.key!==" "||(H.preventDefault(),r(N)))}:void 0,onDragOver:a?H=>{H.preventDefault(),v(N)}:void 0,onDragLeave:a?H=>{H.currentTarget.contains(H.relatedTarget)||v(null)}:void 0,onDrop:a?H=>{H.preventDefault(),y.current!=null&&(a(y.current,N),y.current=null),v(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:B}),n.jsx("div",{className:"calendar-cell__badges",children:A.map((H,R)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${H.status==="noVisit"?" calendar-visit-badge--no-visit":H.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?P=>{y.current=H.id,P.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{y.current=null,v(null)}:void 0,onClick:t?P=>{P.stopPropagation(),t(H)}:void 0,...Ql(t?()=>t(H):void 0),"aria-label":[H.time?ci(H.time,i):null,H.customer,i(H.status==="noVisit"?"calendar.legend.noVisit":H.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[H.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:ci(H.time,i)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:H.customer}),H.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},H.id??R))})]},B)})]})]})}const sy={page:"h3",pagePopup:"h4",popup:"h5"};function aa({type:e="page",title:t,headingLevel:a,icon:r,action:s,disc:i,children:l,className:c,style:u}){const d=sy[e],p=t||i||s||r,m=a?`h${a}`:"div";return n.jsxs("div",{className:Se("section",`section--${e}`,c),style:u,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(We,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(m,{className:`section__title ${d}`,children:t}),i&&n.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&n.jsx("div",{className:"section__action",children:s})]}),l]})}function ec({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const u=c==="small",d=Se("category-icon",u?"category-icon--small":""),p=u?16:20,m=o.useRef(null),[h,v]=o.useState(!1),y=o.useMemo(()=>{const k=r&&typeof r=="object"?{...r}:{};return!s&&!i?k:{...k,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),g=a||t,[_,f]=o.useState(null);o.useLayoutEffect(()=>{h&&f(m.current?.getBoundingClientRect()??null)},[h]),o.useEffect(()=>{if(!l&&h)try{v(!1)}catch{}},[l,h]),o.useEffect(()=>{if(!h)return;const k=B=>{const N=m.current;if(!N)return;const A=B.target;A&&!N.contains(A)&&v(!1)};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[h]);const C=o.useCallback(()=>{l&&v(!0)},[l]),x=o.useCallback(()=>{l&&v(!1)},[l]),b=o.useCallback(()=>v(!1),[]),w=o.useCallback(k=>{if(k.key==="Escape"){v(!1);return}(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),v(B=>!B))},[]);return n.jsxs("span",{ref:m,className:"category-icon__wrap",onPointerEnter:C,onPointerLeave:x,onFocus:C,onBlur:x,onKeyDown:w,role:"button",tabIndex:0,"aria-label":typeof g=="string"?g:void 0,"aria-haspopup":!!g,"aria-expanded":h,"data-tooltip-ignore":!0,children:[n.jsx(We,{icon:e,label:t,className:d,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:y,size:p}),h&&g&&n.jsx(bn,{anchorRect:_,text:typeof g=="string"?g:void 0,offset:8,onClose:b,className:"category-icon__tooltip",ariaLabel:typeof g=="string"?g:void 0})]})}let En=null;function Xa(e){if(En&&En!==e)try{En()}catch{}return En=e,()=>{En===e&&(En=null)}}function Ja(e){if(En===e){En=null;try{e()}catch{}}}function iy(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,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 ly(e,t){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,c]=o.useState({key:"",urls:[]}),u=o.useRef(null),d=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[h,v]=o.useState(!1),y=o.useRef([]),{previewCodes:g,previewBucket:_}=iy(e,t),f=`${g.join(",")}|${_??""}`,C=o.useMemo(()=>l.key===f?l.urls:[],[l,f]);o.useEffect(()=>{if(!g.length)return;let b=!1;return(async()=>{const w=[],k=[];for(const B of g)try{const N=Hs(B,_);if(!N){w.push("");continue}let A=null;try{A=await zs(N)}catch{}if(!A)try{const D=await Vs(N);D&&(A=URL.createObjectURL(D),k.push(A))}catch{}w.push(A??"")}catch{w.push("")}b?k.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(y.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),y.current=k,c({key:f,urls:w}))})(),()=>{b=!0}},[g.join(","),_]),o.useEffect(()=>()=>{y.current.forEach(b=>{try{URL.revokeObjectURL(b)}catch{}}),y.current=[]},[]);const x=o.useCallback(async b=>{if(b.stopPropagation(),b.preventDefault(),d.current){p.current&&Ja(p.current),d.current=!1;try{u.current?.pause()}catch{}r(!1),i(-1);return}if(!C.filter(Boolean).length)return;let w=null;const k=()=>{d.current=!1;try{u.current?.pause()}catch{}w?.()};p.current=k;const B=Xa(k);d.current=!0,r(!0);for(let N=0;N<C.length&&d.current;N++){const A=C[N];if(A){i(N);try{await new Promise((D,H)=>{w=D;const R=new Audio(A);u.current=R,R.onended=()=>D(),R.onerror=()=>H(),R.play().catch(H)})}catch{break}}}B(),p.current===k&&(p.current=null,d.current=!1,r(!1),i(-1))},[C]);return o.useEffect(()=>()=>{p.current&&Ja(p.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:s,previewUrls:C,previewHover:h,setPreviewHover:v,previewBtnRef:m,handlePreview:x}}const cy=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];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 Co(e){const{index:t,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:h,hideCheckBadge:v=!1,showTypeLabel:y=!1,onComplete:g,onSelect:_,onMore:f,countLabelOverride:C,size:x="square"}=e||{},{t:b}=ve.useTranslation(),[w,k]=o.useState(!1),B=o.useRef(null),[N,A]=o.useState(!1);o.useEffect(()=>{B.current?.matches(":hover")&&A(!0)},[]);const{playing:D,playingIndex:H,previewUrls:R,previewHover:P,setPreviewHover:G,previewBtnRef:S,handlePreview:M}=ly(r,a?.key),z=o.useCallback(()=>{_?_():k(!0)},[_]),K=o.useCallback(()=>k(!1),[]),Z=o.useCallback(()=>A(!0),[]),q=o.useCallback(()=>A(!1),[]),te=o.useCallback(()=>G(!0),[G]),O=o.useCallback(()=>G(!1),[G]),[L,E]=o.useState(null);o.useLayoutEffect(()=>{P&&E(S.current?.getBoundingClientRect()??null)},[P,S]);const[I,F]=o.useState(null);o.useLayoutEffect(()=>{N&&!w&&m&&F(B.current?.getBoundingClientRect()??null)},[N,w,m]);const $=o.useCallback(je=>{je.target===je.currentTarget&&(je.key==="Enter"||je.key===" ")&&(je.preventDefault(),z())},[z]),T=r||null,Y=o.useMemo(()=>{if(!m)return null;const je=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ue=je&&je.length>0?je:cy(T);return Ue&&Ue.length>0?Ue:null},[m,p,T]),U=o.useCallback(je=>{je.stopPropagation(),h?.()},[h]),J=o.useCallback(je=>je.stopPropagation(),[]),ce=o.useCallback(je=>{typeof g=="function"&&g(je)},[g]),Ee=c||(u&&r?.id!=null?u.has(String(r.id)):!1),de=!Ee&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);Qi("speechear.popup.close",K);const re=ui(),W=`${a?.label||""} ${t+1}`,ie=T?.title||T?.name||W;let pe=a?.icon,ye,ge="",we="";try{const je=T?.category_0||T?.category_main_code||T?.category_main,Ue=T?.category_1||T?.category_sub_code||T?.category_sub,Le=re.find(Ie=>Ie.key===je);Le?.icon&&(pe=Le.icon),!ye&&Le?.color&&(ye={"--t-item-fg":Le.color}),!ye&&T?.iconColor&&(ye={"--t-item-fg":T.iconColor}),ge=Le?b(`topic.${Le.key}`,{defaultValue:Le.label||""}):"";try{const Ie=Le?.subs?.find(ze=>ze.key===Ue);we=Ie?b(`topic.sub.${Ie.key}`,{defaultValue:Ie.label||""}):""}catch{}}catch{}const Ce=we?`${ge} / ${we}`:ge||a?.label||ie,Be=je=>b("training.countQuestions",{n:je}),De=je=>b("training.countSentences",{n:je});let oe="";try{if(T)if(a?.key==="LISTEN_IN_NOISE"){let je=0;Array.isArray(T.items)&&T.items.length>0?je=T.items.length:Array.isArray(T.sentences)&&T.sentences.length>0?je=T.sentences.length:T.sentences&&(je=1),oe=De(je)}else if(a?.key==="SHORT_STORY"){let je=1;Array.isArray(r?.items)?je=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?je=r.raw.items.length:Array.isArray(T?.questions)?je=T.questions.length:Array.isArray(T?.sentences)&&(je=T.sentences.length),oe=Be(je)}else if(a?.key==="LONG_STORY"){let je=1;if(Array.isArray(T.items)&&T.items.length>0){const Ue=T.items.reduce((Le,Ie)=>{const ze=Ie.questionItems;return Array.isArray(ze)?Le+ze.length:Array.isArray(Ie.questions)?Le+Ie.questions.length:Le},0);je=Ue>0?Ue:T.items.length}else Array.isArray(T.questions)&&T.questions.length>0?je=T.questions.length:Array.isArray(T.sentences)&&T.sentences.length>0&&(je=T.sentences.length);oe=Be(je)}else if(a?.key==="ORDERING_SENTENCE"){let je=1;Array.isArray(T.items)&&T.items.length>0?je=T.items.length:Array.isArray(T.sentences)&&T.sentences.length>0&&(je=T.sentences.length),oe=De(je)}else Array.isArray(T.items)&&(oe=T.items.length>0?Be(T.items.length):"")}catch{}const ee=x==="row",fe=x==="list"||ee,ae=x==="compact",be=x==="small",_e=be&&a?.key?T2().find(je=>je.key===a.key):void 0,Ke=_e?di[_e.key]:void 0,Ve=_e?Ke?b(`trainingType.${Ke}.title`,{defaultValue:_e.label}):_e.label??"":"",qe=!!y&&!!a?.label&&a.label!==String(ie)||be&&!!Ve&&Ve!==String(ie);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:B,className:`training-block-button${fe?" training-block-button--list":""}${ee?" training-block-button--row":""}${ae?" training-block-button--compact":""}${be?" training-block-button--small":""}${Ee?" training-block-button--completed":""}${de?" training-block-button--selected":""}${qe&&!be?" training-block-button--withType":""}${be&&!qe?" training-block-button--no-type-label":""}`,onClick:z,onPointerEnter:Z,onPointerLeave:q,role:"button",tabIndex:0,onKeyDown:$,"aria-label":typeof s=="string"?s:typeof ie=="string"?ie:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
|
|
859
|
+
`):p)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[y&&a?.label&&a.label!==String(ie)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),be&&Ve&&Ve!==String(ie)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:Ve}),n.jsx(ec,{icon:pe,label:ie,tooltip:Ce,wrapperStyle:ye,iconSize:be||ae?"small":"medium"}),!v&&(Ee||de)&&!(h&&N)&&n.jsx(mt,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":Ee?b("training.completed","\uD6C8\uB828 \uC644\uB8CC"):b("training.selected","\uC120\uD0DD\uB428")}),h&&n.jsx(mt,{className:`training-block-button__remove${N?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":b("common.remove","\uC81C\uAC70"),onClick:U}),n.jsx("div",{className:`training-block-button__title ${ae?"body-3":be?"body-3b":"h3"}`,children:String(ie)}),n.jsxs("div",{className:"training-block-button__description",children:[(()=>{const je=C!==void 0?C:oe;return je?n.jsx("div",{className:`training-block-button__count ${be?"caption-2":"caption-1"}`,children:je}):null})(),n.jsx("div",{className:"training-block-button__chevron",children:n.jsx(We,{icon:"chevron-right",label:b("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:be?12:20})})]}),(fe&&!ee||be)&&R.length>0&&n.jsx("div",{ref:S,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:J,onPointerEnter:te,onPointerLeave:O,children:n.jsx(le,{htmlType:"button",size:be?28:32,type:"dot",icon:D?"pause":"play",variant:be?"transparent-lightGray":"default",useBorder:!1,selected:D,ariaLabel:D?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:M})})]}),f&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:je=>{je.stopPropagation(),f(je)},children:n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:b("common.more","\uB354\uBCF4\uAE30")})})]}),P&&n.jsx(bn,{anchorRect:L,text:D?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:O}),N&&!w&&m&&(Y?n.jsx(Fn,{anchorRect:I,items:Y,activeIndex:H,onClose:q}):T?.subTitle?n.jsx(bn,{anchorRect:I,text:T.subTitle,offset:8,onClose:q}):null),w&&l&&l({trainingData:T,typeKey:a?.key??"",onClose:K,onComplete:ce,popupTitle:String(ie),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:pe,popupIconTooltip:String(Ce),popupWrapperStyle:ye})]})}let go=null,tc=!1;function nc(){if(tc||typeof document>"u")return;tc=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(go="keyboard")},!0);const e=()=>{go="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}nc();function Qa(){return nc(),go==="keyboard"}const er=20;function uy(e){const{t}=ve.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:c,onItemComplete:u,size:d,useDescriptionTooltip:p,onRemove:m,onMore:h,sectionType:v="page"}=e||{},[,y]=o.useState(0),g=typeof r<"u"?Array.isArray(r)?r:[]:[],_=g.length,[f,C]=o.useState(Math.min(_,er)),x=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(_,er))},[_]),Qi("speechear.data.updated",()=>y(B=>B+1));const b=o.useRef(null),w=o.useRef(null);function k(){const B=document.activeElement;w.current=Qa()&&B&&B.closest?.(".training-block__more")?f:null,C(N=>Math.min(_,N+er))}return o.useEffect(()=>{const B=w.current;if(B==null)return;w.current=null;const N=document.activeElement;N&&N!==document.body||b.current?.querySelectorAll(".training-block-button")[B]?.focus()},[f]),n.jsxs(aa,{type:v,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:b,children:(g||[]).slice(0,f).map((B,N)=>{const A=B;return n.jsx(Co,{index:N,type:a,trainingData:A,depth:x,renderPopup:i,completedIds:l,selectedIds:c,size:d,useDescriptionTooltip:p,onRemove:typeof m=="function"&&c!=null&&A?.id!=null&&c.has(String(A.id))?()=>m(A):void 0,onComplete:typeof u=="function"&&A?.id!=null?()=>u(String(A.id)):void 0,onMore:typeof h=="function"?D=>h(A,D):void 0},A?.id!=null?`${a?.key||"t"}-${String(A.id)}`:`${a?.key||"t"}-${N}`)})}),_>er&&f<_&&n.jsx("div",{className:"training-block__more",children:n.jsx(le,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:k,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function bo(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const u=t.current;r(!!e&&!(u?.complete&&u.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),c=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:c}}var dy='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 py=dy,yo=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:c=!1,hideAudio:u=!1,orderRank:d=null},p){const{t:m}=ve.useTranslation(),h=e.word||e.title||"",v=t||!h,y=e.audio??e.sound??e.audioKey,g=e.subLabel||e.pronunciation||"",_=e.colloquialLabel||"",[f,C]=o.useState({label:h,subLabel:g,colloquialLabel:_,homonum:e.homonum});h&&(f.label!==h||f.subLabel!==g||f.colloquialLabel!==_||!Object.is(f.homonum,e.homonum))&&C({label:h,subLabel:g,colloquialLabel:_,homonum:e.homonum});const x=o.useRef(null),b=nn("(max-width: 767px)"),[w,k]=o.useState(!1),B=`${typeof y=="string"?y:y?.src??""}\0${h}`,[N,A]=o.useState({for:"",url:""}),D=N.for===B?N.url:"",H=ti(),R=e.textOnly??(!e.image&&!!f.label&&!!H&&H.entries.length>0&&!H.byWord.has(f.label)),P=R?"":Gn()?.(f.label,f.homonum)??e.image??"",{imgRef:G,loading:S,hasImage:M,onLoad:z,onError:K}=bo(P);o.useEffect(()=>{let $=!1;return(async()=>{if(y){if(typeof y=="string"){if(y.startsWith("http")||y.includes("/")){A({for:B,url:y});return}}else if(typeof y=="object"&&!Array.isArray(y)){const Y=y.src;if(Y){A({for:B,url:Y});return}}}const T=Br();if(T&&h)try{const Y=await Promise.resolve(T(h));!$&&Y&&A({for:B,url:Y})}catch{}})(),()=>{$=!0}},[y,h,B]);const Z=o.useRef(!0),q=o.useRef(null);o.useEffect(()=>(Z.current=!0,()=>{Z.current=!1,q.current&&Ja(q.current),q.current=null;try{x.current?.pause()}catch{}x.current=null}),[]);const te=o.useCallback(()=>new Promise($=>{if(typeof window<"u"&&window.speechSynthesis&&h){k(!0),window.speechSynthesis.cancel();const T=new SpeechSynthesisUtterance(h);T.lang="ko-KR",T.onend=()=>{k(!1);try{a?.()}catch{}$()},T.onerror=()=>{k(!1),$()},window.speechSynthesis.speak(T)}else $()}),[h,a]),O=o.useCallback($=>new Promise(T=>{let Y=!1;const U=()=>{Y||(Y=!0,k(!1),T(!1))};try{const J=new Audio($);x.current=J,J.onended=()=>{if(!Y){Y=!0,k(!1);try{a?.()}catch{}T(!0)}},J.onerror=U,J.play().catch(U)}catch{U()}}),[a]),L=o.useCallback(async()=>{if(t||!Z.current)return;const $=()=>{q.current===$&&(q.current=null);try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}k(!1)},T=Xa($);q.current=$;try{window.speechSynthesis?.cancel()}catch{}try{if(D&&(k(!0),await O(D)))return;const Y=K0();if(Y&&h)try{const U=await Promise.resolve(Y(h));if(!Z.current||q.current!==$||U&&(k(!0),await O(U)))return}catch{}if(!Z.current||q.current!==$)return;await te()}finally{T(),q.current===$&&(q.current=null)}},[t,D,h,O,te]);o.useImperativeHandle(p,()=>({play:()=>L()}),[L]);const E=$=>$.stopPropagation(),I=o.useCallback($=>{if($.stopPropagation(),!t){if(w){try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}k(!1);return}L()}},[t,w,L]),F=Se("training-word-card",t?"training-word-card--disabled":"",v?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return n.jsx("div",{className:F,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?$=>{$.target===$.currentTarget&&($.key==="Enter"||$.key===" "||$.key==="Spacebar")&&($.preventDefault(),i?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:v?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[s&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:E,children:n.jsx(mt,{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")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:R?n.jsx("div",{className:"training-word-card__text-face",children:f.label}):M?n.jsxs(n.Fragment,{children:[S&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:G,className:"training-word-card__image",src:P,alt:f.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:S?0:1},onLoad:z,onError:K})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!c&&n.jsxs("div",{className:"training-word-card__body",children:[!R&&n.jsx("div",{className:"training-word-card__word",children:f.label}),f.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",f.subLabel,"]"]}),f.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",f.colloquialLabel,"]"]})]}),!u&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?E:void 0,children:n.jsx(le,{htmlType:"button",size:b?40:48,type:b?"dot":"bar",icon:w?"pause":"play",label:b?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:w,onClick:I,disabled:t,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:py,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),my=260;function jn(e){const{t}=ve.useTranslation(),{title:a,subtitle:r,headerActions:s,children:i,buttons:l,footer:c,footerClassName:u="",footerLayout:d="center",onClose:p,closeDisabled:m=!1,beforeClose:h,closeOnBackdrop:v=!0,className:y="",ariaLabel:g,useTitle:_=!0,inline:f=!1,size:C,layer:x="modal",height:b,fillBody:w=!1,resetScrollKey:k}=e||{},[B,N]=o.useState(!1),A=o.useRef(!1),D=o.useRef(null),H=o.useId(),R=o.useRef(null);o.useEffect(()=>{},[f,a,g,y]),o.useEffect(()=>{k!==void 0&&R.current&&(R.current.scrollTop=0)},[k]);const[P,G]=o.useState(!1);o.useEffect(()=>{const T=R.current;if(!T)return;const Y=()=>G(T.scrollHeight>T.clientHeight+1);if(Y(),typeof ResizeObserver>"u")return;const U=new ResizeObserver(Y);U.observe(T);const J=T.firstElementChild;return J&&U.observe(J),()=>U.disconnect()},[i,k]),o.useEffect(()=>{if(!f)return jl()},[f]),o.useEffect(()=>{if(f)return;const T=document.activeElement,Y=D.current;return Fr(Y,T),Y&&!Y.contains(document.activeElement)&&(Y.querySelector(Cn)??Y).focus(),()=>{const U=document.activeElement;(!U||U===document.body||Y&&Y.contains(U))&&Or(T)?.focus?.()}},[f]),Pr(D,!f);const S=o.useRef(!0),M=Hr(),z=o.useRef(null);o.useEffect(()=>(S.current=!0,()=>{S.current=!1,z.current&&(clearTimeout(z.current),z.current=null)}),[]);const K=o.useCallback(()=>{!S.current||!A.current||(A.current=!1,N(!1))},[]),Z=o.useCallback((T,Y=!1)=>{if(Y&&!S.current||A.current)return;A.current=!0,N(!0);const U=setTimeout(()=>{z.current===U&&(z.current=null);let J;try{J=T?T():void 0}catch{K();return}J&&typeof J.then=="function"&&J.then(()=>{setTimeout(K,120)},K)},M?0:my);Y&&(z.current=U)},[K,M]),q=o.useCallback(()=>{m||h&&h()===!1||Z(p,!0)},[Z,p,m,h]),te=o.useRef(q);o.useEffect(()=>{te.current=q});const O=!f&&!!p;o.useEffect(()=>{if(O)return In(()=>te.current())},[O]);const L=O&&v,E=o.useRef(!1),I=T=>{E.current=T.target===T.currentTarget},F=T=>{const Y=E.current;E.current=!1,Y&&T.target===T.currentTarget&&q()},$=n.jsx("div",{className:`popup ${f?"popup--inline":""} ${x==="belowPagePopup"?"popup--below-page-popup":""} ${B?"popup--closing":""} ${y}`,onPointerDown:L?I:void 0,onClick:L?F:void 0,onMouseDown:f?void 0:T=>{T.target===T.currentTarget&&T.preventDefault()},children:n.jsxs("div",{ref:D,className:`popup-panel${C?` popup-panel--${C}`:""}${b!=null?" popup-panel--has-height":""}${w?" popup-panel--fill-body":""}`,style:b!=null?{"--popup-height":typeof b=="number"?`${b}px`:b}:void 0,tabIndex:-1,role:f?void 0:"dialog","aria-modal":f?void 0:!0,"aria-labelledby":!f&&_&&a?H:void 0,"aria-label":!f&&!(_&&a)?g??(typeof a=="string"?a:void 0):void 0,children:[!_&&(s||p)?n.jsxs("div",{className:"popup-close-float",children:[s,p&&n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:q,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||s||p?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[n.jsx("span",{id:H,className:"popup-title popup-title--left h2",children:a}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),n.jsxs("div",{className:"popup-header-actions",children:[s,p&&n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:q,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:R,tabIndex:P?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:Z,closeWithAnimation:q}):i})}),l?.length?n.jsx("div",{className:`popup-footer popup-footer--buttons${d!=="center"?` popup-footer--${d}`:""}`,children:l.map((T,Y)=>n.jsx(le,{htmlType:"button",size:48,variant:T.variant??"default",label:T.label,disabled:T.disabled,onClick:()=>T.onClick?.({animateThen:Z,closeWithAnimation:q})},Y))}):c?n.jsx("div",{className:`popup-footer${d!=="center"?` popup-footer--${d}`:""}${u?` ${u}`:""}`,children:typeof c=="function"?c({animateThen:Z,closeWithAnimation:q}):c}):null]})});return f||typeof document>"u"?$:Ut.createPortal($,document.body)}function tr(e){return String(e)}const ac=["o","triangle","x"];function rc(e,t){return e===t?null:t}const oc={o:"circle",triangle:"triangle",x:"x"},sc={o:"main",triangle:"warn",x:"danger"};function hy(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const s=t+a+r;return{marked:s,o:t,triangle:a,x:r,rate:s===0?null:(t+a*.5)/s}}function vo(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function ic(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function fy(e,t){return!t&&e>0}const ra={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 Cy(e="landscape"){fn("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:t,printW:a,printH:r}=ra[e],s=document.createElement("style");s.textContent=`@page { size: ${t}; 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 lc(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const gy={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 by(e,t){const a=gy[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),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 yy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},cc={\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"},uc={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function xo(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function dc(e,t,a,r){if(r!=="\uC810\uC120")return{};const s=e%t,i=Math.floor(e/t),l=s<t-1,c=i<a-1;if(!l&&!c)return{};const u="#ddd",d=v=>`repeating-linear-gradient(to ${v}, ${u} 0, ${u} 5px, transparent 5px, transparent 10px)`,p=[],m=[],h=[];return l&&(p.push(d("bottom")),m.push("1px 100%"),h.push("right center")),c&&(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,xy=240,_y=280,wy=400,ky=120,Ay=280;function pc(e,t){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),c=o.useCallback((u,d)=>{const p=u/e,m=t?d/t:1/0,h=Math.min(1,p,m);s(h),l(Math.max(0,(u-e*h)/2))},[e,t]);return o.useEffect(()=>{const u=a.current;if(!u)return;const d=t?u.parentElement??u:u;if(c(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>c(m.contentRect.width,m.contentRect.height));return p.observe(d),()=>p.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}const By={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},Ny=400,mc=8;function hc({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:c=!0,buttonSize:u=40,wordInfo:d}){const{t:p}=ve.useTranslation(),m=o.useRef(null),h=o.useRef(null),v=o.useRef(null),[y,g]=o.useState(1),[_,f]=o.useState(!1),[C,x]=o.useState({for:"",url:""}),[b,w]=o.useState(null),k=t&&t.length>0?t:Z0()?.(e,r)??"",B=Gn()?.(e,r)??"",{imgRef:N,loading:A,failed:D,onLoad:H,onError:R}=bo(B),P=o.useCallback(()=>w(h.current?.getBoundingClientRect()??null),[]),G=o.useCallback(()=>w(null),[]),S=Vr(!!b,I=>{I?P():G()},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:xo(d.pos,Dy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&I.push(p("wordTable.info.wordType",{v:xo(d.wordType,Sy(p)),defaultValue:"\uC720\uD615: {{v}}"})),I.length?I:null},[d,p]),z=k||e,K=C.for===z?C.url:"";o.useEffect(()=>{const I=Br(),F=k||e;if(!I||!F)return;let $=!1;return Promise.resolve(I(F)).then(T=>{!$&&T&&x({for:F,url:T})}),()=>{$=!0}},[k,e]);const Z=o.useRef(null),q=o.useRef(null);o.useEffect(()=>()=>{v.current?.pause(),q.current?.()},[]);const te=o.useCallback(async I=>{if(I.stopPropagation(),_){Z.current?.();return}if(K){f(!0);try{const F=new Audio(K);v.current=F;const $=()=>{f(!1),q.current?.()},T=()=>{F.pause(),$()};Z.current=T;const Y=Xa(T);q.current=Y,F.onended=$,F.onerror=$,await F.play()}catch{f(!1),q.current?.()}}},[_,K]),O=i&&!!B&&!D,L=O&&s?vy:O?_y:xy,E=O&&s?wy:O?Ay:ky;return o.useEffect(()=>{const I=m.current;if(!I||typeof ResizeObserver>"u")return;const F=new ResizeObserver(([$])=>{const{width:T,height:Y}=$.contentRect;g(Math.min(T/L,Y/E))});return F.observe(I),()=>F.disconnect()},[L,E]),n.jsxs("div",{ref:m,className:"word-table-cell",children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${y})`},children:[O&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:N,className:"word-table-cell__image",src:B,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:H,onError:R})]}),s&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&k&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",k,"]"]}),c&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":K,children:[n.jsx("span",{"data-play-state":"play",style:{display:_?"none":void 0},children:n.jsx(le,{htmlType:"button",size:u,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),onClick:te})}),n.jsx("span",{"data-play-state":"pause",style:{display:_?void 0:"none"},children:n.jsx(le,{htmlType:"button",size:u,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),onClick:te})})]}),d&&n.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:I=>{Xn(I)||P()},onPointerLeave:I=>{Xn(I)||G()},onFocus:()=>{Jn()||P()},onBlur:G,children:[n.jsx(le,{htmlType:"button",size:u,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()}}),b&&M&&n.jsx(Fn,{anchorRect:b,items:M,showIndex:!1})]})]})}const fc={\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"},Cc={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function Dy(e){return Object.fromEntries(Object.entries(cc).map(([t,a])=>[t,fc[t]?e(`wordTable.pos.${fc[t]}`,{defaultValue:a}):a]))}function Sy(e){return Object.fromEntries(Object.entries(uc).map(([t,a])=>[t,Cc[t]?e(`wordSearch.filter.type.${Cc[t]}`,{defaultValue:a}):a]))}function oa({title:e,titleIcon:t,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:c=!0,showDivLine:u=!0,items:d,editCells:p,count:m,activeCell:h=null,onActivateCell:v,onRemoveCell:y,onRemoveItem:g,onReorder:_,showFillerAdd:f=!1,contentRef:C,buttonSize:x=40,pageNumber:b,pageNumberPosition:w="right",fitHeight:k=!1,scoring:B=!1,marks:N,onMarkClick:A,scoreIndexOffset:D=0}){const H=o.useCallback((ee,fe)=>{A?.(D+ee,fe)},[A,D]),R=(ee,fe)=>{const ae=N?.[tr(D+ee)]??null;return n.jsx("div",{className:Se("word-table-cell__score",ae?"word-table-cell__score--marked":""),children:ac.map(be=>n.jsx("span",{className:Se("word-table-cell__score-slot",ae===be?"word-table-cell__score-slot--on":""),children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:oc[be],variant:ae===be?sc[be]:"default",selected:ae===be,useBorder:!1,showTooltipInfo:!1,ariaLabel:P(`wordTable.scoring.${be}`,{word:fe,defaultValue:`${fe} ${be}`}),onClick:_e=>{_e.stopPropagation(),H(ee,be)}})},be))})},{t:P}=ve.useTranslation(),G=p!==void 0,S=e!=null||!!t||!!a,M=o.useRef(null),[z,K]=o.useState(null),Z=d?.length??0,[q,te]=o.useState(null),[O,L]=o.useState(""),E=o.useRef(null),I=o.useRef(null),F=o.useRef(null),$=o.useRef(null),T=o.useCallback(ee=>{I.current=ee,typeof C=="function"?C(ee):C&&(C.current=ee)},[C]),Y=o.useCallback((ee,fe)=>{E.current=fe,_?.(ee,fe),L(P("wordTable.reorder.moved",{n:fe+1,total:Z,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[_,P,Z]);o.useEffect(()=>{const ee=E.current;ee!=null&&(E.current=null,I.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[ee]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{$.current?.()},[]);const U=o.useCallback((ee,fe)=>{if(!_||!ee.altKey||ee.ctrlKey||ee.metaKey)return;const ae=ee.key==="ArrowRight";if(!ae&&ee.key!=="ArrowLeft")return;ee.preventDefault();const be=fe+(ae?1:-1);be<0||be>=Z||Y(fe,be)},[_,Z,Y]),J=o.useCallback((ee,fe)=>{if(!_||ee.pointerType==="mouse")return;const ae=ee.target.closest?.("button");if(ae&&!ae.closest(".word-table-block__card-handle"))return;$.current?.();const be={x:ee.clientX,y:ee.clientY};let _e=!1;const Ke=Le=>{_e&&Le.cancelable&&Le.preventDefault()},Ve=Le=>{if(!_e){(Math.abs(Le.clientX-be.x)>mc||Math.abs(Le.clientY-be.y)>mc)&&Ue();return}const Ie=document.elementFromPoint?.(Le.clientX,Le.clientY)?.closest?.("[data-wordtable-cell]"),ze=Ie?Number(Ie.dataset.wordtableCell):NaN,nt=Number.isInteger(ze)?ze:null;F.current=nt,K(nt)},qe=()=>{const Le=F.current,Ie=_e;Ue(),Ie&&Le!=null&&Le!==fe&&Y(fe,Le)},je=setTimeout(()=>{_e=!0,te(fe),F.current=fe,K(fe),window.addEventListener("touchmove",Ke,{passive:!1})},Ny);function Ue(){clearTimeout(je),window.removeEventListener("pointermove",Ve),window.removeEventListener("pointerup",qe),window.removeEventListener("pointercancel",qe),window.removeEventListener("touchmove",Ke),_e=!1,F.current=null,$.current=null,te(null),K(null)}$.current=Ue,window.addEventListener("pointermove",Ve),window.addEventListener("pointerup",qe),window.addEventListener("pointercancel",qe)},[_,Y]),{width:ce,height:Ee}=ra[s],{scalerRef:de,scale:re,offset:W}=pc(ce,k?Ee:void 0),ie=G?p?.length??0:d?.length??0,pe=Math.max(m??ie,1),{cols:ye,rows:ge}=by(s,pe),we={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")},Ce=G?(p??[]).some(ee=>ee!==null&&ee.length>1):(d??[]).some(ee=>(ee.words??[]).length>1),Be=Se("word-table-block__content",yy[l],c&&"word-table-block__content--outline",u&&Ce&&"word-table-block__content--div-line"),De={transform:`scale(${1/re})`,transformOrigin:"center center"},oe=n.jsxs("div",{ref:de,className:"word-table__scaler",style:{height:Ee*re},children:[n.jsx("div",{className:Se("word-table",!S&&r),style:{width:ce,height:Ee,transform:`scale(${re})`,transformOrigin:"top left",marginLeft:W},children:n.jsxs("div",{ref:T,className:Be,style:{gridTemplateColumns:`repeat(${ye}, 1fr)`,gridTemplateRows:`repeat(${ge}, 1fr)`},children:[G?n.jsx(n.Fragment,{children:(p??[]).map((ee,fe)=>n.jsx("div",{className:Se("word-table-block__edit-cell",ee?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===fe?"word-table-block__edit-cell--active":""),style:dc(fe,ye,ge,l),children:ee?n.jsxs(n.Fragment,{children:[ee.map((ae,be)=>n.jsxs(o.Fragment,{children:[be>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(hc,{label:ae.word,subLabel:ae.pronunciation,colloquialLabel:ae.colloquialPronunciation,homonum:ae.homonum,showWord:we.word,showImage:we.image,showPronunciation:we.pron,showColloquial:we.colloq,buttonSize:x})]},be)),B&&R(fe,ee.map(ae=>ae.word).join(" / ")),y&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ee.length>1?P("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):P("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ee.length>1?P("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):P("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>y(fe)})})]}):v&&n.jsx("div",{style:De,children:n.jsx(le,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:P("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>v(fe)})})},fe))}):n.jsxs(n.Fragment,{children:[(d??[]).map((ee,fe)=>n.jsxs("div",{"data-wordtable-cell":_?fe:void 0,className:`word-table-block__card${_?" word-table-block__card--draggable":""}${z===fe?" word-table-block__card--drag-over":""}${q===fe?" word-table-block__card--dragging":""}`,style:dc(fe,ye,ge,l),draggable:!!_,onPointerDown:_?ae=>J(ae,fe):void 0,onKeyDown:_?ae=>U(ae,fe):void 0,onDragStart:_?()=>{M.current=fe}:void 0,onDragOver:_?ae=>{ae.preventDefault(),K(fe)}:void 0,onDragLeave:_?()=>K(null):void 0,onDrop:_?ae=>{ae.preventDefault(),M.current!==null&&M.current!==fe&&_(M.current,fe),M.current=null,K(null)}:void 0,onDragEnd:_?()=>{M.current=null,K(null)}:void 0,children:[(ee.words??[]).map((ae,be)=>n.jsxs(o.Fragment,{children:[be>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(hc,{label:ae.label,subLabel:ae.subLabel,colloquialLabel:ae.colloquialLabel,homonum:ae.homonum,showWord:we.word,showImage:we.image,showPronunciation:we.pron,showColloquial:we.colloq,buttonSize:x,wordInfo:ae.grade||ae.syllables!=null||ae.pos||ae.wordType?{grade:ae.grade,syllables:ae.syllables,pos:ae.pos,wordType:ae.wordType}:void 0})]},be)),B&&R(fe,(ee.words??[]).map(ae=>ae.label).join(" / ")),_&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:P("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:P("wordTable.reorder.handle",{word:(ee.words??[]).map(ae=>ae.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),g&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(le,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(ee.words??[]).length>1?P("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):P("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(ee.words??[]).length>1?P("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):P("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>g(ee.id)})})]},ee.id)),Array.from({length:Math.max(0,ye*ge-(d?.length??0))}).map((ee,fe)=>{const ae=(d?.length??0)+fe<pe;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:f&&v&&ae&&n.jsx("div",{style:De,children:n.jsx(le,{htmlType:"button",size:x,type:"bar",icon:"plus",label:P("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>v((d?.length??0)+fe)})})},`filler-${fe}`)})]}),b&&w!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${w}`,children:P("wordTable.filter.pageIndicator",{current:b.current,total:b.total})})]})}),_&&n.jsx("span",{role:"status",style:By,children:O})]});return S?n.jsx(aa,{type:"page",icon:t,title:e,disc:a,className:Se("word-table-block",r),children:oe}):oe}function wn({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:s,onCollapsedChange:i,footer:l,sections:c,selected:u={},onSelect:d,align:p,sectionAlign:m,className:h}){const v=(p??(m==="vertical"?"newline":"inline"))==="inline",{t:y}=ve.useTranslation(),[g,_]=o.useState(r),f=s??g,C=()=>{const b=!f;_(b),i?.(b)},x=e||t||a;return n.jsxs("div",{className:Se("filter-panel",a?"filter-panel--collapsible":"",f?"filter-panel--collapsed":"",h),children:[x&&n.jsxs("div",{className:"filter-panel__header",children:[n.jsxs("div",{className:"filter-panel__title-row",children:[a&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:f?"chevron-down":"chevron-up",ariaLabel:f?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),"aria-expanded":!f,onClick:C}),e&&n.jsx("span",{className:"filter-panel__title h4",children:e})]}),n.jsx("div",{className:"filter-panel__header-actions",children:!f&&t})]}),!f&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:Se("filter-panel__sections",v?"filter-panel__sections--row":""),children:c.map(b=>{const w=u[b.label],k=w===void 0||(Array.isArray(w)?w.length===0:!1),B=(b.items??[]).filter(A=>A!=null);b.allOption&&B.some(A=>(typeof A=="string"?A:A.value)===on)&&fn(`filter-panel-all-value:${b.label}`,`[FilterPanel] '${b.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${on}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const N=A=>{const D=typeof A=="string"?A:A.value,H=typeof A!="string"&&!!A.disabled,R=typeof A!="string"?A.labels:void 0,P=typeof A!="string"?A.displayLabel:void 0,G=typeof A!="string"?A.tooltip:void 0,S=typeof A!="string"?A.descriptionTooltip:void 0,M=typeof A!="string"?A.shape:void 0,z=Array.isArray(w)?w.includes(D):w===D;return n.jsx(le,{htmlType:"button",size:"keyboard",label:R??P??D,type:b.itemType??(R?"bar":D.length===1?"dot":void 0),selected:z,disabled:H,shape:M,showTooltipInfo:!!G,tooltipInfoText:G,tooltipDescription:S,onClick:()=>d?.(D,b.label)},D)};return n.jsxs(o.Fragment,{children:[b.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:b.groupLabel}),b.groupAction]}),n.jsxs("div",{className:Se("filter-panel__section",b.layout==="row"?"filter-panel__section--row":"",b.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:b.displayLabel??b.label}),b.labelAction??(b.labelInfo?n.jsx(Ba,{...b.labelInfo}):null)]}),b.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:b.content}):b.type==="input"?n.jsx(zn,{className:"filter-panel__textfield",placeholder:b.placeholder,ariaLabel:b.displayLabel??b.label,value:u[b.label]??"",onChange:A=>d?.(A,b.label),error:b.error}):!b.multiple&&b.display==="segmented"?n.jsx(Sn,{ariaLabel:b.displayLabel??b.label,options:[...b.allOption?[{key:on,label:b.allLabel??y("common.all","\uC804\uCCB4"),disabled:b.allOptionDisabled}]:[],...B.map(A=>{const D=typeof A=="string"?A:A.value,H=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{key:D,label:H??D,disabled:R}})],value:k&&b.allOption?on:u[b.label]??"",onChange:A=>d?.(A,b.label),size:40}):!b.multiple&&b.display==="dropdown"?n.jsx(an,{className:"filter-panel__dropdown",size:40,options:[...b.allOption?[{value:on,label:b.allLabel??y("common.all","\uC804\uCCB4"),disabled:b.allOptionDisabled}]:[],...B.map(A=>{const D=typeof A=="string"?A:A.value,H=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{value:D,label:H??D,disabled:R}})],value:k&&b.allOption?on:u[b.label],onChange:A=>d?.(A,b.label)}):n.jsxs("div",{className:b.groups?"filter-panel__item-groups":"filter-panel__items",children:[b.allOption&&!b.groups&&n.jsx(le,{htmlType:"button",size:"keyboard",label:b.allLabel??y("common.all","\uC804\uCCB4"),selected:k,disabled:b.allOptionDisabled,onClick:()=>d?.(on,b.label)}),b.groups?b.groups.map((A,D)=>n.jsxs("div",{className:"filter-panel__item-group",children:[D===0&&b.allOption&&n.jsx(le,{htmlType:"button",size:"keyboard",label:b.allLabel??y("common.all","\uC804\uCCB4"),selected:k,disabled:b.allOptionDisabled,onClick:()=>d?.(on,b.label)}),A.filter(H=>H!=null).map(N)]},D)):B.map(N)]})]})]},b.label)})}),l!=null&&l!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:l})]})]})}const Ey=[1,2,3,4,5,6,7,8,9,10,11,12],gc=[8,4,2,1];function bc(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.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:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function yc(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 vc(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 xc(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 _c(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 wc(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...gc.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function kc(e,t){return e===t||!gc.includes(e)?Number.POSITIVE_INFINITY:e}function Ac(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 Bc={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Nc(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Dc(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function Sc(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===on?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(t)?s.filter(i=>i!==t):[...s,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function jy(e){return"sections"in e}function _o(e){const{t}=ve.useTranslation(),{title:a,className:r}=e;if(jy(e))return n.jsx(wn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:s,hasColloquial:i,contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p,setters:m,showCutLine:h=!1,showDivLine2:v=!1,middleSections:y=[],extraSelected:g={},onExtraSelect:_}=e,f=[bc(t,{hasImage:s,hasColloquial:i}),yc(t),...y,vc(t),...h?[xc(t)]:[],...v?[_c(t)]:[]],C={...Dc(t,{contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p}),...g},x=(b,w)=>{Sc(t,b,w,m)||_?.(b,w)};return n.jsx(wn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:f,selected:C,onSelect:x,sectionAlign:"horizontal"})}function Ec(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function wo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let nr=null,sa=null;function Ty(e,t,a,r="",s=""){if(e.length===0||sa&&sa.iframe.isConnected&&Date.now()-sa.at<1e4)return;const i=r?wo(r):"";nr?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),nr===l&&(nr=null)},nr=l,window.addEventListener("afterprint",l)}const c=document.createElement("iframe");c.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(c);const u=c.contentDocument;if(!u){c.remove();return}sa={iframe:c,at:Date.now()},u.open(),u.write(ko(e,t,a,!0,i,s)),u.close(),c.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{c.remove(),sa?.iframe===c&&(sa=null)},0)})}function ko(e,t,a,r=!1,s="",i=""){s=s?wo(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
|
|
860
|
+
`),c="light",u=i?`<div class="paper-head">${Ec(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">${u}${m.outerHTML}</div>`}).join(`
|
|
861
861
|
`);return`<!DOCTYPE html>
|
|
862
862
|
<html data-theme="${c}">
|
|
863
863
|
<head>
|
|
@@ -1000,10 +1000,10 @@ ${g.badge}`:g.badge:void 0;if(w&&u(g.code))return null;if(!g.badge&&!p)return m(
|
|
|
1000
1000
|
`:""}
|
|
1001
1001
|
<\/script>
|
|
1002
1002
|
</body>
|
|
1003
|
-
</html>`}const My=1e3;function wo({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=be.useTranslation(),c=o.useCallback(()=>{Ty(e(),t,a,r,i)},[e,t,a,r,i]),u=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(_o(p,t,a,!1,r,i)),m.document.close()},[e,t,a,r,s,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=_o(p,t,a,!1,r,i),f=new Blob([m],{type:"text/html;charset=utf-8"}),b=URL.createObjectURL(f),C=(r?xo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),y=Object.assign(document.createElement("a"),{href:b,download:`${C}.html`});document.body.appendChild(y),y.click(),document.body.removeChild(y),setTimeout(()=>URL.revokeObjectURL(b),My)},[e,t,a,r,i,l]);return{print:c,openNewWindow:u,downloadHtml:d}}function jc(e){const{t}=be.useTranslation(),[a,r]=o.useState("landscape"),[s,i]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[l,c]=o.useState("\uD45C\uC2DC"),[u,d]=o.useState(!0),[p,m]=o.useState(!0),[f,b]=o.useState(8),[C,y]=o.useState("right"),_=e.length,h=e.some($=>($.words??[]).length>1),v=e.some($=>($.words??[]).some(R=>!!R.colloquialLabel)),x=Math.min(f,Math.max(_,1)),g=o.useMemo(()=>lc(e,x),[e,x]),k=g.length>1,w=x,[B,N]=o.useState(!1);o.useEffect(()=>{let $=!1;if(!Gn()){N(!1);return}return Promise.all(e.flatMap(R=>(R.words??[]).map(U=>Ks(U.label,U.homonum)))).then(R=>{$||N(R.some(Boolean))},()=>{}),()=>{$=!0}},[e]);const A=o.useMemo(()=>[bc(t,{hasImage:B,hasColloquial:v}),yc(t),..._>0?[wc(t,{hasPairs:h,itemCount:_})]:[],...k?[Ac(t)]:[],vc(t),...w>1?[xc(t)]:[],...h?[_c(t)]:[]],[t,B,v,_,h,k,w]),D={...Dc(t,{contentTypes:s,orientation:a,showOutline:u,cutLine:l,showDivLine:p}),..._>0?{[t(h?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${x}\uAC1C`}:{},...k?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Bc[C]}:{}},F=o.useCallback(($,R)=>{Sc(t,$,R,{setContentTypes:i,setOrientation:r,setShowOutline:d,setCutLine:c,setShowDivLine:m})||(R===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||R===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?b(kc(parseInt($),_)):R===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&y(Nc($)))},[t,_]);return{settings:{orientation:a,contentTypes:s,cutLine:l,showOutline:u,showDivLine:p,count:w},filterSections:A,filterSelected:D,handleSelect:F,pages:g,isPaginated:k,pageNumberPosition:C}}function Ly({items:e,words:t,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:c,footerClassName:u,printFileName:d,showSettings:p,autoPrint:m,className:f,onClose:b,scoring:C=!1,onScoreChange:y,printHeader:_,beforeClose:h}){const{t:v}=be.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(ae=>typeof ae=="string"&&ae.length>0).map((ae,ue)=>({id:`${ae}-${ue}`,words:[{label:ae}]})),[e,t]),{settings:g,filterSections:k,filterSelected:w,handleSelect:B,pages:N,isPaginated:A,pageNumberPosition:D}=jc(x),F=o.useMemo(()=>ic(N.map(ae=>ae.length)),[N]),[$,R]=o.useState({}),U=o.useCallback((ae,ue)=>{R(Se=>({...Se,[tr(ae)]:rc(Se[tr(ae)]??null,ue)}))},[]),E=o.useRef(y);o.useEffect(()=>{E.current=y});const T=o.useRef($);o.useEffect(()=>{T.current!==$&&(T.current=$,E.current?.(bo($)))},[$]);const V=o.useMemo(()=>bo($),[$]),Y=o.useRef(null),{toastMessage:K,toastKey:G,showWarning:J,clearToast:O}=rl("warning"),I=o.useRef([]),S=o.useCallback(()=>A?I.current.filter(ae=>ae!==null):Y.current?[Y.current]:[],[A]),{print:H,openNewWindow:P}=wo({getElements:S,paperW:ra[g.orientation].width,paperH:ra[g.orientation].height,fileName:d??"",header:_??"",onPopupBlocked:()=>J(v("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."))}),M=o.useMemo(()=>c?void 0:l?l({print:H,openNewWindow:P}):d?[{label:v("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>P()},{label:v("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>H()},...i??[]]:i,[c,l,d,i,v,H,P]),L=o.useMemo(()=>c?c({print:H,openNewWindow:P}):void 0,[c,H,P]),X=o.useRef(!1),W=o.useRef(H);return o.useEffect(()=>{W.current=H},[H]),o.useEffect(()=>{if(!m||X.current)return;const ae=window.setTimeout(()=>{X.current=!0,W.current()},100);return()=>window.clearTimeout(ae)},[m]),n.jsxs(jn,{title:a??v("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:De("word-table-popup",f),buttons:M,footer:L,footerClassName:u,beforeClose:h,onClose:b,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(vo,{sections:k,selected:w,onSelect:B}),A?n.jsx("div",{className:"word-table-popup__pages",children:N.map((ae,ue)=>n.jsx(oa,{items:ae,orientation:g.orientation,contentTypes:g.contentTypes,cutLine:g.cutLine,showOutline:g.showOutline,showDivLine:g.showDivLine,count:g.count,contentRef:Se=>{I.current[ue]=Se},pageNumber:{current:ue+1,total:N.length},pageNumberPosition:D,scoring:C,scoreIndexOffset:F[ue],marks:V,onMarkClick:U},ue))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(oa,{items:x,orientation:g.orientation,contentTypes:g.contentTypes,cutLine:g.cutLine,showOutline:g.showOutline,showDivLine:g.showDivLine,count:g.count,contentRef:Y,fitHeight:!0,scoring:C,marks:V,onMarkClick:U})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??v("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(ta,{message:K,position:"top",onClose:O},G)]})}const $y=new Set(["x","triangle"]);function Ry(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&$y.has(s)&&a.push(e[r])}return a}const Py=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Tc(e){const t=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:t,\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(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:i+1}}let r=t,s=1;for(;;){const i=Py.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 Iy(e,t){const[,a,r]=$r(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Tc(typeof e=="string"?{name:e}:e),c=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${c}\uBCF5\uC2B5 ${s}`}function Fy(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Tc(e).\uD68C\uCC28}}function Oy(e,t){const a={};for(const[r,s]of Object.entries(t)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function Hy(e){return e.map(t=>t.label).join(" / ")}function Vy(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Mc(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function zy(e,t,a){const r=si(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Lc(e,t,a){return a===0?0:(e+t*.5)/a}function Wy(e){const t=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 c=s.labels?.[i];if(!c)continue;const u=t.get(c)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")u.o++;else if(l==="triangle")u.triangle++;else if(l==="x")u.x++;else continue;u.latest=l,u.latestAt=s.scoredAt,t.set(c,u)}const r=[];for(const[s,i]of t){const l=i.o+i.triangle+i.x;r.push({label:Mc(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Lc(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||Qn(s.label,i.label)||Qn(s.key??s.label,i.key??i.label)),r}function qy(e){const t=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=t.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(s,i)}const a=[];for(const r of t.values()){const s=c=>Object.values(c.marks).filter(u=>u==="o"||u==="triangle"||u==="x").length,i=r.rows.filter(c=>s(c)>0).sort((c,u)=>c.scoredAt.localeCompare(u.scoredAt));if(i.length===0)continue;const l=i.map(c=>{const u=Object.values(c.marks),d=u.filter(m=>m==="o").length,p=u.filter(m=>m==="triangle").length;return Lc(d,p,s(c))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(c=>c.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 Uy(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function Gy(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function Ky(e){const t=new Map;let a=0,r=0;const s=e.map((l,c)=>({r:l,\uC790\uB9AC:c})).sort((l,c)=>l.r.answeredAt.localeCompare(c.r.answeredAt)||Gy(l.r.id,c.r.id)||l.\uC790\uB9AC-c.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const c=l.itemTitle?.trim();if(!c){r++;continue}a++;const u=l.itemId?.trim()||c,d=`${l.trainingType}|${u}`,p=t.get(d)??{trainingType:l.trainingType,itemId:u,title:c,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=c,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)}t.set(d,p)}const i=[...t.entries()].map(([l,c])=>({key:l,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((l,c)=>l.rate-c.rate||c.tried-l.tried||Qn(l.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function Yy(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function Zy(e){const t=new Map;for(const r of e){const s=t.get(r.trainingType)??[];s.push(r),t.set(r.trainingType,s)}const a=[...t.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 ko=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function Xy(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const c=`${i.trainingType}|${l}`,u=t.get(c)??{setId:l,trainingType:i.trainingType,pending:0};u.pending++,t.set(c,u)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...t.values()];return{sentence:s.filter(i=>ko.includes(i.trainingType)).sort(r),word:s.filter(i=>!ko.includes(i.trainingType)).sort(r),noSet:a}}function Jy(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,c=[];for(const u of i.cellLabels)r.has(u)&&!l.has(u)&&(l.add(u),c.push(u));c.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||Qn(i.name,l.name)),s.slice(0,Math.max(0,a))}function Qy(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function e5(e,t){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 t){const i=a.get(s);i!==void 0&&r.push(i)}return r}function Ao(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function t5(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return t?t(r,s):r>0&&s>0?Ao(kt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?Ao(kt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):Ao(kt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function n5(e,t){const a=[],r=new Set;for(const s of e){const i=t(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function a5(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function r5(e,t){return e.filter(a=>a.key!==t)}function o5(e,t,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],c=new Set(s);for(const d of t){if(l.length>=i)break;const p=a(d);c.has(p)||(c.add(p),l.push({key:p,value:d,pinned:!1}))}const u=[...l];return e.map(d=>d.pinned?d:u.shift()).filter(d=>d!==void 0)}function s5(e){return e.map(t=>t.value)}function i5(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},s=t?.key?` icon-grid-menu__button--${t.key}`:"",i=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:n.jsx(qe,{icon:t.icon,label:t.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"})}),n.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function l5(e){const{categories:t=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,c]=o.useState(()=>i?null:(t&&t[0]?.key)??null),u=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const p=o.useRef(!1),m=(t&&t[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const b=l??m;l==null&&c(b),d.current?.(b)},[i,m]);const f=o.useCallback(b=>{const C=u===b?null:b;p.current=!0,i||c(C),r?.(C)},[u,i,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(t||[]).map(b=>n.jsx(i5,{category:b,isSelected:u===b.key,onClick:()=>f(b.key)},b.key))})}function c5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(i=>n.jsx(le,{htmlType:"button",size:s,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function u5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=be.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1003
|
+
</html>`}const My=1e3;function Ao({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=ve.useTranslation(),c=o.useCallback(()=>{Ty(e(),t,a,r,i)},[e,t,a,r,i]),u=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(ko(p,t,a,!1,r,i)),m.document.close()},[e,t,a,r,s,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=ko(p,t,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),v=URL.createObjectURL(h),y=(r?wo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),g=Object.assign(document.createElement("a"),{href:v,download:`${y}.html`});document.body.appendChild(g),g.click(),document.body.removeChild(g),setTimeout(()=>URL.revokeObjectURL(v),My)},[e,t,a,r,i,l]);return{print:c,openNewWindow:u,downloadHtml:d}}function jc(e){const{t}=ve.useTranslation(),[a,r]=o.useState("landscape"),[s,i]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[l,c]=o.useState("\uD45C\uC2DC"),[u,d]=o.useState(!0),[p,m]=o.useState(!0),[h,v]=o.useState(8),[y,g]=o.useState("right"),_=e.length,f=e.some(R=>(R.words??[]).length>1),C=e.some(R=>(R.words??[]).some(P=>!!P.colloquialLabel)),x=Math.min(h,Math.max(_,1)),b=o.useMemo(()=>lc(e,x),[e,x]),w=b.length>1,k=x,[B,N]=o.useState(!1);o.useEffect(()=>{let R=!1;if(!Gn()){N(!1);return}return Promise.all(e.flatMap(P=>(P.words??[]).map(G=>Zs(G.label,G.homonum)))).then(P=>{R||N(P.some(Boolean))},()=>{}),()=>{R=!0}},[e]);const A=o.useMemo(()=>[bc(t,{hasImage:B,hasColloquial:C}),yc(t),..._>0?[wc(t,{hasPairs:f,itemCount:_})]:[],...w?[Ac(t)]:[],vc(t),...k>1?[xc(t)]:[],...f?[_c(t)]:[]],[t,B,C,_,f,w,k]),D={...Dc(t,{contentTypes:s,orientation:a,showOutline:u,cutLine:l,showDivLine:p}),..._>0?{[t(f?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${x}\uAC1C`}:{},...w?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Bc[y]}:{}},H=o.useCallback((R,P)=>{Sc(t,R,P,{setContentTypes:i,setOrientation:r,setShowOutline:d,setCutLine:c,setShowDivLine:m})||(P===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||P===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?v(kc(parseInt(R),_)):P===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&g(Nc(R)))},[t,_]);return{settings:{orientation:a,contentTypes:s,cutLine:l,showOutline:u,showDivLine:p,count:k},filterSections:A,filterSelected:D,handleSelect:H,pages:b,isPaginated:w,pageNumberPosition:y}}function Ly({items:e,words:t,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:c,footerClassName:u,printFileName:d,showSettings:p,autoPrint:m,className:h,onClose:v,scoring:y=!1,onScoreChange:g,printHeader:_,beforeClose:f}){const{t:C}=ve.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(J=>typeof J=="string"&&J.length>0).map((J,ce)=>({id:`${J}-${ce}`,words:[{label:J}]})),[e,t]),{settings:b,filterSections:w,filterSelected:k,handleSelect:B,pages:N,isPaginated:A,pageNumberPosition:D}=jc(x),H=o.useMemo(()=>ic(N.map(J=>J.length)),[N]),[R,P]=o.useState({}),G=o.useCallback((J,ce)=>{P(Ee=>({...Ee,[tr(J)]:rc(Ee[tr(J)]??null,ce)}))},[]),S=o.useRef(g);o.useEffect(()=>{S.current=g});const M=o.useRef(R);o.useEffect(()=>{M.current!==R&&(M.current=R,S.current?.(vo(R)))},[R]);const z=o.useMemo(()=>vo(R),[R]),K=o.useRef(null),{toastMessage:Z,toastKey:q,showWarning:te,clearToast:O}=sl("warning"),L=o.useRef([]),E=o.useCallback(()=>A?L.current.filter(J=>J!==null):K.current?[K.current]:[],[A]),{print:I,openNewWindow:F}=Ao({getElements:E,paperW:ra[b.orientation].width,paperH:ra[b.orientation].height,fileName:d??"",header:_??"",onPopupBlocked:()=>te(C("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."))}),$=o.useMemo(()=>c?void 0:l?l({print:I,openNewWindow:F}):d?[{label:C("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>F()},{label:C("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>I()},...i??[]]:i,[c,l,d,i,C,I,F]),T=o.useMemo(()=>c?c({print:I,openNewWindow:F}):void 0,[c,I,F]),Y=o.useRef(!1),U=o.useRef(I);return o.useEffect(()=>{U.current=I},[I]),o.useEffect(()=>{if(!m||Y.current)return;const J=window.setTimeout(()=>{Y.current=!0,U.current()},100);return()=>window.clearTimeout(J)},[m]),n.jsxs(jn,{title:a??C("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Se("word-table-popup",h),buttons:$,footer:T,footerClassName:u,beforeClose:f,onClose:v,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(_o,{sections:w,selected:k,onSelect:B}),A?n.jsx("div",{className:"word-table-popup__pages",children:N.map((J,ce)=>n.jsx(oa,{items:J,orientation:b.orientation,contentTypes:b.contentTypes,cutLine:b.cutLine,showOutline:b.showOutline,showDivLine:b.showDivLine,count:b.count,contentRef:Ee=>{L.current[ce]=Ee},pageNumber:{current:ce+1,total:N.length},pageNumberPosition:D,scoring:y,scoreIndexOffset:H[ce],marks:z,onMarkClick:G},ce))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(oa,{items:x,orientation:b.orientation,contentTypes:b.contentTypes,cutLine:b.cutLine,showOutline:b.showOutline,showDivLine:b.showDivLine,count:b.count,contentRef:K,fitHeight:!0,scoring:y,marks:z,onMarkClick:G})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??C("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(ta,{message:Z,position:"top",onClose:O},q)]})}const $y=new Set(["x","triangle"]);function Ry(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&$y.has(s)&&a.push(e[r])}return a}const Py=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Tc(e){const t=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:t,\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(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:i+1}}let r=t,s=1;for(;;){const i=Py.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 Iy(e,t){const[,a,r]=$r(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Tc(typeof e=="string"?{name:e}:e),c=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${c}\uBCF5\uC2B5 ${s}`}function Fy(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Tc(e).\uD68C\uCC28}}function Oy(e,t){const a={};for(const[r,s]of Object.entries(t)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function Hy(e){return e.map(t=>t.label).join(" / ")}function zy(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Mc(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function Vy(e,t,a){const r=li(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Lc(e,t,a){return a===0?0:(e+t*.5)/a}function Wy(e){const t=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 c=s.labels?.[i];if(!c)continue;const u=t.get(c)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")u.o++;else if(l==="triangle")u.triangle++;else if(l==="x")u.x++;else continue;u.latest=l,u.latestAt=s.scoredAt,t.set(c,u)}const r=[];for(const[s,i]of t){const l=i.o+i.triangle+i.x;r.push({label:Mc(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Lc(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||Qn(s.label,i.label)||Qn(s.key??s.label,i.key??i.label)),r}function qy(e){const t=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=t.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(s,i)}const a=[];for(const r of t.values()){const s=c=>Object.values(c.marks).filter(u=>u==="o"||u==="triangle"||u==="x").length,i=r.rows.filter(c=>s(c)>0).sort((c,u)=>c.scoredAt.localeCompare(u.scoredAt));if(i.length===0)continue;const l=i.map(c=>{const u=Object.values(c.marks),d=u.filter(m=>m==="o").length,p=u.filter(m=>m==="triangle").length;return Lc(d,p,s(c))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(c=>c.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 Uy(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function Gy(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function Ky(e){const t=new Map;let a=0,r=0;const s=e.map((l,c)=>({r:l,\uC790\uB9AC:c})).sort((l,c)=>l.r.answeredAt.localeCompare(c.r.answeredAt)||Gy(l.r.id,c.r.id)||l.\uC790\uB9AC-c.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const c=l.itemTitle?.trim();if(!c){r++;continue}a++;const u=l.itemId?.trim()||c,d=`${l.trainingType}|${u}`,p=t.get(d)??{trainingType:l.trainingType,itemId:u,title:c,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=c,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)}t.set(d,p)}const i=[...t.entries()].map(([l,c])=>({key:l,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((l,c)=>l.rate-c.rate||c.tried-l.tried||Qn(l.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function Yy(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function Zy(e){const t=new Map;for(const r of e){const s=t.get(r.trainingType)??[];s.push(r),t.set(r.trainingType,s)}const a=[...t.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 Bo=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function Xy(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const c=`${i.trainingType}|${l}`,u=t.get(c)??{setId:l,trainingType:i.trainingType,pending:0};u.pending++,t.set(c,u)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...t.values()];return{sentence:s.filter(i=>Bo.includes(i.trainingType)).sort(r),word:s.filter(i=>!Bo.includes(i.trainingType)).sort(r),noSet:a}}function Jy(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,c=[];for(const u of i.cellLabels)r.has(u)&&!l.has(u)&&(l.add(u),c.push(u));c.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||Qn(i.name,l.name)),s.slice(0,Math.max(0,a))}function Qy(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function e5(e,t){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 t){const i=a.get(s);i!==void 0&&r.push(i)}return r}function No(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function t5(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return t?t(r,s):r>0&&s>0?No(Dt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?No(Dt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):No(Dt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function n5(e,t){const a=[],r=new Set;for(const s of e){const i=t(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function a5(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function r5(e,t){return e.filter(a=>a.key!==t)}function o5(e,t,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],c=new Set(s);for(const d of t){if(l.length>=i)break;const p=a(d);c.has(p)||(c.add(p),l.push({key:p,value:d,pinned:!1}))}const u=[...l];return e.map(d=>d.pinned?d:u.shift()).filter(d=>d!==void 0)}function s5(e){return e.map(t=>t.value)}function i5(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},s=t?.key?` icon-grid-menu__button--${t.key}`:"",i=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:n.jsx(We,{icon:t.icon,label:t.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"})}),n.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function l5(e){const{categories:t=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,c]=o.useState(()=>i?null:(t&&t[0]?.key)??null),u=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const p=o.useRef(!1),m=(t&&t[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const v=l??m;l==null&&c(v),d.current?.(v)},[i,m]);const h=o.useCallback(v=>{const y=u===v?null:v;p.current=!0,i||c(y),r?.(y)},[u,i,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(t||[]).map(v=>n.jsx(i5,{category:v,isSelected:u===v.key,onClick:()=>h(v.key)},v.key))})}function c5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(i=>n.jsx(le,{htmlType:"button",size:s,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function u5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=ve.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1004
1004
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
1005
1005
|
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
|
|
1006
|
-
`).map((l,c,u)=>n.jsxs(o.Fragment,{children:[l,c<u.length-1&&n.jsx("br",{})]},c))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.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")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.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"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:to,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),n.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")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function d5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=be.useTranslation(),p=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,f]=o.useState(!1),b=o.useId(),C=o.useRef(null);o.useEffect(()=>{if(!m)return;const h=In(()=>{const g=document.getElementById(b);g&&g.contains(document.activeElement)&&C.current?.focus(),f(!1)}),v=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,x=g=>{g.matches&&f(!1)};return v&&(v.matches&&f(!1),v.addEventListener?.("change",x)),()=>{h(),v?.removeEventListener?.("change",x)}},[m,b]);const y=l?`${l} landing-header__inner`:"landing-header__inner",_=(h,v)=>c?c(h,{onClick:v}):n.jsx("a",{href:h.href,onClick:v,"aria-current":h.current?"page":void 0,children:h.label});return n.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[n.jsxs("div",{className:y,children:[e!=null&&(()=>{const h=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:h}):n.jsx("div",{className:"landing-header__brand",children:h})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((h,v)=>n.jsx("span",{children:_(h)},`${v}:${h.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:C,type:"button",onClick:()=>f(h=>!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:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:b,hidden:!m,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((h,v)=>n.jsx("span",{className:"landing-header__drawer-item",children:_(h,()=>f(!1))},`${v}:${h.href}`))})})]})}function p5({children:e,action:t,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:s,onClick:a,...Ql(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const ia=9,m5=e=>Math.round(Math.min(ia,Math.max(0,e))/ia*100),h5=e=>e/100*ia,ja=2,$c=.1,f5=e=>Math.min(ja,Math.max(0,e)),C5=.1,g5=e=>Math.round(e*1e6)/1e6;function Ta(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return f5(t);const a=Math.min(ia,Math.max(0,Number(e.level)||0))/ia,r=Number(e.mainVolume);return r>0?a>0?g5(Math.min(ja,Math.max(C5,a/r))):0:1}const Rc=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Pc(e){return Rc(e)}function Bo(e){return Rc(e)*Ta(e)}function No(e,t=Vs()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Bo(e)/a)}function Ma(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Ta({level:a.level,mainVolume:a.mainVolume})),a}const La={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Do=o.createContext(null);function ar(){return o.useContext(Do)}const So=e=>`${U0()}/${e}`,Ic=e=>Array.from({length:10},(t,a)=>So(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),rr={get defaultNoise(){return So("noise1.mp3")},get street(){return Ic("noise2")},get restaurant(){return Ic("noise3")},get buzz(){return So("noise4.mp3")}};function b5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return rr.defaultNoise;case"street":return rr.street[t];case"restaurant":return rr.restaurant[t];case"buzz":return rr.buzz;default:return null}}function y5({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),c=o.useRef(null),u=o.useRef(null),d=o.useRef(null),p=o.useRef(null),m=o.useRef(0),f=o.useRef(null),b=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),f.current!==null&&(clearTimeout(f.current),f.current=null)},[]),C=o.useCallback((x,g=250)=>{const k=s.current;if(!k)return;const w=u.current;if(w){u.current=null;try{k.pause()}catch{}k.src=w,k.load()}if(!k.src)return;m.current+=1,b();try{Sr(),Ia(k).then(D=>{if(s.current===k)try{r.current?.("noise",D)}catch{}})}catch{}const B=k.paused?0:Fa(k);k.paused&&Dn(k,0),k.play().catch(()=>{});const N=performance.now(),A=()=>{const D=Math.min(1,(performance.now()-N)/g);try{Dn(k,B+(x-B)*D)}catch{}D<1?p.current=requestAnimationFrame(A):p.current=null};p.current=requestAnimationFrame(A)},[b]),y=o.useCallback((x=250,g)=>{const k=s.current;if(!k||k.paused){g?.();return}const w=++m.current;b();const B=performance.now(),N=Fa(k),A=()=>{const D=Math.min(1,(performance.now()-B)/x);try{Dn(k,N*(1-D))}catch{}if(D<1)p.current=requestAnimationFrame(A);else{p.current=null,f.current!==null&&(clearTimeout(f.current),f.current=null);try{k.pause()}catch{}g?.()}};p.current=requestAnimationFrame(A),f.current=setTimeout(()=>{if(f.current=null,m.current===w){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{k.paused||(Dn(k,0),k.pause(),g?.())}catch{}}},x+150)},[b]);o.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",s.current=x,()=>{b();try{x.pause(),x.src=""}catch{}s.current=null,c.current=null,u.current=null}},[b]);const _=e?No(e.settings):0,h=!!e?.settings.enabled&&_>0;o.useEffect(()=>{if(!h)return;let x=0;const g=setInterval(()=>{const k=s.current;if(!k||k.paused){x=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,y())},400);return()=>clearInterval(g)},[y,h,t,a]),o.useEffect(()=>{const x=()=>{const g=s.current;if(document.hidden){if(g&&!g.paused){b();try{g.pause()}catch{}}return}if(!g||!g.paused)return;const k=t.current,w=!!k&&!k.paused&&!k.ended||a.current==="playing",B=d.current;w&&B?.enabled&&B.volume>0&&C(B.volume)};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[b,C,t,a]),o.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:_,type:e.settings.type}:null},[e,e?.settings.enabled,_,e?.settings.type]);const v=o.useRef(null);return o.useEffect(()=>()=>{v.current?.(),v.current=null},[]),o.useEffect(()=>{const x=e?.settings,g=s.current;if(!g)return;const k=x?No(x):0;if(!x||!x.enabled||k===0){y();return}if(c.current!==x.type){const w=b5(x.type);w&&(c.current=x.type,l(w),u.current=w,y(150,()=>{if(u.current!==w)return;u.current=null,g.src=w,g.load();const B=t.current;if(B&&!B.paused){v.current?.();const N=()=>{g.removeEventListener("canplay",N),v.current===A&&(v.current=null);const D=t.current,F=d.current;D&&!D.paused&&!D.ended&&F?.enabled&&F.volume>0&&C(F.volume)},A=()=>g.removeEventListener("canplay",N);v.current=A,g.addEventListener("canplay",N)}}))}else{const w=t.current,B=!!w&&!w.paused&&!w.ended||a.current==="playing";if(B&&u.current)C(k);else if(B&&g.paused&&g.src)C(k);else if(!g.paused)if(!B)y();else{b();const N=Fa(g),A=performance.now(),D=()=>{const F=Math.min(1,(performance.now()-A)/150);try{Dn(g,N+(k-N)*F)}catch{}F<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)}}},[e?.settings,e?.settings.enabled,_,e?.settings.type,b,C,y,t,a,d]),o.useEffect(()=>{const x=s.current;if(x)try{x.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:C,fadeOutNoise:y}}function v5({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:p,onDoneRef:m,handleEndRef:f}){const b=o.useRef(null),C=o.useRef(0),y=o.useRef(null),_=o.useRef(0),h=o.useRef(!1);o.useEffect(()=>()=>{_.current++;try{if(y.current&&(cancelAnimationFrame(y.current),y.current=null),h.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}h.current=!1}}catch{}},[]);const v=(k,w=1)=>{try{const B=(k||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(k||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,w)))}catch{return 1200}},x=o.useCallback(k=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const w=window.speechSynthesis,B=++_.current;try{try{w.cancel()}catch{}const N=k??e,A=Array.isArray(N)?N.filter(E=>!!E):[N||""];A.length===0&&A.push("");const D=Math.max(.3,Math.min(3,t));C.current=A.reduce((E,T)=>E+v(T,D||1),0),b.current=performance.now(),i(0),l("playing"),c("playMode");const F=p.current;F?.enabled&&(F?.volume??0)>0&&u(F.volume);const $=()=>{try{const E=b.current||performance.now(),T=performance.now()-E,V=C.current||1200,Y=Math.min(1,T/V);try{r.current&&(r.current.style.left=`${Y*100}%`),s.current&&s.current.style.setProperty("--progress",String(Y))}catch{}Y<1&&(y.current=requestAnimationFrame($))}catch{}},R=()=>{if(B===_.current)try{y.current&&(cancelAnimationFrame(y.current),y.current=null),i(1),l("stopped");try{f.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},U=E=>{const T=new SpeechSynthesisUtterance(A[E]);try{T.rate=D}catch{}try{T.volume=Math.max(0,Math.min(1,a))}catch{}T.onend=()=>{if(B===_.current){if(E<A.length-1){try{U(E+1)}catch{R()}return}R()}},T.onerror=()=>{R()},T.onstart=()=>{if(!(E>0))try{y.current&&(cancelAnimationFrame(y.current),y.current=null),y.current=requestAnimationFrame($)}catch{}},h.current=!0,w.speak(T)};try{U(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,t,a,u,r,s,i,l,c,p,m,f]),g=o.useCallback(()=>{_.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}y.current&&(cancelAnimationFrame(y.current),y.current=null),d(),b.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:x,stopTTS:g}}async function x5(e,t,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 c=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,u=Math.max(t,c),d=Math.floor(u/t)||1;return new Array(t).fill(0).map((p,m)=>{const f=m*d,b=Math.min(f+d,u);let C=0;for(let y=f;y<b;y++){const _=Math.abs(l[y]);_>C&&(C=_)}return C})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Fc(e,t,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await x5(s,t,a)}catch(r){try{const s=Js(r)}catch{}return null}}const Oc=45,_5=74,w5=2;function $a(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function Eo(e){return $a(e)/45}const Hc=4;function k5(e){const{src:t,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,f=o.useRef(null),b=o.useRef(null),[C,y]=o.useState(null),[_,h]=o.useState(!1),[v,x]=o.useState(null),[g,k]=o.useState(2),[w,B]=o.useState(0),[N,A]=o.useState(null),[D,F]=o.useState(!1),[$,R]=o.useState(!1),U=3,E=3,T=1,V=300,Y=o.useRef(0),K=o.useCallback(()=>{const re=f.current,q=b&&b.current?b.current:re?re.closest(".audio-player__wave"):null,se=q?q.getBoundingClientRect():re?re.getBoundingClientRect():null,de=se?se.width:0,ve=se?Math.max(100,se.width):320,ye=se?se.height:0,Be=Math.max(T,Math.min(V,Math.floor((ve+E)/(U+E)))),he=Be*U,ke=Math.max(0,Be-1),je=Math.max(0,ke>0?(ve-he)/ke:E);return{bars:Be,gap:je,height:ye,width:de}},[]),G=o.useRef(void 0),J=o.useRef(null),O=o.useCallback(async(re,q,{quiet:se=!1}={})=>{const de=++Y.current,ve=()=>Y.current===de;try{if(se||h(!1),G.current=re,!re){ve()&&y(null);return}let ye=q;if(!ye)try{for(let ke=0;ke<4&&!(f.current||b.current);ke++)await new Promise(je=>requestAnimationFrame(je));await new Promise(ke=>requestAnimationFrame(ke));const he=K();he.height>0&&B(he.height),ye=he.bars,k(he.gap)}catch{ye=120}J.current=ye;const Be=await Fc(re,ye);if(!ve())return;if(!Be){y(null),h(!1);return}y(Be),x(ye),h(!0)}catch{if(!ve())return;y(null),h(!1)}},[h,y,B,k,x,K]);o.useEffect(()=>{const re=b.current;if(!re||typeof ResizeObserver>"u")return;let q=null;const se=new ResizeObserver(()=>{q!==null&&cancelAnimationFrame(q),q=requestAnimationFrame(()=>{q=null;try{const de=K();if(de.width<=0||(de.height>0&&B(de.height),J.current===null||de.bars===J.current))return;const ve=G.current;k(de.gap),ve?O(ve,de.bars,{quiet:!0}).catch(()=>{}):J.current=de.bars}catch{}})});return se.observe(re),()=>{se.disconnect(),q!==null&&cancelAnimationFrame(q)}},[K,O]),o.useEffect(()=>{const re=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;O(typeof re=="string"?re:void 0).catch(()=>{}),R(!1)},[t,a,O]),o.useEffect(()=>{let re=!1;if(F(!1),!i||!v){A(null);return}const q=u>0?u*(c||1):void 0;return Fc(i,v,q).then(se=>{re||(A(se),se||F(!0))}).catch(()=>{re||(A(null),F(!0))}),()=>{re=!0}},[i,v,u,c]);const I=Math.max(0,Math.min(1,d)),S=o.useMemo(()=>C&&C.length&&Math.max(...C)||1,[C]),H=v||40,P=o.useMemo(()=>Array.from({length:H}).map((re,q)=>{const se=C&&C[q]!=null?C[q]:null,de=se==null?null:Math.min(1,se/S*I),ve=de!=null&&w>0&&$a(de)<=Hc,ye=de==null?.15:ve?0:Eo(de),Be=H>1?q/(H-1):0;return n.jsx("div",{className:ve?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ye,"--i":q,"--mix":Be}},q)}),[H,C,S,I,w]),M={"--progress":String(Math.max(0,Math.min(1,r)))},L=i?Math.max(1,l):1,X={"--bar-gap":`${g}px`,"--wave-h":`${$a(L)}px`,"--wave-h1":`${Oc}px`},W=I*Math.max(0,l)/Vs(),ae=_&&(i?!!N||D:!0);o.useEffect(()=>{ae&&R(!0)},[ae]);const ue=$?_:ae;o.useEffect(()=>{p?.(ue)},[ue,p]);const Se=v||40,pe=o.useMemo(()=>Array.from({length:Se}).map((re,q)=>{const se=N&&N[q]!=null?N[q]:null,de=se==null?0:se/S*W,ve=w>0&&$a(de)<=Hc,ye=ve?0:Eo(de),Be=Se>1?q/(Se-1):0;return n.jsx("div",{className:ve?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ye,"--i":q,"--mix":Be}},q)}),[Se,N,S,W,w]);return n.jsxs("div",{className:"audio-player__wave",ref:b,style:X,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${ae?"is-ready":""}`,"aria-hidden":"true",children:pe}),m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ue?"is-ready":""}`,ref:f,children:P}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ue?"is-ready":""}`,ref:s,style:M,children:P})]})]})}const A5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function jo(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(s.duration)&&s.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",c),s.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),s.src=e})}const B5=2e3;function Vc(e,t=B5){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,t)})}function N5({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(u=>{if(r.current=u,!u||!s.current.length)return;const d=s.current;s.current=[];for(const p of d)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),c=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(u=>{const d=m=>{clearTimeout(p),s.current=s.current.filter(f=>f!==d),u(m)},p=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const u=s.current;s.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function D5(){const e=o.useRef([]),t=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:t,keepOnly:a,revokeAll:r}}function S5({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=t.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:t,rect:a,show:i,hide:s}}function E5({currentTime:e,sources:t,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(t)&&t.length>0?t[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function j5(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function T5({ended:e,completedByEnd:t}){return!!e||!!t}function M5(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function L5(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function $5(e,t,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),c=a(l,t);c&&s.push({code:l,resolvedPath:c})}}return s}function R5(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===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 P5({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=o.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,f=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:R5(p),b=t.current;if(f===null)try{b&&b.style.visibility!=="hidden"&&(b.style.visibility="hidden")}catch{}else{const C=E5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:f});try{b&&(b.style.visibility&&(b.style.visibility=""),b.style.left=`${C*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(C))}catch{}}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,s]),u=o.useCallback(d=>{l();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[l,t,a]);return o.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:u}}function To({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=be.useTranslation(),p=e,m=ar(),f=o.useRef(m?.registerAnalyser);o.useEffect(()=>{f.current=m?.registerAnalyser});const b=o.useRef(null),C=o.useRef(null),y=o.useRef(null),_=D5(),h=o.useRef(null),v=o.useRef(!1),x=o.useRef(0),g=o.useRef(null),{ref:k,rect:w,show:B,hide:N}=S5();o.useEffect(()=>()=>{f.current?.("main",null),f.current?.("noise",null)},[]);const[A,D]=o.useState(!1),[F,$]=o.useState("idle"),[R,U]=o.useState("stopped"),E=o.useRef("stopped");o.useEffect(()=>{E.current=R},[R]);const[T,V]=o.useState(0),[Y,K]=o.useState("active"),G=o.useRef(!1);o.useEffect(()=>{if(Y!=="playMode"||!G.current)return;G.current=!1;const z=typeof document<"u"?document.activeElement:null;if(z&&z!==document.body)return;const ie=y.current?.querySelectorAll("button")[1];try{ie?.focus()}catch{}},[Y]);const[J,O]=o.useState(null),[I,S]=o.useState(null),[H,P]=o.useState(0),[M,L]=o.useState(!1),[X,W]=o.useState(0),ae=m?.playbackRate??1,ue=m?.mainVolume??1,Se=m?Bo(m.settings):0,pe=m?Pc(m.settings):ue,[re,q]=o.useState("idle"),[se,de]=o.useState(""),[ve]=o.useState("top"),ye=o.useRef(null),Be=o.useRef(0),he=o.useRef(null),{start:ke,stop:je,settleTo:oe}=P5({audioRef:b,fillRef:C,waveProgressRef:he,sourcesRef:ye,currentIndexRef:Be}),{onReadyChange:ee,waitForReady:fe,markNotReady:te}=N5({showSoundWaveForm:c,showNoiseWaveForm:u}),ge=o.useRef(null),_e=o.useRef(s),Ye=o.useRef(r),He=o.useRef(null),Ue=o.useRef(!1),[Ee,Ge]=o.useState(!1),$e=o.useCallback(z=>{Ue.current=z,Ge(z)},[]),Ie=o.useRef(null),{activeNoiseUrl:Ve,noiseSettingsRef:at,fadeInNoise:ot,fadeOutNoise:We}=y5({noisePlayer:m,audioRef:b,playbackStateRef:E}),{startTTS:Xe,stopTTS:gt}=v5({ttsText:i,playbackRate:ae,mainVolume:pe,fillRef:C,waveProgressRef:he,setProgress:V,setPlaybackState:U,setStateLocal:K,fadeInNoise:ot,fadeOutNoise:We,noiseSettingsRef:at,onDoneRef:Ye,handleEndRef:Ie});o.useEffect(()=>{yt.current=gt});const Bt=z=>{if(typeof window>"u"||!window.speechSynthesis){try{de(d("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Xe(z);return}Dt("tts"),Xe(z)},jt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],dt=(!jt||jt.length===0)&&!!i,Qe=Array.isArray(J)&&J.length>0?J:Array.isArray(I)&&I.length>0?I:null,Ze=Math.max(Array.isArray(Qe)?Qe.length:0,jt.length),Oe=o.useRef(!0);o.useEffect(()=>(Oe.current=!0,()=>{Oe.current=!1}),[]);const rt=o.useRef(0),et=()=>{rt.current+=1,x.current+=1},yt=o.useRef(null),ze=o.useRef(null),it=o.useRef(null),Nt=o.useRef(null);Nt.current||(Nt.current=()=>{it.current=null;const z=b.current;if(ze.current==="audio"&&z&&!z.paused){rt.current+=1,x.current+=1;try{z.pause()}catch{}Oe.current&&U("paused")}else if(ze.current==="tts")try{yt.current?.()}catch{}});const Dt=z=>{ze.current=z,it.current=Xa(Nt.current)},Le=()=>{it.current?.(),it.current=null};o.useEffect(()=>()=>{Nt.current&&Ja(Nt.current)},[]);const Ke=o.useCallback(async(z,ie=3,ce=50)=>{const we=rt.current;for(let Ae=0;Ae<ie;Ae++){if(!Oe.current||we!==rt.current)return!1;try{return Dt("audio"),await z.play(),!0}catch(Me){if((Me instanceof Error||typeof Me=="object"&&Me&&"name"in Me?Me.name:void 0)==="AbortError"){if(we!==rt.current)return!1;await new Promise(nt=>setTimeout(nt,ce));continue}try{de(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{de(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),St=o.useCallback(()=>{const z=b.current;if(!z)return;const ie=()=>{U("playing"),K("playMode"),L(!0),ke();try{Sr(),Ia(z).then(Me=>{if(Oe.current)try{f.current?.("main",Me)}catch{}})}catch{}const Ae=at.current;Ae?.enabled&&(Ae?.volume??0)>0&&ot(Ae.volume)},ce=()=>{T5({ended:!!z?.ended,completedByEnd:Ue.current})||(U("paused"),je(),We())},we=()=>{try{const Ae=ye.current,Me=j5(Ae,Be.current);if(Me!==null){Be.current=Me,P(Me),L(!0);const nt=Ae?.[Me]&&Ae[Me].src;if(nt&&z){z.src=nt,z.load(),Ke(z).catch(()=>{});return}}}catch{}U("stopped"),V(1);try{if(z)try{z.currentTime=0}catch{}}catch{}je(),L(!1),We();try{!_e.current&&Ie.current&&Ie.current()}catch{}};return z.addEventListener("play",ie),z.addEventListener("pause",ce),z.addEventListener("ended",we),()=>{try{z.removeEventListener("play",ie),z.removeEventListener("pause",ce),z.removeEventListener("ended",we),je()}catch{}}},[ot,We,Ke,at,ke,je]);o.useEffect(()=>St(),[St]),o.useEffect(()=>{_e.current=s},[s]),o.useEffect(()=>{Ye.current=r},[r]),o.useEffect(()=>{if(s||Y!=="active")return;const z=g.current;if(!z)return;let ie=null;const ce=requestAnimationFrame(()=>{try{const we=z.getTotalLength();if(!we)return;const Ae=we*.2;z.style.strokeDasharray=`${we-Ae} ${Ae}`;const Me="triFlow_"+Math.random().toString(36).slice(2);ie=document.createElement("style"),ie.textContent=`@keyframes ${Me}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${we}}}`,document.head.appendChild(ie),z.style.animation=`${Me} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ce),ie?.remove()}},[Y,s]),o.useEffect(()=>{ye.current=J},[J]),o.useEffect(()=>{Be.current=H},[H]),o.useEffect(()=>{const z=y.current,ie=h.current;if(!z||!ie)return;let ce=null;const we=32,Ae=60,Me=()=>{try{const ft=Array.from(z.querySelectorAll(":scope > .button"));let ct=0;ft.forEach(mn=>{if(mn===ie)return;const dr=mn.getBoundingClientRect();ct+=dr.width});const wt=z.getBoundingClientRect().width,Wt=Math.max(0,Math.floor(wt-ct-8)),Pt=Ze;if(!Pt||Wt<=0){Array.from(ie.children).forEach(mn=>{try{mn.style.width=""}catch{}});return}let pn=Math.floor(Wt/Pt);pn>Ae&&(pn=Ae),pn<we&&(pn=Math.max(we,Math.floor(Wt/Pt))),Array.from(ie.querySelectorAll(".button")).forEach(mn=>{try{mn.style.width=`${pn}px`}catch{}})}catch{}},nt=requestAnimationFrame(Me);try{ce=new ResizeObserver(()=>{requestAnimationFrame(Me)}),ce.observe(z),ce.observe(ie),window.addEventListener("resize",Me)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{ce&&(ce.disconnect(),ce=null)}catch{}try{window.removeEventListener("resize",Me)}catch{}}},[J,I,Ze]),o.useEffect(()=>()=>{try{ge.current&&(clearTimeout(ge.current),ge.current=null),He.current&&(clearTimeout(He.current),He.current=null)}catch{}},[]);const xt=(z,ie)=>{O(z),W(ie),te(),S(M5(z)),ye.current=z},Tt=async(z,ie)=>{$e(!1),v.current=!1,z.src=ie,z.load(),await Vc(z),await fe()!==!1&&(D(!1),await Ke(z),K("playMode"),P(0),L(!0))},sn=async(z,ie=!1)=>{const ce=b.current;D(!0),$("measuring_duration");try{const we=await jo(z,{timeoutMs:1e4,rejectOnError:!0});xt([{src:z,objectUrl:null,duration:we}],we),$("ready"),ie&&ce&&await Tt(ce,z)}finally{v.current=!1,D(!1)}},tt=async(z,ie=!1)=>{const ce=b.current;D(!0),$("measuring_duration");try{const we=await Promise.all(z.map(Me=>jo(Me,{timeoutMs:1e4})));if(!Oe.current)return;const Ae=z.map((Me,nt)=>({src:Me,objectUrl:null,duration:we[nt]||0}));xt(Ae,L5(Ae)),$("ready"),ie&&ce&&Ae.length>0&&await Tt(ce,Ae[0].src)}finally{v.current=!1,D(!1)}},Kt=async(z=!1,ie=!0)=>{const ce=b.current,we=t?Array.isArray(t)?t:[t]:[];if(!we||we.length===0||!we.some(Boolean))return!1;if(v.current)return null;v.current=!0,ie&&D(!0),$("resolving");try{const Ae=$5(t,a,Fs),Me=[];let nt=0;for(const ft of Ae){let ct=ft.src??null,wt=null;if(!ct&&ft.resolvedPath){try{$("getting_signed_url"),ct=await Os(ft.resolvedPath)}catch{ct=null}if(!Oe.current)return!1;if(!ct)try{$("downloading");const Pt=await Hs(ft.resolvedPath);if(!Oe.current)return!1;if(Pt){const pn=Pt instanceof Blob?Pt:new Blob([Pt]);wt=_.track(URL.createObjectURL(pn)),ct=wt}}catch{$("error");try{de(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),K("active")}catch{}}}if(!ct)continue;let Wt=0;try{$("measuring_duration"),Wt=await jo(ct,{timeoutMs:3e3})}catch{Wt=0}if(!Oe.current){if(wt)try{URL.revokeObjectURL(wt)}catch{}for(const Pt of Me)if(Pt.objectUrl)try{URL.revokeObjectURL(Pt.objectUrl)}catch{}return!1}nt+=Wt||0,Me.push({...ft,src:ct,objectUrl:wt,duration:Wt})}if(xt(Me,nt),Me.length>0&&z&&ce){const ft=Me[0];$e(!1);try{_.keepOnly(Me.map(ct=>ct.objectUrl))}catch{}if($("ready"),v.current=!1,ft.src&&ce)try{if(ce.src=ft.src,ce.load(),await Vc(ce),await fe()===!1)return!1;ie&&D(!1),ce&&await Ke(ce)}catch{ie&&D(!1)}else ie&&D(!1);K("playMode"),P(0),L(!0)}return Me.length>0}finally{v.current=!1,ie&&D(!1),$(Ae=>Ae==="ready"?"ready":"idle")}},kn=async()=>{const z=b.current;if(!(!z&&!dt)){if(dt){const ie=window.speechSynthesis;if(Y==="active"){const ce=Br(),we=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ce&&we.length>0){K("load"),D(!0),$("resolving"),v.current=!0;try{const Ae=await Promise.all(we.map(Me=>Promise.resolve(ce(Me))));Ae.length>1?await tt(Ae,!0):await sn(Ae[0],!0)}catch{v.current=!1,D(!1),K("active"),Bt(we.length>0?we:void 0)}return}Bt(we.length>0?we:void 0);return}if(Y==="playMode"){const ce=!!ie&&(ie.speaking||ie.paused)&&!(z&&(z.currentSrc||z.getAttribute("src")));if(z&&!ce){if(z.paused){if(Ue.current){await _t();return}await Ke(z),U("playing")}else et(),z.pause(),U("paused");return}try{if(ie&&ie.paused)try{Dt("tts"),ie.resume(),U("playing")}catch{}else try{ie.pause(),U("paused")}catch{}}catch{}}return}if(Y==="active"){if(s&&Array.isArray(ye.current)&&ye.current.length>0){const ce=ye.current[0];try{if(ce.src&&z)try{z.src=ce.src,z.load(),z&&await Ke(z)}catch{}K("playMode"),P(0),L(!0);return}catch{}}K("load");let ie;try{ie=await Kt(!0)}catch{ie=!1}if(ie===!1&&Oe.current){try{de(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}K("active")}return}if(Y!=="load"&&(Y==="playMode"||Y==="active"))try{if(z&&z.paused){if(Ue.current){await _t();return}z&&await Ke(z),U("playing")}else z&&(et(),z.pause(),U("paused"))}catch(ie){(ie instanceof Error||typeof ie=="object"&&ie&&"name"in ie)&&ie.name}}},_t=async()=>{const z=b.current;if(z)try{const ie=ye.current;if(Array.isArray(ie)&&ie.length>1){await Yt(0);return}$e(!1);try{z.currentTime=0}catch{}z&&await Ke(z),U("playing"),K("playMode")}catch{}},zt=()=>{if(et(),Le(),dt){gt();return}const z=b.current;try{if(z){try{z.pause()}catch{}try{z.currentTime=0}catch{}}}catch{}We(),U("stopped"),K("active"),V(0),L(!1)},Jt=async(z,{sameSegment:ie=!1}={})=>{const ce=++x.current,we=b.current,Ae=ye.current?.[z]?.src;try{if($e(!1),P(z),L(!0),Be.current=z,!Ae||!we||(ie||te(),we.src=Ae,we.load(),!ie&&await fe()===!1)||ce!==x.current||(await Ke(we),ce!==x.current))return;U("playing"),K("playMode")}catch{}},an=async()=>{const z=ye.current,ie=Be.current||0;if(!z||ie<=0){await _t();return}await Jt(ie-1)},ln=async()=>{const z=ye.current,ie=Be.current||0;if(!z||ie>=z.length-1){zt();return}await Jt(ie+1)},Qt=()=>{if(Ue.current)return;const z=200,ie=340;$e(!0),et(),Le();try{V(1)}catch{}oe(1);try{q("hold")}catch{}try{const ce=b.current,we=dt&&!!ce?.src;if(!dt||we){if(ce){ce.pause();try{ce.currentTime=0}catch{}}}else gt();We()}catch{}try{U("stopped")}catch{}if(L(!1),!_e.current)try{He.current&&(clearTimeout(He.current),He.current=null),He.current=setTimeout(()=>{try{q("out")}catch{}He.current=setTimeout(()=>{try{typeof Ye.current=="function"&&Ye.current(!0)}catch{}try{q("idle")}catch{}He.current=null},ie)},z)}catch{}};o.useEffect(()=>{Ie.current=Qt});const An=o.useCallback(()=>de(""),[]),Yt=async z=>{(ye.current||[])[z]&&await Jt(z,{sameSegment:z===Be.current})},ht=R==="playing",cn=o.useMemo(()=>{if(!I||I.length<=1)return I;const z=I[H];return z?[z]:I},[I,H]),Zt=s===!0;o.useEffect(()=>{try{const z=b.current;z&&typeof z.playbackRate=="number"&&(z.playbackRate=ae||1)}catch{}},[ae]);const Mt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const z=b.current;if(!z)return;const ie=Math.max(0,Math.min(1,pe)),ce=Mt.current,we=()=>{ce.raf!==null&&(cancelAnimationFrame(ce.raf),ce.raf=null),ce.timer!==null&&(clearTimeout(ce.timer),ce.timer=null)};we();const Ae=Fa(z);if(z.paused||Math.abs(Ae-ie)<.001||typeof requestAnimationFrame!="function"){try{Dn(z,ie)}catch{}return}const Me=performance.now(),nt=()=>{const ft=Math.min(1,(performance.now()-Me)/150);try{Dn(z,Ae+(ie-Ae)*ft)}catch{}ce.raf=ft<1?requestAnimationFrame(nt):null};return ce.raf=requestAnimationFrame(nt),ce.timer=setTimeout(()=>{we();try{Dn(z,ie)}catch{}},200),we},[pe]);const un=re==="hold",Xt=re==="out",dn=Y==="playMode"&&!A&&!Ee||un||Xt,Ne=R!=="stopped"||un||Xt,Pe=R==="paused",ne=Math.max(0,Math.min(100,(T||0)*100)),Ce=De("audio-player__fill",dn?"is-visible":"",Ne?"is-expanded":"",Pe?"is-paused":"",Xt?"is-out":"");return n.jsxs("div",{className:`audio-player ${Zt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${ht?"is-playing":""} ${A?"is-loading":""} ${Y!=="default"?"is-revealed":""}`,children:[A?n.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:d(`training.audioStatus.${F}`,{defaultValue:A5[F]})})]}):null,Y==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Zt,onClick:()=>{G.current=Qa(),N(),kn()},"aria-label":typeof p=="string"?p:d("training.listen","\uB4E3\uAE30"),onMouseEnter:B,onMouseLeave:N,onFocus:B,onBlur:N,children:n.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:g,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,w&&n.jsx(bn,{anchorRect:w,text:typeof p=="string"&&p?p:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${Y==="playMode"||ht?"is-visible":""}`,inert:!(Y==="playMode"||ht)||void 0,children:[n.jsxs("div",{ref:y,className:"audio-player__buttons",children:[n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:an,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:ht?"pause":"play",onClick:kn,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":ht,width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:zt,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),Ze>1?n.jsx("div",{ref:h,className:"audio-player__source-buttons",children:Array.from({length:Ze}).map((z,ie)=>n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ie+1),onClick:()=>{try{Yt(ie)}catch{}},ariaLabel:d("training.sourcePlay",{n:ie+1}),variant:"transparent-white",selected:M&&H===ie,disabled:Y!=="playMode"||!(Array.isArray(J)&&J[ie]),showTooltipInfo:!0},ie))}):null,!Array.isArray(J)||J.length<=1?n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:_t,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}):null,n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ln,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Qt,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:Ce,ref:C,style:{left:`${ne}%`},"aria-hidden":"true"}),(c||u)&&n.jsx(k5,{segments:cn,progress:T,totalDuration:X,waveProgressRef:he,showSoundWaveForm:c,noiseSrc:u&&m?.settings.enabled&&Se>0?Ve:null,noiseRatio:m?Ta(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ue,onReadyChange:ee})]})]}),n.jsx("audio",{ref:b,crossOrigin:"anonymous",preload:"auto"})]}),!c&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(qe,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(ta,{message:se,position:ve,onClose:An})]})}function or(e){const{t}=be.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:p,decrease:m,canIncrease:f,canDecrease:b,fontSize:C,lineHeight:y}=Zi({storageKey:"tooltip-fontScale"}),_=o.useCallback(()=>d(k=>k==="dark"?"light":"dark"),[]),h=o.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),v=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],x={fontSize:`${C}px`,lineHeight:`${y}px`,"--tt-line-height":`${y}px`,"--tt-marker-size":"28px"},g=n.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:x,children:v.map((k,w)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[v.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!b}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!f}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:_,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:h,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return s?n.jsx(gn,{anchorRect:s,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:g}):n.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:g})}function zc({state:e="disabled"}){const{t}=be.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(qe,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function Wc(e,t,a){const r=o.useRef(t),s=o.useRef(a);o.useEffect(()=>{r.current=t,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=r.current(),d=u?Array.from(u.querySelectorAll(Cn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function qc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:p=!1}){const{t:m}=be.useTranslation(),f=tn("(max-width: 767px)"),b=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),C=`training-step__title-row training-step__title-row--${r}`.trim(),y=o.useRef(null),[_,h]=o.useState(!1),[v,x]=o.useState(null),[g,k]=o.useState(null);Wc(_&&!!v,()=>{if(typeof document>"u")return null;const D=Array.from(document.querySelectorAll(".tooltip-content"));for(let F=D.length-1;F>=0;F--)if(D[F].querySelector(".tooltip-textbox__root"))return D[F];return null},()=>y.current?.querySelector("button")??null);const w=o.useRef(i);o.useEffect(()=>{w.current=i});const B=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(D=>typeof D=="string"||typeof D=="number")?l.join(""):"",[l]),N=o.useCallback(()=>{h(!1),x(null),k(null)},[]);o.useEffect(()=>{if(!_)return;let D;try{typeof w.current=="function"&&(D=w.current())}catch{}if(D===!1){N();return}k(typeof D<"u"&&D!==null?D:null)},[B]);const A=o.useCallback(()=>{let D;try{typeof i=="function"&&(D=i())}catch{}if(D!==!1){if(k(typeof D<"u"&&D!==null?D:l),!y.current){h(F=>!F);return}if(_)h(!1),x(null),k(null);else{const F=y.current.getBoundingClientRect();x(F),h(!0)}}},[i,l,_]);return n.jsxs("div",{className:C,children:[n.jsx("p",{className:b,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),s||u?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[u&&n.jsx(le,{htmlType:"button",size:32,type:f?"dot":"bar",icon:"play-circle",label:f?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&&n.jsx("div",{ref:y,children:n.jsx(le,{htmlType:"button",size:32,type:f?"dot":"bar",icon:"eye",label:f?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:A,className:_?"is-selected":void 0,"aria-expanded":_,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),_&&n.jsx(or,{text:g??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:v,onClose:N,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Mo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function zn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0}){const{t:d}=be.useTranslation(),[p,m]=o.useState(()=>Mo(e,t));o.useEffect(()=>{const k=Mo(e,t);if(k!==p){const w=setTimeout(()=>m(k),0);return()=>clearTimeout(w)}},[e,t,p]);const f=o.useCallback((...k)=>{Mo(e,t)==="done"||p==="done"||typeof c=="function"&&c(...k)},[e,t,p,c]),[b,C]=o.useState(!1),[y,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),h=o.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const A=w.currentTarget??w.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(k instanceof DOMRect)return k;const B=k;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect();const N=k?.current;return N&&typeof N.getBoundingClientRect=="function"?N.getBoundingClientRect():null}catch{return null}},[]),v=o.useCallback((k,{text:w="",label:B="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:N=!1,alignX:A="center",alignY:D="top"}={})=>{const F=h(k);_({text:w,label:B,anchorRect:F,backdrop:N,alignX:A,alignY:D}),C(!0)},[h]),x=o.useCallback(()=>{C(!1),_(k=>({...k,anchorRect:null}))},[]),g=o.Children.map(i,k=>{if(o.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const B=w.props??{},N=typeof B.onDone=="function"?B.onDone:f,A=typeof B.disabled=="boolean";let D=p==="disabled";return A&&(D=!!B.disabled),o.cloneElement(w,{onDone:N,disabled:D,showTooltip:v,hideTooltip:x})}return k});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(zc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(qc,{state:p,title:r,...s,useFaded:u}),g]}),b?n.jsx(gn,{anchorRect:y.anchorRect,backdrop:y.backdrop,onClose:x,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(or,{text:y.text,onClose:x})}):null]})}function Uc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=be.useTranslation(),[s,i]=o.useState("disabled"),[l,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c(R=>R==="dark"?"light":"dark"),{increase:d,decrease:p,canIncrease:m,canDecrease:f,fontSize:b,lineHeight:C}=Zi({storageKey:"textbox_fontScale"}),[y,_]=o.useState(""),h=o.useRef(null),v=o.useRef(!1),x=o.useCallback(()=>{v.current=Qa()&&!!h.current&&h.current.contains(document.activeElement),i("active")},[]),g=o.useCallback(()=>_(""),[]),k=R=>{try{_(R)}catch{}},w=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const R=setTimeout(()=>i(t),0);return()=>clearTimeout(R)}},[t]);const B=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[N,A]=o.useState(B);N!==B&&(A(B),i("disabled"));const D=t==="disabled"?s:t,F=D==="disabled"?"training-text-box--disabled":D==="active"?"training-text-box--active":D==="done"?"training-text-box--done":"",$=o.useMemo(()=>({fontSize:`${b}px`,lineHeight:`${C}px`}),[b,C]);return o.useEffect(()=>{if(D==="disabled"||!v.current)return;v.current=!1;const R=document.activeElement;R&&R!==document.body||h.current?.querySelector(".training-text-box__buttons button")?.focus()},[D]),n.jsxs("div",{ref:h,className:`training-text-box ${F} ${D!=="disabled"&&l==="dark"?"is-dark":""}`,children:[D==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(le,{htmlType:"button",size:48,type:"bar",onClick:x,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":D==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:$,children:B})}),D!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":D==="disabled",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>k(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:!f,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>k(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,...!w&&{width:"60px"}}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(ta,{message:y,position:"top",onClose:g})]})}function Lo({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:c,wrongAnswers:u,choices:d,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:f=!1,choiceIcons:b,shuffleChoices:C=!0}){const{t:y}=be.useTranslation(),_=r??y("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),h=typeof e=="number"?e:-1,v=typeof t!="number"?"disabled":h<t?"done":h===t?"active":"disabled",x=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,g=u?u.join("||"):"",k=d?d.join("||"):"",[w,B]=o.useState(()=>Array.isArray(x)?C?Ca(x):x.slice():void 0);o.useEffect(()=>{Array.isArray(x)&&x.length?B(C?Ca(x):x.slice()):B(void 0)},[c,g,k,C]);const[N,A]=o.useState(null),[D,F]=o.useState(()=>new Set);o.useEffect(()=>{A(null),F(new Set)},[k,c,g]);const $=o.useRef(void 0);o.useEffect(()=>{const E=$.current;typeof E=="number"&&typeof t=="number"&&typeof e=="number"&&E>=e&&t<e&&(A(null),F(new Set)),$.current=t},[t,e]);const R=o.useCallback(E=>{if(v!=="active")return;const T=w?.[E];if(T==null)return;const V=T,Y=v==="active"||v==="done";if(p){const K=new Set(D),G=K.has(V);G?K.delete(V):K.add(V),F(K),typeof l=="function"&&l({selectedValues:[...K],__ts:Date.now()}),Y&&(typeof m=="number"&&m>0?K.size>=m:!G)&&typeof i=="function"&&v==="active"&&i({selectedValues:[...K],__ts:Date.now()})}else A(V),typeof l=="function"&&l({selectedIndex:E,selectedValue:V,__ts:Date.now()}),Y&&typeof i=="function"&&v==="active"&&i({selectedIndex:E,selectedValue:V,__ts:Date.now()})},[w,v,p,l,i,m,D]),U=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(zn,{index:e,stepIndex:t,isLast:a,title:_,useTitleFaded:s,children:n.jsx("div",{className:U,children:Array.isArray(w)&&w.length>0?w.map((E,T)=>n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:()=>R(T),ariaLabel:String(E),label:E,useLabel:!0,icon:b?b[String(E)]:void 0,variant:"default",disabled:v==="disabled",selected:p?D.has(E):N===E,useDisabledCovered:f,minWidth:0},String(E))):null})})}function $o({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:c}){const{t:u}=be.useTranslation(),d=r??u("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 t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",f=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",b=l&&typeof l=="object"?l.choices:void 0,[C,y]=o.useState(c??null),_=`${String(f)}\0${JSON.stringify(b??null)}`,[h,v]=o.useState(_);h!==_&&(v(_),c==null&&y(null));const[x,g]=o.useState(c);Object.is(x,c)||(g(c),y(c??null));const k=o.useRef(void 0);o.useEffect(()=>{const A=k.current;typeof A=="number"&&typeof t=="number"&&typeof e=="number"&&A>=e&&t<e&&c==null&&y(null),k.current=t},[t,e,c]);const w=o.useCallback(A=>{const D=typeof A=="object"&&A!==null?Object.assign({},A,{__ts:Date.now()}):{value:A,__ts:Date.now()};typeof i=="function"&&i(D),m==="active"&&typeof s=="function"&&s(D)},[i,m,s]),B=o.useCallback(()=>{m==="active"&&(y(!1),w(!1))},[w,m]),N=o.useCallback(()=>{m==="active"&&(y(!0),w(!0))},[w,m]);return n.jsxs(zn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(Uc,{context:l,state:m}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(b)&&b.length>0?b.slice(0,6).map((A,D)=>n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(y(D),w&&w(D))},disabled:m==="disabled",ariaLabel:String(A),label:A,variant:m,selected:C===D},D)):n.jsxs(n.Fragment,{children:[n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!1}),n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:m==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!0})]})})]})}function Ro({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:p,disabled:m,_pageIndex:f,showSoundWaveForm:b,showNoiseWaveForm:C}){const{t:y}=be.useTranslation(),_=r??y("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),h=m??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(zn,{index:e,stepIndex:t,isLast:a,title:_,onDone:s,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:p},children:n.jsx(To,{soundSrc:l,ttsText:l?null:d??_,bucketPath:c,btnLabel:i||y("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:h,className:"training-step__listen-sticky",showSoundWaveForm:b,showNoiseWaveForm:C},`audio-p${f??0}-s${e}`)})}const I5=[];function Po({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=I5}){const{t:c}=be.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=I=>typeof I=="string"?I:I&&(I.context||I.sentence||I.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[f,b]=o.useState(()=>(p||[]).map((I,S)=>({id:S,text:d(I)}))),C=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),y=C!=="disabled",_=o.useRef(void 0);o.useEffect(()=>{if(_.current===l)return;_.current=l;const I=Array.isArray(l)?l:[];m(I);const S=(H=>{const P=(H||[]).map((W,ae)=>({id:ae,text:d(W)}));if(P.length<=1)return P;const M=(W,ae)=>{if(W.length!==ae.length)return!1;for(let ue=0;ue<W.length;ue++)if(W[ue].text!==ae[ue].text)return!1;return!0};let L=Ca(P),X=0;for(;M(L,P)&&X<20;)L=Ca(P),X+=1;return L})(I);b(S);try{if(typeof i=="function"){const H=S.filter((P,M)=>P.text===d(I[M])).length;i({shuffled:S,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&C==="active"){const H=S.filter((P,M)=>P.text===d(I[M])).length;s({shuffled:S,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const h=(I,S)=>{const H=[...f],P=I+S;if(P<0||P>=H.length)return;const M=H[P];H[P]=H[I],H[I]=M,T(H);try{if(typeof s=="function"&&C==="active"){const L=H.filter((X,W)=>X.text===d(p[W])).length;s({shuffled:H,score:L,total:(p||[]).length,__ts:Date.now()})}}catch{}},[v,x]=o.useState(null),g=o.useRef(null),k=o.useRef(null),w=o.useRef(null),B=o.useRef(null),N=o.useRef(null),A=o.useRef({x:0,y:0}),D=o.useRef(null),F=o.useRef({dx:0,dy:0}),$=()=>{if(D.current!==null)return;const I=()=>{if(!g.current){D.current=null;return}D.current=requestAnimationFrame(I);const S=A.current,H=F.current||{dx:0,dy:0};g.current&&(g.current.style.transform=`translate3d(${S.x-H.dx}px, ${S.y-H.dy}px, 0)`)};D.current=requestAnimationFrame(I)},R=o.useRef(new Map),U=o.useRef(new Map),E=()=>{const I=new Map;return R.current.forEach((S,H)=>{S&&S.getBoundingClientRect&&I.set(H,S.getBoundingClientRect())}),I},T=I=>{const S=E();b(I);try{if(typeof i=="function"){const H=I.filter((P,M)=>P.text===d(p[M])).length;i({shuffled:I,score:H,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=E();I.forEach(P=>{const M=S.get(P.id),L=H.get(P.id),X=R.current.get(P.id);if(!X||!M||!L)return;const W=M.top-L.top;W&&(X.style.transition="none",X.style.transform=`translateY(${W}px)`,requestAnimationFrame(()=>{X.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",X.style.transform="";const ae=()=>{X.style.transition="",X.removeEventListener("transitionend",ae)};X.addEventListener("transitionend",ae)}))})})},V=(I,S)=>{try{try{S.dataTransfer?.setData("text/plain",String(I))}catch{}try{S.dataTransfer&&(S.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),S.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}x(I);try{const H=f[I],P=document.createElement("div");P.className="order-list__dragging-object order-list__dragging-object--visible",P.textContent=H&&H.text?H.text:"",document.body.appendChild(P),g.current=P;const M=R.current.get(H.id);let L=S.clientX||0,X=S.clientY||0;try{if(M&&M.getBoundingClientRect){const re=M.getBoundingClientRect();L=re.left+re.width/2,X=re.top+re.height/2}}catch{}const W=P.getBoundingClientRect(),ae=W.width/2,ue=W.height/2;F.current={dx:ae,dy:ue},P.style.transition="none",A.current={x:L,y:X},P.style.transform=`translate3d(${L-ae}px, ${X-ue}px, 0)`,requestAnimationFrame(()=>{try{P.style.transition=""}catch{}$()});const Se=re=>{const q=re;A.current={x:q.clientX,y:q.clientY},$()};w.current=Se,document.addEventListener("mousemove",Se);const pe=re=>{const q=re;A.current={x:q.clientX,y:q.clientY},$()};k.current=pe,document.addEventListener("dragover",pe);try{S.dataTransfer?.setData("text/plain",String(I));try{S.dataTransfer?.setData("application/json",JSON.stringify({idx:I}))}catch{}}catch{}}catch{}},Y=(I,S)=>{S.preventDefault();try{S.dataTransfer&&(S.dataTransfer.dropEffect="move")}catch{}try{N.current!==null&&(clearTimeout(N.current),N.current=null);const H=S.currentTarget&&S.currentTarget.closest?S.currentTarget.closest(".order-list__item"):null;if(H&&B.current!==H){if(B.current)try{B.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}B.current=H}}catch{}},K=(I,S)=>{S.preventDefault();const H=S.dataTransfer?.getData("text/plain")||"",P=H?parseInt(H,10):v,M=I;if(typeof P!="number"||isNaN(P)||P===M){x(null),O(),G();return}const L=b2(f,P,M);T(L),x(null),G();try{if(typeof s=="function"&&C==="active"){const X=L.filter((W,ae)=>W.text===d(p[ae])).length;s({shuffled:L,score:X,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const X=document.querySelectorAll(".order-list .order-list__item")[M];if(!X)return;const W=X.querySelector(".order-list__slot")||X;try{W.classList.add("pulse"),W.offsetHeight,W.classList.add("to-dark");const ae=()=>{W.classList.remove("pulse","to-dark"),W.removeEventListener("transitionend",ae)};W.addEventListener("transitionend",ae)}catch{}})}catch{}O()},G=()=>{if(g.current){try{document.body.removeChild(g.current)}catch{}g.current=null}k.current&&(document.removeEventListener("dragover",k.current),k.current=null),w.current&&(document.removeEventListener("mousemove",w.current),w.current=null),D.current!==null&&(cancelAnimationFrame(D.current),D.current=null)},J=()=>{x(null),O(),G()};o.useEffect(()=>()=>G(),[]);const O=()=>{try{if(N.current!==null&&(clearTimeout(N.current),N.current=null),B.current){try{B.current.classList.remove("drag-over")}catch{}B.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(I=>I.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const I=Math.max(1,(f||[]).length);f.forEach((S,H)=>{const P=U.current.get(S.id);if(!P)return;let M=50;I>1&&(M=Math.round(H/(I-1)*100));try{P.style.setProperty("--marker-pos",M+"%")}catch{}})}catch{}},[f]),o.useEffect(()=>()=>{G(),N.current!==null&&(clearTimeout(N.current),N.current=null)},[]),n.jsx(zn,{index:e,stepIndex:t,isLast:a,title:u,children:n.jsx("div",{className:"order-list",children:f.map((I,S)=>{const H=Math.max(1,(f||[]).length),P=H>1?Math.round(S/(H-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":C==="disabled","aria-disabled":C==="disabled",children:[C!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":P+"%"},ref:M=>{const L=U.current;M?L.set(I.id,M):L.delete(I.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:S+1})}):null,n.jsxs("div",{ref:M=>{const L=R.current;M?L.set(I.id,M):L.delete(I.id)},className:`order-list__draggable ${v===S?"dragging":""}`,"data-disabled":C==="disabled","aria-disabled":C==="disabled",tabIndex:C==="disabled"?-1:0,draggable:y,onDragStart:y?M=>V(S,M):void 0,onDragEnter:y?M=>Y(S,M):void 0,onDragOver:y?M=>Y(S,M):void 0,onDragLeave:y?()=>{try{N.current!==null&&clearTimeout(N.current),N.current=setTimeout(()=>{try{const M=document.querySelectorAll(".order-list .order-list__item");M&&M[S]&&(M[S].classList.remove("drag-over"),B.current===M[S]&&(B.current=null))}catch{}},80)}catch{}}:void 0,onDrop:y?M=>K(S,M):void 0,onDragEnd:y?J:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:I.text}),y?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:()=>h(S,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:S===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:()=>h(S,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:S===f.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},I.id)})})})}const F5=8e3;function O5(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function Gc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:c=!1,hideLabel:u=!1,hideAudio:d=!1,maxCards:p}){const{t:m}=be.useTranslation(),f=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]),C=p??3,y=(b||[]).slice(0,C);(b||[]).length>C&&console.warn(`TrainingStepCard: ${b.length} items passed but only ${C} shown`);const _=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[v,x]=o.useState(null),g=o.useRef([]),[k,w]=o.useState(!1),B=o.useRef(null),N=o.useRef(!0);o.useEffect(()=>(N.current=!0,()=>{N.current=!1}),[]);const A=o.useMemo(()=>b.map(U=>U?.id??U?.word??"").join("|"),[b]);o.useEffect(()=>{x(null)},[A]);const D=o.useRef(void 0);o.useEffect(()=>{const U=D.current;typeof U=="number"&&typeof t=="number"&&typeof e=="number"&&U>=e&&t<e&&x(null),D.current=t},[t,e]);const F=o.useCallback((U,E)=>{if(c)return;const T={item:U,index:E,__ts:Date.now()};try{typeof i=="function"&&i(T)}catch{}if(h==="active"&&typeof s=="function")try{s(T)}catch{}},[c,i,h,s]),$=o.useCallback(async()=>{if(k||h==="disabled")return;w(!0);let U=!1;const E=new Promise(T=>{B.current=()=>{U=!0,T()}});try{for(let T=0;T<y.length&&!(!N.current||U);T++){const V=g.current[T];V&&await Promise.race([O5(V.play(),F5),E])}}finally{B.current=null,w(!1)}},[k,h,y.length]),R=o.useCallback((U,E)=>{if(h!=="active")return;x(E);const T={selectedValue:U.word||U.title||"",selectedIndex:E,item:U,__ts:Date.now()};try{typeof i=="function"&&i(T)}catch{}if(h==="active"&&typeof s=="function")try{s(T)}catch{}},[i,h,s]);return n.jsx(zn,{index:e,stepIndex:t,isLast:a,title:f,onDone:s,titleProps:{usePlayAllBtn:!d&&y.length>0,onPlayAll:$,playAllActive:k},children:n.jsx("div",{className:"training-step__cards",onClickCapture:U=>{const E=B.current;if(!E)return;const T=U.target;T&&typeof T.closest=="function"&&T.closest(".training-word-card__bottom")&&E()},children:y.length===0?n.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):y.map((U,E)=>n.jsx(go,{ref:T=>{g.current[E]=T},item:U,disabled:h==="disabled",onPlayDone:()=>F(U,E),selectable:c,selected:c&&v===E,onSelect:c?()=>R(U,E):void 0,flipDelay:E*120,hideLabel:u,hideAudio:d},U&&U.id||E))})})}const H5=160,V5={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function z5(e,t){const a=V5[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const Kc=()=>{};function Tn(e){const t=o.useId();if(!("variant"in e)){const{label:h,sub:v,onClick:x,children:g,align:k="horizontal",icon:w}=e,B=N=>{x&&N.target===N.currentTarget&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),x())};return n.jsxs("div",{className:De("panel-row",k==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?B:void 0,role:x?"button":void 0,tabIndex:x?0:void 0,children:[w!=null&&n.jsx("div",{className:"panel-row__icon",children:w}),h!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:h}),v&&n.jsx("div",{className:"panel-row__sub caption-1",children:v})]}),n.jsx("div",{className:"panel-row__right",children:g})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx(Sa,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:p}=e,m=a==="button"?void 0:i;let f=null;const b=a==="toggle"?`panel-toggle-${t}`:void 0,C=c?`panel-error-${t}`:void 0;if(a==="toggle"){const h=e;f=n.jsx(Ll,{checked:h.checked,onChange:h.onChange,id:b})}else if(a==="segmented"){const h=e;f=n.jsx(Sn,{options:h.options,value:h.value,onChange:h.onChange,size:h.size??40,ariaLabel:r})}else if(a==="dropdown"){const h=e,v=h.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:h.dropdowns.map((x,g)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(nn,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:d,error:!!c,ariaDescribedBy:C,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},g))}):n.jsx(nn,{options:h.options??[],value:h.value??"",onChange:h.onChange??Kc,block:d,error:!!c,ariaLabel:r,ariaDescribedBy:C});f=c?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[v,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}):v}else if(a==="button"){const h=e;h.buttons?.length?f=n.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((v,x)=>n.jsx(le,{htmlType:"button",size:v.btnSize??40,variant:v.btnVariant??"default",disabled:v.disabled,onClick:v.onClick,children:v.label},x))}):f=n.jsx(le,{htmlType:"button",size:h.btnSize??40,variant:h.btnVariant??"default",disabled:h.disabled,onClick:h.onClick,children:h.buttonLabel})}else if(a==="text"){const h=e;f=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:h.valueColor?{color:h.valueColor}:void 0,children:h.value})}else if(a==="input"){const h=e;f=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(Vn,{value:h.value,onChange:h.onChange??Kc,onKeyDown:h.onKeyDown,onEnter:h.onEnter,placeholder:h.placeholder,inputMode:h.inputMode,readOnly:h.readOnly,disabled:h.disabled,type:h.type,autoComplete:h.autoComplete,maxLength:h.maxLength,showCount:h.showCount,multiline:h.multiline,rows:h.rows,fullWidth:d,error:c,ariaLabel:r,required:l}),h.helperText&&n.jsx("div",{className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(f=e.children);c&&a!=="input"&&a!=="dropdown"&&(f=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[f,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const y=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=h=>{m&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),m())};return n.jsxs("div",{className:De("panel-row",u==="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&&n.jsx("div",{className:"panel-row__icon",children:p}),n.jsxs("div",{className:"panel-row__left",children:[b?n.jsxs("label",{htmlFor:b,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),s&&n.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),n.jsx("div",{className:"panel-row__right",children:f})]})}function Yc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function W5({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=be.useTranslation();return n.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 n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&t&&n.jsx(le,{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:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(mt,{size:"small",variant:Xl(i.device),fill:"soft",label:z5(i.device,r)}),Yc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Yc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),mo(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:mo(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function sr({title:e,icon:t,disc:a,actions:r,size:s="medium",minHeight:i,maxWidth:l,className:c,scrollable:u,scrollbarGutter:d="auto",compactRows:p=!1,useBorder:m=!0,useBg:f=!0,useRowBorder:b=!0,labelWidth:C,form:y=!1,loading:_,empty:h,children:v}){const x=De("panel",`panel--${s}`,y?"panel--form":"",i!==void 0?"panel--fill":"",m?"":"panel--no-border",f?"":"panel--no-bg",b?"":"panel--no-row-border",p?"panel--compact-rows":"",c),g={};return i!==void 0&&(g.minHeight=i),l!==void 0&&(g.maxWidth=typeof l=="number"?`${l}px`:l),C!==void 0&&(g["--panel-label-width"]=typeof C=="number"?`${C}px`:C),n.jsxs("div",{className:x,style:Object.keys(g).length?g:void 0,children:[(e!=null||a!=null)&&n.jsxs("div",{className:De("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&n.jsx(qe,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[e!=null&&n.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&n.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&n.jsx("div",{className:"panel__actions",children:r})]}),_?n.jsx(Tn,{variant:"loading"}):h!=null&&o.Children.toArray(v).length===0?n.jsx(Tn,{variant:"empty",children:h}):u?n.jsx("div",{className:De("panel__body--scroll",d==="stable"&&"panel__body--gutter-stable"),children:v}):v]})}function q5({cols:e=2,children:t}){return n.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function U5(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 Zc(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"}]}U5(kt.t.bind(kt)),Zc(kt.t.bind(kt));const Io="none",G5=.5,K5=1.5,Y5=.25;function Fo({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:c,onChange:u}){return n.jsxs(Tn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(Ul,{value:a,onChange:u,min:r,max:s,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),n.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function Xc({anchorRect:e,onClose:t}){const{t:a}=be.useTranslation(),r=tn("(max-width: 767px)")?40:24,s=ar(),i=Ta(s?.settings??La),l=s?.settings.type??"defaultNoise",c=s?.settings.enabled??!0,u=s?.playbackRate??1,d=s?.mainVolume??1,p=Math.round(d*100),m=o.useCallback(y=>{try{s?.setMainVolume(Math.max(0,Math.min(1,y/100)))}catch{}},[s]),f=o.useCallback(y=>{try{s?.setPlaybackRate(y)}catch{}},[s]),b=o.useCallback(y=>{const _=Math.min(ja,Math.max(0,Math.round(y*10)/10));try{s?.setSettings({noiseRatio:_})}catch{}},[s]),C=o.useCallback(y=>{try{y===Io?s?.setSettings({enabled:!1}):s?.setSettings({type:y,enabled:!0})}catch{}},[s]);return n.jsx(gn,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(sr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Fo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),n.jsx(Fo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:G5,max:K5,step:Y5,size:r,onChange:f}),n.jsx(Tn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(Sn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Io,label:a("training.noise.type.none","\uC5C6\uC74C")},...Zc(a).map(y=>({key:y.value,label:y.label}))],value:c?l:Io,onChange:C})}),n.jsx(Fo,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:ja,step:$c,size:r,onChange:b})]})})}function Jc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1}){const{t:u}=be.useTranslation(),[d,p]=o.useState(!1),[m,f]=o.useState(null),[b,C]=o.useState(!1),y=o.useRef(null),_=o.useRef(null),h=ar(),v=c>0,x=v&&l<c-1,g=!v||l>=c-1,k=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),f(null))},[e]);const w=o.useCallback(()=>{p(!1),f(null)},[]),B=o.useCallback(()=>{if(d){p(!1),f(null);return}const D=y?.current?.getBoundingClientRect();D&&f(D),t?.(),p(!0)},[d,t]),N=o.useCallback(()=>{if(d){p(!1),f(null);return}const D=_?.current?.getBoundingClientRect();D&&f(D),t?.(),p(!0)},[d,t]),A=o.useCallback(()=>C(D=>!D),[]);return Wc(e&&d,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[y.current,_.current].map(D=>D?.querySelector("button")??null).find(D=>!!D&&D.getClientRects().length>0)??y.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:y,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:B,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:56,type:"dot",icon:"settings",onClick:N,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&n.jsx(le,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:A,selected:b,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&b&&n.jsxs("div",{className:"pp-bottom__meters",children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(co,{analyser:h?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),n.jsx(co,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),n.jsxs("div",{className:"pp-bottom__right",children:[g&&n.jsx(le,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!k}),x&&n.jsx(le,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!k})]}),e&&d&&n.jsx(Xc,{anchorRect:m,onClose:w})]})}function Qc({title:e,subtitle:t,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:p,onBack:m,onClose:f}){const{t:b}=be.useTranslation(),C=tn("(max-width: 767px)"),y=Number.isInteger(p)?p:c||0,_=Number.isInteger(d)?d:u||0,h=m||f,v=Array.isArray(r)?C?r[r.length-1]:r.join(" / "):r,x=typeof e=="string"?e.trim():e,g=typeof t=="string"?t.trim():t,k=!!(x||g),w=k?x||g:b("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),B=v||(x?t:void 0),N=C&&typeof B=="string"&&(B.includes(" \xB7 ")||B.includes(" / "))?B.split(/\s[·/]\s/).pop():B,A=o.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[h?n.jsx(le,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:b("common.back","\uB4A4\uB85C"),onClick:h,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:s?n.jsx(ec,{icon:s,label:e,tooltip:l,wrapperStyle:A}):null}),n.jsxs("div",{className:"pp-title__text",children:[N?n.jsx("span",{className:"pp-title__depth caption-1",children:N}):null,n.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:w}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(Zl,{max:Math.max(0,_??0),index:Math.max(0,y??0)})]})}function Z5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function X5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const eu=(e,t)=>{if(!t)return t;const a=typeof kt?.t=="function"?kt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function tu(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=li().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?eu(`topic.${i.key}`,i.label):void 0,l?eu(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Oo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function J5(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Q5({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=tu(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},p=t?.id||t?.title||s.length;return{id:`${e}:${p}`,meta:{...u,...d},pages:s,emptyMessage:i,buildResults:l}}function e3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function t3(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function n3(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function nu(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function a3(e,t,a,r){return nu(e,t*a+r)}function r3({payload:e,selected:t,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 t=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[t]));if(typeof t<"u")return r.some(s=>String(s)===String(t))}}function o3(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const au=o.createContext(null);function s3(){const e=o.useContext(au);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function i3({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:c}=be.useTranslation(),u=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":u<t?"done":u===t?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),f=JSON.stringify(s),b=s.length;o.useEffect(()=>{m(Array.from({length:b},()=>null))},[f]);const C=o.useRef(void 0);o.useEffect(()=>{const v=C.current;typeof v=="number"&&typeof t=="number"&&typeof e=="number"&&v>=e&&t<e&&m(Array.from({length:b},()=>null)),C.current=t},[t,e,b]);const y=o.useMemo(()=>p.filter(v=>v!==null).length+1,[p]),_=o.useCallback(v=>{if(d!=="active")return;const x=p;let g;if(x[v]!=null){const w=x[v];g=x.map(B=>B!==null&&B>=w?null:B)}else g=[...x],g[v]=y;m(g);const k={selectedOrder:g,words:s,__ts:Date.now()};try{typeof l=="function"&&l(k)}catch{}if(x[v]==null&&g.length>0&&g.every(w=>w!==null))try{typeof i=="function"&&i(k)}catch{}},[d,p,y,l,i,s]),h=r??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(zn,{index:e,stepIndex:t,isLast:a,title:h,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((v,x)=>n.jsx(go,{item:{word:v},disabled:d==="disabled",selectable:!0,selected:p[x]!==null,orderRank:p[x],onSelect:()=>_(x),flipDelay:x*120,hideLabel:!1,hideAudio:!0},`${v}-${x}`))})})}function ir(e){return null}ir.__isTrainingPage=!0;function la(e,t){const a=s3();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function ru({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=la(e,t);return n.jsx(Ro,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function ou({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Lo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function su({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx($o,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function iu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Po,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function lu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Gc,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function l3({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(i3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Ho(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,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 c3(e){return Ho(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function cu(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 t=Ho(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.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 uu(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=be.useTranslation(),p=o.useId(),m=o.useCallback(()=>!u,[u]);o.useEffect(()=>{const v=a??0;if(t!=null&&v>0&&t/v>.5){const x=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(x)}},[t,a]);const f=o.useCallback(v=>{const x=cu(v),g=Ho(v?.wording,v?.label);return x===!0?{variant:"main",label:g??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!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,C=t??0,y=o.useMemo(()=>Array.isArray(r)?r:[],[r]),_=o.useMemo(()=>y.map(v=>{const x=v??{},g=c3(x)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:k,label:w}=f(x),B=Array.isArray(x.corrects)?x.corrects:[],N=B.length?B.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,A=typeof x.selectedText=="string"?x.selectedText:null,D=cu(x)===!0;return{problem:g,variant:k,label:w,answer:N,selectedText:A,isCorrect:D}}),[y,f,d]),h=o.useMemo(()=>_.some(v=>v.answer!==null||v.selectedText!==null),[_]);return n.jsx(jn,{onClose:l,closeOnBackdrop:!1,inline:c,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:v,closeWithAnimation:x})=>n.jsxs(n.Fragment,{children:[u&&n.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.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(le,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>v(i)}),n.jsx(le,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?p:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&n.jsx("p",{className:"trp-result__subtitle body-3",children:s}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:C,total:b}),children:[n.jsx("span",{className:"trp-score__big",children:C}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:b})]})})]}),_.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${h?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),h&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),_.map((v,x)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:v.problem})]}),h&&n.jsxs("div",{className:"trp-row__answers",children:[v.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:v.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${v.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${v.isCorrect?"is-correct":"is-wrong"}`,children:v.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(mt,{variant:v.variant,label:v.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function u3(e){o.useEffect(()=>{if(!e)return;const t=()=>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)},c=()=>{r!=null&&(s+=Date.now()-r,r=null)};t()&&l();const u=()=>{if(c(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,x2({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u()}},[e])}function Vo(e,t){return e&&e.id||`page-${t??0}`}function zo(e,t){return e&&e.key||`step-${t??0}`}function lr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function d3(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const p3=300,m3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Mn=Object.freeze({}),du=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function pu(e){const t=e,a=t?.results||t?.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 h3=e=>n.jsx(uu,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function f3(e){const{scenario:t,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:p,stepCount:m,onBack:f,onComplete:b,onNext:C,onSettings:y,useNoiseSetting:_=!0,children:h,ariaLabel:v,label:x,buildResults:g,onResult:k,typeKey:w,entryPoint:B,dailyTotal:N,itemRef:A,renderResultPopup:D,noiseOverride:F}=e;u3(w&&!du.has(w)?w:"");const $=o.useRef(0);o.useEffect(()=>{$.current=Date.now()},[]);const{t:R}=be.useTranslation(),U=k,E=!!t,T=t?.id||null,V=t?.meta||{},Y=Array.isArray(t?.pages)?t.pages:[],K=Array.isArray(h)||o.isValidElement(h)&&typeof h!="function"?o.Children.toArray(h).filter(o.isValidElement):[],G=K.length>0,J=ne=>ne===ir||ne?.__isTrainingPage===!0,O=G&&K.some(ne=>J(ne.type)),I=O?K.filter(ne=>J(ne.type)).map((ne,Ce)=>{const z=ne.props||{};return{id:`children-page-${Ce}`,steps:o.Children.toArray(z.children).filter(o.isValidElement),pageTop:z.pageTop||z.top||null,pageBottom:z.pageBottom||z.bottom||null}}):[{id:"children-page-0",steps:K}],S=G&&!E&&typeof h!="function",H=S?Math.max(1,I.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 ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const Ce=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;Ce>0?ne.dataset.ihabTrainingPopupCount=String(Ce):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return m4()},[]);const[P,M]=o.useState({...La,enabled:!1}),L=o.useRef(P);o.useEffect(()=>{L.current=P},[P]);const X=o.useRef(F),W=o.useRef(!1),ae=o.useRef(null);o.useEffect(()=>{let ne=!1;const Ce=z=>{if(ne)return;W.current=!0;const ie=z?Ma({...La,enabled:!1},z):{...La},ce=ae.current;ae.current=null;const we=ce?Ma(ie,ce):ie;L.current=we,M(we),ce&&!X.current&&ni(we),Va(we);const Ae=X.current;if(Ae){const Me=typeof Ae=="function"?Ae(we):Ae,nt=Ma(we,Me);L.current=nt,M(nt),Va(nt)}};return A2().then(Ce),()=>{ne=!0}},[]);const[ue,Se]=o.useState(null),[pe,re]=o.useState(null),q=o.useCallback((ne,Ce)=>{ne==="main"?Se(Ce):re(Ce)},[]),se=o.useRef(null),de=o.useRef(null),ve=o.useCallback(()=>{de.current!==null&&(clearTimeout(de.current),de.current=null);const ne=se.current;se.current=null,ne&&ni(ne)},[]);o.useEffect(()=>{if(typeof window>"u")return;const ne=()=>{document.visibilityState==="hidden"&&ve()};return window.addEventListener("pagehide",ve),document.addEventListener("visibilitychange",ne),()=>{window.removeEventListener("pagehide",ve),document.removeEventListener("visibilitychange",ne),ve()}},[ve]);const ye=o.useCallback(ne=>{const Ce=Ma(L.current,ne);if(L.current=Ce,M(Ce),!W.current){ae.current={...ae.current??{},...ne},Va(Ce);return}X.current||(se.current=Ce,de.current!==null&&clearTimeout(de.current),de.current=setTimeout(ve,p3)),Va(Ce)},[ve]),Be=P.mainSpeed,he=P.mainVolume,ke=o.useCallback(ne=>ye({mainSpeed:ne}),[ye]),je=o.useCallback(ne=>ye({mainVolume:ne}),[ye]),oe=o.useMemo(()=>({settings:P,setSettings:ye,registerAnalyser:q,mainAnalyser:ue,noiseAnalyser:pe,playbackRate:Be,setPlaybackRate:ke,mainVolume:he,setMainVolume:je}),[P,ye,q,ue,pe,Be,ke,he,je]),ee=o.useRef(null),[fe,te]=o.useState(0),ge=o.useRef([]),[_e,Ye]=o.useState("center"),[He,Ue]=o.useState(!1),Ee=o.useRef(!1),Ge=o.useRef(null),$e=o.useCallback(ne=>{Ee.current||(Ee.current=!0,Ue(!0),Ge.current=setTimeout(()=>{try{ne()}catch{Ee.current=!1,Ue(!1)}},m3()?0:H5))},[]);o.useEffect(()=>()=>{Ge.current&&clearTimeout(Ge.current)},[]);const Ie=o.useRef(f);o.useEffect(()=>{Ie.current=f}),o.useEffect(()=>{const ne=ee.current,Ce=document.activeElement;if(Fr(ne,Ce),ne){const z=Array.from(ne.querySelectorAll(Cn)).filter(ie=>!ie.closest('[aria-hidden="true"]'))[0];if(z)try{z.focus()}catch{}}return()=>{const z=document.activeElement;if(!z||z===document.body||ne&&ne.contains(z))try{Or(Ce)?.focus?.()}catch{}}},[]),o.useEffect(()=>In(()=>$e(()=>{const ne=Ie.current;typeof ne=="function"&&ne()})),[$e]),Pr(ee,!0);const[Ve,at]=o.useState(!1),ot=o.useRef(!1),[We,Xe]=o.useState(null),gt=o.useRef(0),Bt=()=>{gt.current+=1,Xe(null)},[jt,dt]=o.useState(""),[Qe,Ze]=o.useState(()=>lr()),Oe=o.useRef(typeof u=="number"?u:null);o.useEffect(()=>{!E&&!S||(Ze(lr()),Bt())},[E,T,S]),o.useEffect(()=>{S&&Ze(ne=>{const Ce=Math.max(0,Math.min(ne.pageIndex,Math.max(0,H-1)));return Ce!==ne.pageIndex?{...ne,pageIndex:Ce,stepIndex:0}:ne})},[S,H]);const rt=S?Math.max(0,Math.min(Qe.pageIndex,H-1)):0,et=S?I[rt]:null,yt=S&&et&&Array.isArray(et.steps)?et.steps:[],ze=E?Qe.pageIndex:S?rt:typeof u=="number"?u:0,it=E?Y[Math.max(0,Math.min(Qe.pageIndex,Math.max(0,Y.length-1)))]:null,Nt=E&&it&&Array.isArray(it.steps)?it.steps:[],Dt=E?Nt.length:S?yt.length:typeof m=="number"?m:0,Le=E||S?Math.max(0,Math.min(Qe.stepIndex,Math.max(0,Dt))):typeof p=="number"?p:0,Ke=E?Y.length:S?H:typeof d=="number"?d:0;o.useLayoutEffect(()=>{const ne=Oe.current;if(typeof ze=="number"&&ne!==null&&ze!==ne&&ze>ne)try{dt(R("training.problemNotice",{n:ze+1}))}catch{}Oe.current=typeof ze=="number"?ze:Oe.current},[ze,u,R]),o.useLayoutEffect(()=>{const ne=ee.current;if(!ne)return;const Ce=()=>ne.querySelector(".page-popup__scroll");let z=null,ie=null,ce=null;const we=ct=>{const wt=Ce();if(!wt)return;const Wt=wt.scrollHeight<=wt.clientHeight;if(Ye(Wt?"center":"top"),ct&&!ot.current){ot.current=!0;try{at(!0)}catch{}try{nt.disconnect()}catch{}}},Ae=()=>{z!==null&&cancelAnimationFrame(z),z=requestAnimationFrame(()=>{ie!==null&&clearTimeout(ie),ie=setTimeout(()=>we(!0),60)})},Me=()=>{ce!==null&&cancelAnimationFrame(ce),ce=requestAnimationFrame(()=>we(!1))};Ae(),window.addEventListener("resize",Me);const nt=new MutationObserver(Ae);nt.observe(ne,{childList:!0,subtree:!0,attributes:!0});const ft=setTimeout(()=>{ot.current||we(!0)},400);return()=>{window.removeEventListener("resize",Me),z!==null&&cancelAnimationFrame(z),ie!==null&&clearTimeout(ie),ce!==null&&cancelAnimationFrame(ce),clearTimeout(ft);try{nt.disconnect()}catch{}}},[ee]);const St=o.useCallback(ne=>{ee.current&&(ee.current._childOnNext=ne)},[]),xt=o.useCallback(ne=>{ee.current&&(ee.current._childOnResult=ne)},[]),Tt=o.useCallback((ne,Ce,z)=>{Ze(ie=>{const ce=ie.answersByPage[ne]||{},we=ce[Ce],Ae=Oo(z),Me=Oo(we);return we&&Me>Ae?ie:{...ie,answersByPage:{...ie.answersByPage,[ne]:{...ce,[Ce]:z}}}})},[Ze]),sn=o.useCallback((ne,Ce,z)=>{const ie=Vo(it,ze),ce=zo(ne,Ce);Tt(ie,ce,z)},[it,ze,Tt]),tt=o.useCallback((ne,Ce,z)=>{const ie=Vo(it,ze),ce=zo(ne,Ce);Tt(ie,ce,z),!z?.allowChange&&ne?.autoAdvance!==!1&&Ze(we=>({...we,stepIndex:Math.max(we.stepIndex,Ce+1)}))},[it,ze,Tt,Ze]),Kt=o.useCallback((ne,Ce)=>{const z=et?.id||`children-page-${ze??0}`,ie=typeof Ce=="number"?Ce:Le??0,ce=`step-${ie}`;Tt(z,ce,ne),ne?.allowChange||Ze(we=>({...we,stepIndex:Math.max(we.stepIndex,ie+1)}))},[et,ze,Le,Tt,Ze]),kn=o.useCallback((ne,Ce)=>{const z=et?.id||`children-page-${ze??0}`,ie=`step-${typeof Ce=="number"?Ce:Le??0}`;Tt(z,ie,ne)},[et,ze,Le,Tt]),_t=S?{currentPageIndex:ze??0,currentStepIndex:Le??0,totalStepsInPage:yt.length,handleStepDone:Kt,handleStepChange:kn}:null,zt=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:Y,flowState:Qe,answersByPage:Qe.answersByPage})):null;return typeof U=="function"&&await Promise.resolve(U(ne))||ne},Jt=async()=>{const ne=et?.id||`children-page-${Qe.pageIndex}`,Ce=Qe.answersByPage[ne]||{},z=O?(()=>{const we={};let Ae=0;return I.forEach(Me=>{const nt=Qe.answersByPage[Me.id]||{},ft=Array.isArray(Me.steps)?Me.steps.length:0;for(let ct=0;ct<ft;ct+=1){const wt=nt[`step-${ct}`];typeof wt<"u"&&(we[`step-${Ae+ct}`]=wt)}Ae+=ft}),we})():Ce;if(typeof g=="function"){const we=await Promise.resolve(g(z,{pageAnswers:Ce,answersByPage:Qe.answersByPage,pages:I,currentPageId:ne}));return typeof U=="function"&&await Promise.resolve(U(we))||we}const ie=Object.entries(Ce).map(([we,Ae],Me)=>({index:Me,key:we,payload:Ae})),ce={results:ie,answers:ie,score:0};return typeof U=="function"&&await Promise.resolve(U(ce))||ce},an=()=>{const ne=++gt.current,Ce=()=>ne!==gt.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(E){const ce=zt();Xe(Mn);const we=ce;Promise.resolve(we).then(Ae=>{Ce()||Xe(Ae||{isEmpty:!0})}).catch(Ae=>{!Ce()&&Xe({isEmpty:!0})});return}if(S){const ce=Jt();Xe(Mn);const we=ce;Promise.resolve(we).then(Ae=>{Ce()||Xe(Ae||{isEmpty:!0})}).catch(Ae=>{!Ce()&&Xe({isEmpty:!0})});return}const z=ee.current&&ee.current._childOnResult,ie=ce=>{try{return ce?ce():void 0}catch{return}};if(typeof z=="function"){const ce=ie(z);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?Xe(ce):Xe(ce&&typeof ce.then=="function"?Mn:{});const we=()=>{Ce()||Xe(Ae=>Ae===Mn?{}:Ae)};Promise.resolve(ce).then(Ae=>{Ae&&!Ce()?Xe(Ae):we()}).catch(Ae=>{we()});return}if(typeof U=="function"){const ce=ie(U);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ce&&typeof ce.then!="function"?Xe(ce):Xe(ce&&typeof ce.then=="function"?Mn:{});const we=()=>{Ce()||Xe(Ae=>Ae===Mn?{}:Ae)};Promise.resolve(ce).then(Ae=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Ae&&!Ce()?Xe(Ae):we()}).catch(Ae=>{console.error("viewResults external handler failed",Ae),we()});return}},ln=()=>{if(E){if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(Ce=>({...Ce,pageIndex:Ce.pageIndex+1,stepIndex:0}));return}return an()}if(S){const Ce=yt.length;if(typeof Le=="number"&&Le<Ce-1){Ze(z=>({...z,stepIndex:z.stepIndex+1}));return}if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(z=>({...z,pageIndex:z.pageIndex+1,stepIndex:0}));return}return an()}if(typeof C=="function"){try{C()}catch{}return}const ne=ee.current&&ee.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},Qt=E?V.title||V.label||v||R("common.popup","\uD31D\uC5C5"):a||x||(Array.isArray(s)?s[s.length-1]:void 0)||v||R("common.popup","\uD31D\uC5C5"),An=v||Qt,Yt=E?V.title??V.label??Qt:a??x??Qt,ht=(ne,Ce)=>{const z=Vo(it,ze),ie=zo(ne,Ce),ce=Qe.answersByPage[z]?.[ie],we=d3(ne,{page:it,pageIndex:ze,step:ne,stepIndex:Ce,storedPayload:ce,answersByPage:Qe.answersByPage,flowState:Qe}),Ae={key:ie,index:Ce,stepIndex:Le,isLast:Ce===Nt.length-1};switch(ne?.type){case"listen":return n.jsx(Ro,{...Ae,...we,onDone:Me=>tt(ne,Ce,Me)});case"confirm":return n.jsx(Lo,{...Ae,...we,onDone:Me=>tt(ne,Ce,Me),onChange:Me=>sn(ne,Ce,Me)});case"confirmWithText":return n.jsx($o,{...Ae,...we,onDone:Me=>tt(ne,Ce,Me),onChange:Me=>sn(ne,Ce,Me)});case"orderList":return n.jsx(Po,{...Ae,...we,onDone:Me=>tt(ne,Ce,Me),onChange:Me=>sn(ne,Ce,Me)});default:return null}},cn=o.useRef(void 0);o.useEffect(()=>{const ne=cn.current;if(cn.current=ze,ne===void 0||ne===ze||!Qa())return;const Ce=ee.current;if(!Ce)return;const z=document.activeElement;if(!(!z||z===document.body||!Ce.contains(z)||z.disabled===!0))return;const ie=Ce.querySelector(`.training-steps ${Cn.split(", ").join(", .training-steps ")}`)??Array.from(Ce.querySelectorAll(Cn)).find(ce=>!ce.closest('[aria-hidden="true"]'));try{ie?.focus()}catch{}},[ze]);const Zt=E?Y.length>0?n.jsx("div",{className:"training-steps",children:Nt.map((ne,Ce)=>ht(ne,Ce))},`replay-${fe}`):n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||R("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Mt=S?n.jsxs(au.Provider,{value:_t,children:[et?.pageTop?n.jsx("div",{className:"training-page-top",children:et.pageTop}):null,n.jsx("div",{className:"training-steps",children:yt.map((ne,Ce)=>{const z=ne;return o.cloneElement(z,{...z.props,_stepIndex:Ce,_totalSteps:yt.length,_stepKey:`step-${Ce}`,_pageIndex:ze})})},`replay-${fe}`),et?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:et.pageBottom}):null]}):null,un=o.useCallback(()=>{let ne;if(w){const Ce=We,{results:z,correct:ie,total:ce}=pu(We);_2({items:k2(z),category:du.has(w)?"sentence":"word",trainingType:w,entryPoint:B??"sentence",itemRef:A??null,correct:ie,total:ce,score:typeof Ce?.score=="number"?Ce.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-$.current)/1e3)),dailyTotal:N??null}),ne={correct:ie,total:ce,attempt:ge.current.length+1,previousAttempts:[...ge.current]}}Bt(),$e(()=>{typeof b=="function"&&b(ne),typeof f=="function"&&f()})},[b,f,w,B,N,A,We,Xe,$e]),Xt=o.useCallback(()=>dt(""),[dt]),dn=o.useCallback(()=>{$e(()=>{typeof f=="function"&&f()})},[f,$e]),Ne=n.jsxs("div",{className:`page-popup${He?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":An,children:[n.jsxs("div",{ref:ee,className:`page-popup__panel ${Ve?"":"page-popup__panel--measuring"} ${_e==="center"?"page-popup__panel--center":_e==="top"?"page-popup__panel--top":""}`,children:[n.jsx(Qc,{title:Yt,subtitle:E?V.subtitle||V.label:Array.isArray(s)?s.join(" / "):void 0,desc:E?void 0:r,depth:E?V.depth:s,icon:E?V.icon:i,wrapperStyle:E?V.wrapperStyle:l,iconTooltip:E?V.iconTooltip:c,progressMax:Ke,progressIndex:ze,pageIndex:ze,pageCount:Ke,onBack:dn,onClose:dn}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${_e==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:S?Mt:E?Zt:typeof h=="function"?h({registerOnNext:St,registerOnResult:xt,panelRef:ee,setResultOverlay:Xe}):h})}),n.jsx(Jc,{onSettings:y,onNext:ln,onResult:an,useNoiseSettingBtn:!!(E?V.useNoiseSetting??!0:_),stepIndex:Le,stepCount:Dt,pageIndex:ze,pageCount:Ke})]}),We&&!We.isEmpty&&(D??h3)({score:We.score,results:We.results||We.answers||[],contextsLength:We.results?We.results.length:We.answers?We.answers.length:0,onReplay:()=>{if($.current=Date.now(),We!==Mn){const{correct:ne,total:Ce}=pu(We);ge.current.push({correct:ne,total:Ce})}if(Bt(),te(ne=>ne+1),E){if(Ze(lr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(S){Ze(lr());return}try{const ne=ee.current&&ee.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:un,pending:We===Mn}),We?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"page-popup__empty",children:R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(le,{htmlType:"button",variant:"main",size:48,onClick:un,label:R("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(ta,{message:jt,position:"top",onClose:Xt})]}),Pe=n.jsx(Do.Provider,{value:oe,children:Ne});return typeof document<"u"&&document.body?qt.createPortal(Pe,document.body):Pe}const Ln=f3;Ln.Page=ir,Ln.ListenStep=ru,Ln.ConfirmStep=ou,Ln.ConfirmWithTextStep=su,Ln.OrderListStep=iu,Ln.CardStep=lu,Ln.CardOrderStep=l3;function C3({label:e,homonum:t}){const a=Gn()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:c}=Co(a);return i?n.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:c})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function mu({words:e,anchorRect:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),s({left:u,top:d})},[t]),!t||e.length===0?null:qt.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>n.jsx(C3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const g3=new Intl.Collator("ko");function b3({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:p,onPrintEmpty:m,className:f,emptyHint:b,sectionType:C="page",disc:y,notice:_}){const{t:h,i18n:v}=be.useTranslation(),x=v.language?.startsWith("ko")??!1,{anchorRect:g,openAt:k,close:w}=va(),[B,N]=o.useState(null),A=o.useCallback(()=>{w(),N(null)},[w]);eb(A,!!B);const D=(r??"").trim(),F=/^[^,[\]\s]+$/.test(D)?D:"",$=F.length>0,R=r===void 0&&t===void 0,U=$?"match":R?"original":"ganada",[E,T]=o.useState(()=>U),[V,Y]=o.useState("50"),[K,G]=o.useState(1),[J,O]=o.useState($);J!==$&&(O($),T(U));const I=E==="match"&&!$||E==="original"&&!R?U:E,S=o.useMemo(()=>[...$?[{value:"match",label:h("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...R?[{value:"original",label:h("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:h("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:h("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:h("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:h("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:h("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:h("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[h,$,R]),H=o.useMemo(()=>["10","25","50","100"].map(he=>({value:he,label:h("wordSearch.pageSize",{count:Number(he),defaultValue:`${he}\uAC1C\uC529 \uBCF4\uAE30`})})),[h]),P=he=>he.words?.[0],M=o.useMemo(()=>{const he=[...F].length,ke=s2(F),je=new Map;return oe=>{let ee=je.get(oe);return ee===void 0&&(ee=ke((oe.words?.[0]?.label??"").slice(0,he))?0:1,je.set(oe,ee)),ee}},[F]),L=o.useCallback((he,ke)=>{const je=fe=>P(fe)?.label??"",oe=fe=>P(fe)?.syllables??[...je(fe)].length,ee=fe=>(fe.words??[]).reduce((te,ge)=>{const _e=parseInt(ge.grade??"",10);return Number.isFinite(_e)&&_e<te?_e:te},999);switch(I){case"match":return M(he)-M(ke)||g3.compare(je(he),je(ke));case"ganada":return je(he).localeCompare(je(ke),"ko");case"ganada_desc":return je(ke).localeCompare(je(he),"ko");case"syllable":return oe(he)-oe(ke)||je(he).localeCompare(je(ke),"ko");case"syllable_desc":return oe(ke)-oe(he)||je(he).localeCompare(je(ke),"ko");case"grade":return ee(he)-ee(ke)||je(he).localeCompare(je(ke),"ko");case"grade_desc":return ee(ke)-ee(he)||je(he).localeCompare(je(ke),"ko");default:return 0}},[I,M]),X=o.useMemo(()=>s.slice().sort(L),[s,L]),W=Number(V)||10,ae=o.useMemo(()=>(i??[]).flatMap(he=>he.items.slice().sort(L).map(ke=>({item:ke,label:he.label}))),[i,L]),ue=i?ae.length:X.length,Se=Math.max(1,Math.ceil(ue/W)),pe=Math.min(K,Se),re=o.useMemo(()=>X.slice((pe-1)*W,pe*W),[X,pe,W]),q=o.useMemo(()=>{if(!i)return null;const he=ae.slice((pe-1)*W,pe*W),ke=new Map;for(const{item:je,label:oe}of he)ke.has(oe)||ke.set(oe,[]),ke.get(oe).push(je);return[...ke.entries()].map(([je,oe])=>({label:je,items:oe}))},[i,ae,pe,W]);o.useEffect(()=>{G(1)},[E,V,ue,r]);const se=ue>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(nn,{size:40,options:S,value:I,onChange:T,ariaLabel:h("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(nn,{size:40,options:H,value:V,onChange:Y,ariaLabel:h("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(Ka,{page:pe,totalPages:Se,onChange:G})]}):void 0,de=he=>{c&&c(he)},ve=t!==void 0&&a?n.jsxs(n.Fragment,{children:[h("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),h("wordSearch.resultTitleSuffix",{unit:x?f2(a):a})]}):void 0,ye=t!==void 0&&t>0&&u!==void 0&&a?h("wordSearch.resultDisc",{unit:x?g2(a):a,max:u,selected:l.length}):void 0,Be=y??(_?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"word-search-result-block__notice",children:_}),ye?n.jsx("span",{className:"word-search-result-block__disc",children:ye}):null]}):ye);return n.jsxs(aa,{type:C,icon:e,title:ve,action:se,disc:Be,className:De("word-search-result-block",f),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:s.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:h("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),b&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:b})]}),i?(q??[]).map(he=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:he.items.map(ke=>{const je=l.includes(ke.id);return n.jsx("div",{onMouseEnter:oe=>{k(oe.currentTarget),N(ke.words??[])},onMouseLeave:A,children:n.jsx(le,{htmlType:"button",size:"word",align:"grid",label:(ke.words??[]).map(oe=>oe.label),subLabel:(ke.words??[]).some(oe=>oe.subLabel)?(ke.words??[]).map(oe=>oe.subLabel):void 0,selected:je,onClick:()=>de(ke.id),minWidth:200})},ke.id)})})},he.label)):n.jsx("div",{className:"word-search-result-block__items",children:re.map(he=>{const ke=l.includes(he.id);return n.jsx("div",{onMouseEnter:je=>{k(je.currentTarget),N(he.words??[])},onMouseLeave:A,children:n.jsx(le,{htmlType:"button",size:"word",align:"grid",label:(he.words??[]).map(je=>je.label),subLabel:(he.words??[]).some(je=>je.subLabel)?(he.words??[]).map(je=>je.subLabel):void 0,selected:ke,onClick:()=>de(he.id),minWidth:200})},he.id)})}),B&&g&&n.jsx(mu,{words:B,anchorRect:g})]}),Se>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(Ka,{page:pe,totalPages:Se,onChange:G})}),(d||p)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:h("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),p&&n.jsx("div",{onClick:l.length===0?m:void 0,children:n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",label:h("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function y3(e,t){return t.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 v3({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:p,title:m,titleIcon:f,disc:b,showInfoButton:C=!0,onClearPhoneme:y,onSearch:_,onSearchEmpty:h,searchDisabled:v=!1,searchLabel:x,searchChecking:g=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:B,beforeContent:N,afterContent:A,hideCountControl:D=!1,ordinal:F=!1}){const{t:$}=be.useTranslation(),R=o.useMemo(()=>$("wordPairs.infoNotes",{returnObjects:!0}),[$]),U=o.useMemo(()=>Array.from({length:s-i+1},(P,M)=>{const L=i+M;return{key:String(L),label:$("wordPairs.count",{n:L})}}),[$,s,i]),E=o.useMemo(()=>$("wordPairs.ordinals",{returnObjects:!0}),[$]),T=o.useCallback(P=>F?$("wordPairs.phonemeOrdinalLabel",{ordinal:E[P-1]??P}):a===1?$("wordPairs.phonemeSingleLabel","\uC74C\uC808"):$("wordPairs.phonemeN",{n:P}),[F,E,a,$]),V=o.useCallback(P=>F?$("wordPairs.phonemeContrastOrdinalLabel",{ordinal:E[P-1]??P}):a===1?$("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):$("wordPairs.phonemeContrast",{n:P}),[F,E,a,$]),Y=o.useCallback((P,M)=>M?n.jsxs(n.Fragment,{children:[P,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):P,[]),{anchorRect:K,toggleAt:G,close:J}=va(),O=o.useCallback(P=>r(Number(P)),[r]),I=tn("(max-width: 767px)"),S=o.useCallback(P=>y3(P,e).map(({label:M,value:L,displayLabel:X})=>{const W=!!L&&L!=="\uC5C6\uC74C";return n.jsxs("span",{className:De("phoneme-select-block__cell-jamo-part",L?"":"phoneme-select-block__cell-jamo-part--empty",W?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${L==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:L==="\uC5C6\uC74C"?"x":L||d}),W&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:X??M})]},M)}),[e,d]),H=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:40,type:I?"dot":void 0,icon:"info",label:I?void 0:$("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:$("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:K?"is-selected":void 0,"aria-expanded":!!K,"aria-haspopup":"dialog",onClick:P=>G(P.currentTarget)})}),K&&n.jsx(Fn,{title:$("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:R,anchorRect:K,onClose:J})]});return n.jsxs(aa,{type:w,title:m,icon:f,disc:b,action:C?H:void 0,className:De("phoneme-select-block",p),children:[N,!D&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(Sn,{options:U,value:String(a),onChange:O,size:40,className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:k?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((P,M)=>{const L=t[M*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:T(M+1)})]},M)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:$("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((P,M)=>{const L=t[M*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:V(M+1)})]},M)})})]}):t.map((P,M)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(P)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:T(M+1)})]},M))}),(l||c)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:k?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((P,M)=>{const L=t[M*2]??{};return n.jsx(wn,{title:Y(T(M+1),M===0),sections:c?c(L,M*2):l,selected:L,onSelect:u?.(M*2),align:"newline"},M)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((P,M)=>{const L=t[M*2+1]??{};return n.jsx(wn,{title:V(M+1),sections:c?c(L,M*2+1):l,selected:L,onSelect:u?.(M*2+1),align:"newline"},M)})})]}):t.map((P,M)=>n.jsx(wn,{title:Y(T(M+1),M===0),sections:c?c(P,M):l,selected:P,onSelect:u?.(M),align:"newline"},M))})}),B&&n.jsx("div",{className:"phoneme-select-block__before-search",children:B}),(y||_||g)&&(()=>{const P=t.every(M=>Object.entries(M).every(([L,X])=>!X||L==="\uC885\uC131"&&X==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:P?h:void 0,children:[y&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:$("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:P,onClick:P?void 0:y}),_?n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:g?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:x??$("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:P||v||g,onDisabledClick:g?()=>{}:void 0,"aria-busy":g||void 0,onClick:_}):g?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:x??$("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),A]})}function x3({title:e,sections:t,selected:a,onSelect:r,className:s}){const{t:i}=be.useTranslation();return n.jsx(wn,{className:s,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function _3({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=be.useTranslation();return a.length===0?null:n.jsx(wn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function w3({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,className:d}){const{t:p}=be.useTranslation(),m={searchMode:p("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:p("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:p("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:p("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:p("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:p("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:p("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:p("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:p("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:p("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:p("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},f=_=>p("wordPairs.count",{n:_}),b=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:n.jsx(Ba,{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:n.jsx(Ba,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[f(1),f(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:n.jsx(Ba,{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.")]})}],C={[m.searchMode]:t==="explicit"?m.explicit:t==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:f(i),[m.inputMode]:c==="phoneme"?m.pronInput:m.charInput},y=(_,h)=>{h===m.searchMode?a(_===m.explicit?"explicit":_===m.pick?"pick":"include"):h===m.phonemeOrder?s(_===m.orderMatch?"ordered":"unordered"):h===m.count?l(_===f(2)?2:1):h===m.inputMode&&u(_===m.pronInput?"phoneme":"word")};return n.jsx(wn,{className:d,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:b,selected:C,onSelect:y,align:"inline"})}function k3(e){const{title:t,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:c,defaultSortKey:u,defaultSortAsc:d=!0,selectedId:p,selectedIds:m,onSelect:f,onClose:b,pageSizeOptions:C=[10,25,50,100],initialPageSize:y,emptyText:_,countLabel:h,topContent:v,className:x=""}=e,{t:g}=be.useTranslation(),k=l??g("common.search","\uAC80\uC0C9"),w=_??g("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[B,N]=o.useState(""),[A,D]=o.useState(u??r[0]?.key??""),[F,$]=o.useState(d),[R,U]=o.useState(String(y??C[0]??10)),[E,T]=o.useState(1);o.useEffect(()=>{T(1)},[B,R]);const V=c!==null,Y=o.useCallback((L,X)=>{if(!X)return!0;const W=X.toLowerCase();return r.some(ae=>{const ue=L[ae.key];return ue==null?!1:String(ue).toLowerCase().includes(W)})},[r]),K=c??Y,G=o.useMemo(()=>{const L=V?a.filter(X=>K(X,B)):a;return A?[...L].sort((X,W)=>{const ae=X[A],ue=W[A];return ae===ue?0:Kr(ae,ue,F)}):L},[a,B,A,F,V,K]),J=Math.max(1,Math.ceil(G.length/Number(R)));E>J&&T(J);const O=Math.min(E,J),I=G.slice((O-1)*Number(R),O*Number(R)),S=o.useCallback(L=>{A===L?$(X=>!X):(D(L),$(!0)),T(1)},[A]),H=o.useMemo(()=>{if(typeof h=="function"){const L=G.length,X=h(L);if(typeof X=="string"){const W=X.lastIndexOf(String(L));if(W>=0)return{prefix:X.slice(0,W),suffix:X.slice(W+String(L).length)}}return{label:X}}if(typeof h=="string"&&h.includes("{n}")){const[L,X]=h.split("{n}");return{prefix:L,suffix:X}}return{prefix:g("common.totalCountPrefix","\uCD1D "),suffix:g("common.totalCountSuffix","\uAC1C")}},[h,G.length,g]),P=o.useMemo(()=>r.map(L=>({label:L.label,onClick:L.sortable!==!1?()=>S(L.key):void 0,className:L.className,sortDir:L.sortable!==!1&&A===L.key?F?"asc":"desc":null})),[r,A,F,S]),M=o.useMemo(()=>C.map(L=>({value:String(L),label:g("common.pageSizeLabel",{n:L})})),[C,g]);return n.jsxs(jn,{className:`popup-list ${x}`,title:t,onClose:b,children:[v,"label"in H&&n.jsx("p",{className:"toolbar__count body-1",children:H.label}),n.jsx(ao,{count:"label"in H?void 0:{value:G.length,prefix:H.prefix,suffix:H.suffix},search:V?{value:B,onChange:N,placeholder:k}:void 0,pageSize:{options:M,value:R,onChange:U},pagination:{page:O,total:J,onChange:T}}),n.jsx(po,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:P,items:I,onRowClick:f,renderRow:L=>{const X=m!=null?L.id!=null&&m.has(L.id):p!=null&&L.id===p;return r.map(W=>({content:W.render?W.render(L):L[W.key]??"",className:De(W.className,X&&"popup-list__row--selected")}))},empty:w})]})}function A3(e){const{title:t,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:f,closeOnConfirm:b=!0,onClose:C,inline:y,size:_="small",className:h,initialFocus:v="close"}=e,{t:x}=be.useTranslation(),g=o.useRef(null);o.useEffect(()=>{if(y||v==="close")return;const D=g.current?.closest(".popup-panel"),F=Array.from(D?.querySelectorAll(".popup-footer--buttons button")??[]),$=v==="confirm"?F[F.length-1]:u?void 0:F[d?1:0];$&&!$.disabled&&$.focus()},[]);const k=o.useRef(!1),[w,B]=o.useState(!1),N=D=>{let F=!1;return{close:()=>{F=!0,D()},\uB2EB\uC558\uB098:()=>F}},A=async D=>{if(k.current)return;k.current=!0;const F=typeof document<"u"?document.activeElement:null;B(!0);let $=!1;try{$=await D()}catch(R){typeof console<"u"&&console.error(R)}finally{$||(k.current=!1,B(!1),requestAnimationFrame(()=>{const R=document.activeElement;(!R||R===document.body)&&F?.isConnected&&F.focus()}))}};return n.jsxs(jn,{title:t,onClose:C,closeDisabled:w,inline:y,size:_,className:De("confirm-popup",h),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||w,onClick:async({closeWithAnimation:D})=>{await A(async()=>{const F=N(D);await d.onClick(F.close);const $=d.closeOnClick??!0;return $&&D(),$||F.\uB2EB\uC558\uB098()})}}]:[],...u?[]:[{label:c??x("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:w,onClick:({closeWithAnimation:D})=>D()}],{label:l??x("common.confirm","\uD655\uC778"),variant:p,disabled:m||w,onClick:async({closeWithAnimation:D})=>{await A(async()=>{const F=N(D);return await f(F.close),b&&D(),b||F.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(sr,{children:s.map((D,F)=>n.jsx(Tn,{label:D.label,children:n.jsx("span",{className:"panel-row__text body-2",children:D.value})},F))}),n.jsx("p",{ref:g,className:"body-2 confirm-popup__message",children:a}),i]})}function B3({onApply:e,onCancel:t}){const{t:a}=be.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[c,u]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async b=>{const C=r.trim();if(C){l(!0),u(null);try{await e(C),b()}catch(y){u(Js(y)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),m=o.useCallback((b,C)=>{b.key==="Enter"&&!b.nativeEvent.isComposing&&p(C)},[p]),f=b=>{s(b.target.value),u(null)};return n.jsx(jn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,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})=>n.jsxs(n.Fragment,{children:[n.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:f,onKeyDown:C=>m(C,b),disabled:i,autoComplete:"off",spellCheck:!1}),c&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const N3=200;function D3(e){return e.itemId?(P2()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function S3({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:s}=be.useTranslation(),i=o.useMemo(()=>F2(s).map(c=>({type:c,items:(e.items??[]).filter(u=>u.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,s]);if(i.length===0)return null;const l=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:u},d)=>[d>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),n.jsx("div",{className:"tooltip-training__items",children:u.map((p,m)=>{const f=D3(p);return f?n.jsx(ho,{index:m,type:c,trainingData:f,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},c.key)])})});return t?n.jsx(gn,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const hu=["var(--color-main)","var(--color-sub)"],E3=2e3;function j3(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Wo({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const y=Math.floor(t/2),_=t-y,h=(v,x)=>Array.from({length:v}).map((g,k)=>{const w=6+Math.random()*12,B=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),N=hu[Math.floor(Math.random()*hu.length)],A=Math.random()*300,D=(360+Math.random()*260)*r*1.2,F=(x==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,$=Math.cos(F)*D,R=Math.sin(F)*D*1.35,U=Math.random()*720-360,E=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),T=Math.random()>.7?"50%":"3px";return{id:`${x}-${k}`,side:x,size:B,color:N,delay:A,vx:$,vy:R,angularVel:U,life:E,borderRadius:T}});return[...h(y,"left"),...h(_,"right")]},[t,r]),c=o.useRef(null),u=o.useRef({}),d=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),f=o.useRef(null),b=()=>{if(typeof document>"u")return null;let y=document.querySelector("[data-ihab-effect-root]");return y||(y=document.createElement("div"),y.className="app-effect",y.dataset.ihabEffectRoot="",y.style.position="fixed",y.style.inset="0",y.style.pointerEvents="none",y.style.zIndex="99998",document.body.appendChild(y)),y};if(typeof document<"u"&&f.current==null&&(f.current=b()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const J=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(J)}const y=1200,_=performance.now(),h=f.current&&f.current!==document.body?f.current.getBoundingClientRect():null,v=Math.max(60,(window.innerHeight||800)*.05),x=J=>Math.max(40,(J||window.innerWidth)*.02),g=h?.width||window.innerWidth||375,k=h?.height||window.innerHeight||812,w=J=>{const O=[...J].sort((I,S)=>I-S);return O[Math.floor(O.length/2)]||1},B=w(l.map(J=>Math.abs(J.vy))),N=w(l.map(J=>Math.abs(J.vx))),A=Math.sqrt(2*y*(k*.72+v))/B,D=B*A/y,F=g*.5/(N*D),$=(J,O,I)=>Math.min(I,Math.max(O,J)),R=$(A,.8,2.4),U=$(F,.7,2.2),E=a>0?a/E3:1,T=l.map(J=>({...J,life:J.life*E,vx:J.vx*U,vy:J.vy*R,startTime:_+J.delay,ended:!1})),V=h?{x:h.left-x(h.width),y:h.top+h.height+v}:{x:-x(window.innerWidth),y:window.innerHeight+v},Y=h?{x:h.left+h.width+x(h.width),y:h.top+h.height+v}:{x:window.innerWidth+x(window.innerWidth),y:window.innerHeight+v},K=J=>{let O=!1;for(const I of T){const S=u.current[I.id];if(!S||!S)continue;if(J<I.startTime){S.style.display="none",O=!0;continue}if(!I._inited){const pe=I.side==="left"?V.x:Y.x,re=I.side==="left"?V.y:Y.y;S.style.left=`${pe}px`,S.style.top=`${re}px`,S.style.transform="translate3d(0px, 0px, 0)",S.style.display="block",S.style.zIndex="100000",typeof I.color=="string"&&I.color.startsWith("var(")&&(S.style.background=j3(S,I.color)??"#FF0060"),I._inited=!0}const H=(J-I.startTime)/1e3;if(H<0)continue;const P=I.life/1e3;if(H>=P){S.style.opacity="0",S.style.display="none",I.ended=!0;continue}O=!0;const M=I.side==="left"?V.x:Y.x,L=I.side==="left"?V.y:Y.y,X=M+I.vx*H,W=L+I.vy*H+.5*y*H*H,ae=(I.angularVel||0)*H,ue=X-M,Se=W-L;S.style.transform=`translate3d(${ue}px, ${Se}px, 0) rotate(${ae}deg)`,S.style.opacity=`${Math.max(0,1-H/P)}`}O?d.current=requestAnimationFrame(K):p.current?.()};d.current=requestAnimationFrame(K);const G=setTimeout(()=>{try{if((f.current?f.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const J=document.createElement("div");J.className="party-container",J.style.position="fixed",J.style.inset="0",J.style.pointerEvents="none",J.style.overflow="visible",J.style.zIndex="2147483647";for(const O of l){const I=document.createElement("span");I.className=`confetti confetti--${O.side}`,I.setAttribute("aria-hidden","true"),I.style.display="none",I.style.position="fixed",I.style.left="0px",I.style.top="0px",I.style.width=`${O.size}px`,I.style.height=`${Math.max(4,O.size*.6)}px`,I.style.background=O.color,I.style.borderRadius=O.borderRadius,I.style.transform="translate3d(0,0,0)",I.style.opacity="0",J.appendChild(I),u.current[O.id]=I}(document.body||f.current).appendChild(J),m.current=J}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(G),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const C=n.jsx("div",{className:"party-container",ref:c,children:l.map(y=>n.jsx("span",{"aria-hidden":!0,ref:_=>{u.current[y.id]=_},className:`confetti confetti--${y.side}`,style:{width:`${y.size}px`,height:`${Math.max(4,y.size*.6)}px`,background:y.color,borderRadius:y.borderRadius}},`${y.id}-${i}`))});return typeof document<"u"?qt.createPortal(C,f.current||document.body):C}const qo=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function T3({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};r(u=>({n:(u?.n??0)+1,count:qo(c.count),strength:qo(c.strength),duration:qo(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(Wo,{active:t,trigger:e}),a&&n.jsx(Wo,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function M3({title:e,sub:t,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:p}=be.useTranslation();Fg(typeof e=="string"?e:l??null);const m=u??p("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[c&&n.jsx(le,{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:c}),n.jsx("h1",{className:"page-title__title h1",children:e}),s&&n.jsx("div",{className:"page-title__badge",children:n.jsx(mt,{label:s,size:"small",variant:i,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function L3(e){return e??""}const fu=o.createContext({words:[],loading:!1});function $3(){return o.useContext(fu)}function R3({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){return n.jsx(fu.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u},children:d})}function P3({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:De("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},u))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const I3=(e,t)=>`${e} / ${t}`;function F3({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=I3,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:p}=be.useTranslation(),m=o.useRef(null),f=o.useRef(null),b=o.useRef(null),C=o.useRef(null),[y,_]=o.useState(null),[h,v]=o.useState(!1);o.useEffect(()=>{const E=m.current;if(!E)return;const T=()=>v(E.scrollWidth>E.clientWidth+1);if(T(),typeof ResizeObserver>"u")return;const V=new ResizeObserver(T);return V.observe(E),()=>V.disconnect()},[y]);const x=e.map(E=>`${E.id}\0${E.section??""}\0${E.group??""}`).join(""),g=y&&y.shape===x?y.pages:null,[k,w]=o.useState(0);o.useEffect(()=>{const E=C.current;if(!E||typeof ResizeObserver>"u")return;const T=new ResizeObserver(()=>w(E.offsetHeight));return T.observe(E),()=>T.disconnect()},[]);const[B,N]=o.useState(0);o.useEffect(()=>{const E=f.current;if(!E||typeof ResizeObserver>"u")return;let T=null;const V=typeof requestAnimationFrame=="function"?G=>requestAnimationFrame(G):G=>setTimeout(G,16),Y=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:G=>clearTimeout(G),K=new ResizeObserver(()=>{T==null&&(T=V(()=>{T=null,N(G=>G+1)}))});return Array.from(E.children).forEach(G=>K.observe(G)),()=>{K.disconnect(),T!=null&&Y(T)}},[x]),o.useLayoutEffect(()=>{const E=f.current,T=C.current;if(!E||!T)return;const V=P=>P.getBoundingClientRect().height||P.offsetHeight,Y=new Map;b.current?.querySelectorAll("[data-chrome-section]").forEach(P=>{Y.set(P.dataset.chromeSection??"",V(P))});const K=P=>V(T)-(Y.get(P??"")??0),G=Array.from(E.children).map(P=>V(P)),J=[];e.forEach((P,M)=>{const L=J[J.length-1],X=L?e[L[0]]:void 0;X&&P.group!=null&&X.group===P.group&&X.section===P.section?L.push(M):J.push([M])});const O=[];let I=[],S=0;const H=()=>{I.length&&O.push(I),I=[],S=0};J.forEach(P=>{const M=P.reduce((X,W)=>X+G[W],0),L=K(e[P[0]].section);I.length&&e[I[0]].section!==e[P[0]].section&&H(),M>L?P.forEach(X=>{I.length&&S+G[X]>L+.01&&H(),I.push(X),S+=G[X]}):(I.length&&S+M>L+.01&&H(),P.forEach(X=>I.push(X)),S+=M)}),H(),_(P=>P&&P.shape===x&&JSON.stringify(P.pages)===JSON.stringify(O)?P:{shape:x,pages:O})},[x,k,i,l,c,B]);const A=to,D=A,F=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:D,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),$=(E,T,V)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:V!=null&&t?.[V]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:F}),n.jsx("span",{className:"report-doc__page-no",children:s(E,T)})]})}),R=Array.from(new Set(e.map(E=>E.section??""))),U={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return n.jsxs("div",{ref:m,className:De("report-doc",u),style:U,tabIndex:h?0:void 0,role:h?"group":void 0,"aria-label":h?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:C,className:"report-doc__ruler"}),n.jsx("div",{ref:b,children:R.map(E=>{const T=$(1,1,E||void 0);return n.jsxs("div",{"data-chrome-section":E,children:[T.header,T.footer]},E)})}),n.jsx("div",{ref:f,className:"report-doc__measure-blocks",children:e.map(E=>n.jsx("div",{children:E.content},E.id))})]}),g&&n.jsx("div",{className:"report-doc__pages",children:g.map((E,T)=>{const{header:V,footer:Y}=$(T+1,g.length,e[E[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[V,E.map(K=>n.jsx("div",{children:e[K].content},e[K].id)),Y]},T)})})]})}function O3({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:De("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((i,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:i.label}),n.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const Wn=new Map;let cr=null;const H3=12;function V3(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function ur(){const e=new Map;for(const t of Wn.keys()){if(!t.isConnected)continue;const a=V3(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){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+H3)}}}function z3(e){return typeof window>"u"?()=>{}:(Wn.set(e,(Wn.get(e)??0)+1),Wn.get(e)===1&&typeof ResizeObserver<"u"&&(cr??(cr=new ResizeObserver(()=>ur())),cr.observe(e)),ur(),()=>{const t=(Wn.get(e)??1)-1;if(t>0){Wn.set(e,t),ur();return}Wn.delete(e),cr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),ur()})}function W3({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:c}=be.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=d.current,f=m?.parentElement?.closest(".update-alert-stack")??m,b=f?z3(f):null;return()=>{b?.(),p.current&&m&&m.contains(document.activeElement)&&Wa(m)}},[]),n.jsxs("div",{ref:d,className:De("update-alert",l),role:"alert",children:[i&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:s??n.jsx(os,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(le,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:u})]})}function q3({title:e,description:t,topActions:a,children:r,footerLeft:s,footerRight:i,onClick:l,draggable:c,onDragStart:u,onDragEnd:d,className:p}){const m=s!=null||i!=null,f=r!=null&&r!==!1,b=o.useCallback(C=>{l&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),l())},[l]);return n.jsxs("div",{className:De("training-card",l?"training-card--clickable":"",p),onClick:l,onKeyDown:l?b:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:u,onDragEnd:d,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:C=>C.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?n.jsx("p",{className:"training-card__description body-3",children:t}):t:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),f&&n.jsx("div",{className:"training-card__body",children:r}),m&&n.jsxs("div",{className:"training-card__footer",children:[s!=null&&n.jsx("div",{className:"training-card__footer-left",children:s}),i!=null&&n.jsx("div",{className:"training-card__meta",children:i})]})]})}function U3({title:e,count:t,collapsed:a=!1,onToggle:r,sort:s,actions:i,empty:l=!1,emptyContent:c,dragOver:u=!1,onDragOver:d,onDragLeave:p,onDrop:m,children:f,className:b}){const{t:C}=be.useTranslation(),y=r!=null,_=De("training-card-group",u&&"training-card-group--dragover",a&&"training-card-group--collapsed",y&&"training-card-group--collapsible",b);return n.jsxs("div",{className:_,onDragOver:d,onDragLeave:p,onDrop:m,children:[n.jsxs("header",{className:"training-card-group__header",children:[y&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:r}),typeof e=="string"?n.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:t}),(s||i!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:h=>h.stopPropagation(),children:[s&&n.jsx(nn,{size:40,options:s.options,value:s.value,placeholder:s.placeholder,onChange:s.onChange}),i]})]}),!a&&(l?n.jsx("div",{className:"training-card-group__empty body-3",children:c}):n.jsx("div",{className:"training-card-group__grid",children:f}))]})}const G3="speechear:saved_word_tables";function K3(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function Y3(){try{const e=localStorage.getItem(G3);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(K3):[]}catch{return[]}}function Cu(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 Uo(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function Z3(e){const t=new Set;return e.map(a=>{let r=a.id;for(let s=2;t.has(r);s++)r=`${a.id}~${s}`;return t.add(r),r===a.id?a:{...a,id:r}})}function X3({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:s,onLoad:i,onRemoveItem:l,onReset:c,resetLabel:u,saveButtonLabel:d,secondarySaveButtonLabel:p,onReorder:m,showCellCount:f,onAddItem:b,className:C,renderSavePopup:y,renderWordSearch:_,hideControls:h,saveOnly:v,tableName:x,nameValue:g,onNameChange:k,descriptionValue:w,onDescriptionChange:B,namePlaceholder:N,descriptionPlaceholder:A,existingNames:D,editingName:F,onCancel:$}){const{t:R}=be.useTranslation(),U=u??R("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),E=r===void 0,T=!!k,[V,Y]=o.useState([]),K=(g??"").trim(),G=K||(N??"").trim(),J=(w??"").trim()||(A??"").trim(),O=(D??[]).map(Ne=>Ne.trim().toLowerCase()),I=[F?.trim().toLowerCase(),...V].filter(Ne=>!!Ne),S=[...O];for(const Ne of I){const Pe=S.indexOf(Ne);Pe!==-1&&S.splice(Pe,1)}const H=K!==""&&S.includes(K.toLowerCase()),[P,M]=o.useState(Array(4).fill(null)),[L,X]=o.useState(4),[W,ae]=o.useState(null),ue=P.slice(0,L),[Se,pe]=o.useState("landscape"),[re,q]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[se,de]=o.useState("\uD45C\uC2DC"),[ve,ye]=o.useState(!0),[Be,he]=o.useState(!0),ke=o.useRef(null),je=o.useRef([]),[oe,ee]=o.useState(8),[fe,te]=o.useState("right"),[ge,_e]=o.useState(!1),[Ye,He]=o.useState(!1),{toastMessage:Ue,toastType:Ee,showWarning:Ge,clearToast:$e}=rl("warning"),Ie=o.useCallback(()=>ae(null),[ae]);b&&!E&&!f&&fn("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[Ve,at]=o.useState(()=>Math.max(r?.length??1,1)),ot=E?L:f?Math.max(Ve,r?.length??1,1):Math.max(r?.length??0,1),{width:We,height:Xe}=ra[Se],gt=!E&&!f,Bt=r?.length??0,jt=Math.min(oe,Math.max(Bt,1)),dt=gt?jt:ot,Qe=gt?lc(r??[],dt):null,Ze=!!Qe&&Qe.length>1,Oe=E?ue.some(Ne=>Ne!==null&&Ne.length>1):(r??[]).some(Ne=>(Ne.words??[]).length>1),rt=x?.trim()||`${si(ga())} ${Oe?R("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):R("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,et=o.useCallback(()=>Ze?je.current.filter(Ne=>Ne!==null):ke.current?[ke.current]:[],[Ze]),{print:yt,openNewWindow:ze,downloadHtml:it}=wo({getElements:et,paperW:We,paperH:Xe,fileName:rt,onPopupBlocked:()=>{Ge(R("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."))}}),Nt=Ne=>{X(Ne),M(Pe=>Pe.length>=Ne?Pe:[...Pe,...Array(Ne-Pe.length).fill(null)]),ae(null)},Dt=Ne=>{M(Pe=>{const ne=[...Pe];return ne[Ne]=null,ne}),W===Ne&&ae(null)},Le=Ne=>{if(W===null)return;const Pe=W;M(Ce=>{const z=[...Ce];return z[Pe]=Ne.length>0?Ne:null,z});const ne=ue.findIndex((Ce,z)=>z>Pe&&Ce===null);ae(ne!==-1?ne:null)},Ke=E?ue.some(Ne=>Ne?.some(Pe=>!!Pe.colloquialPronunciation)):(r??[]).some(Ne=>(Ne.words??[]).some(Pe=>!!Pe.colloquialLabel)),St=o.useMemo(()=>Gn()?E?P.slice(0,L).flatMap(Ne=>(Ne??[]).map(Pe=>[Pe.word,Pe.homonum])):(r??[]).flatMap(Ne=>(Ne.words??[]).map(Pe=>[Pe.label,Pe.homonum])):[],[E,P,L,r]),[xt,Tt]=o.useState(!1);o.useEffect(()=>{if(St.length===0)return;let Ne=!1;return Promise.all(St.map(([Pe,ne])=>Ks(Pe,ne))).then(Pe=>{Ne||Tt(Pe.some(Boolean))},()=>{}),()=>{Ne=!0}},[St]);const sn=St.length>0&&xt,tt=o.useMemo(()=>[...E||f?[{label:R("wordTable.filter.columns","\uCE78 \uC218"),items:Ey.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:R("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...gt&&(r?.length??0)>0?[wc(R,{hasPairs:Oe,itemCount:Bt})]:[],...Ze?[Ac(R)]:[]],[R,E,f,gt,r?.length,Oe,Bt,Ze]),Kt={...E||f?{[R("wordTable.filter.columns","\uCE78 \uC218")]:`${ot}\uCE78`}:{},...gt&&(r?.length??0)>0?{[R(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${jt}\uAC1C`}:{},...Ze?{[R("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Bc[fe]}:{}},kn=(Ne,Pe)=>{Pe===R("wordTable.filter.columns","\uCE78 \uC218")?E?Nt(parseInt(Ne)):at(parseInt(Ne)):Pe===R(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?ee(kc(parseInt(Ne),Bt)):Pe===R("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&te(Nc(Ne))},_t=E?Z3(ue.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Uo(Ne),words:Ne.map(Cu)}))):r??[],zt=()=>{E&&M(Ne=>Ne.length>L?Ne.slice(0,L):Ne)},Jt=(Ne=!1)=>{if(He(Ne),T&&s){const Pe=G.trim().toLowerCase();Pe&&Y(ne=>ne.includes(Pe)?ne:[...ne,Pe]),s(G,_t,J||void 0,Ne),zt();return}if(v&&s){s("",_t,void 0,Ne),zt();return}if(s){_e(!0);return}it()},[an,ln]=o.useState(!1),[Qt,An]=o.useState(""),Yt=Qt.trim(),ht=Yt!==""&&O.includes(Yt.toLowerCase()),cn=()=>{An(G?R("wordTable.save.copyName",{name:G,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),ln(!0)},Zt=()=>{!Yt||ht||!s||(s(Yt,_t,J||void 0,!0),zt(),ln(!1))},Mt=_t.length===0,un=Mt||T&&(G===""||H),Xt=()=>{if(Mt){Ge(R("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(T&&G===""){Ge(R("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}T&&H&&Ge(R("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},dn=n.jsx(oa,{items:_t,orientation:Se,contentTypes:re,cutLine:se,showOutline:ve,showDivLine:Be,count:ot});return n.jsxs(n.Fragment,{children:[n.jsxs(aa,{type:"page",icon:t,title:e,disc:a,className:De("word-table-block",C),children:[an&&n.jsx(jn,{size:"small",title:p??R("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ln(!1),footer:({closeWithAnimation:Ne})=>n.jsxs(n.Fragment,{children:[n.jsx(le,{htmlType:"button",size:48,type:"bar",label:R("common.cancel","\uCDE8\uC18C"),onClick:Ne}),n.jsx(le,{htmlType:"button",size:48,type:"bar",variant:"main",label:R("common.save","\uC800\uC7A5"),disabled:!Yt||ht,onClick:Zt})]}),children:n.jsx(Vn,{label:R("wordTable.save.nameLabel","\uC774\uB984"),value:Qt,onChange:An,placeholder:R("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:Zt,error:ht?R("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),ge&&s&&y?.({defaultName:typeof e=="string"?e:R("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:dn,previewW:We,previewH:Xe,items:_t,existingNames:Y3().map(Ne=>Ne.name),saveAsNew:Ye,onSave:(Ne,Pe)=>{s(Ne,_t,Pe,Ye),zt(),_e(!1)},onCancel:()=>_e(!1)}),(E||b)&&W!==null&&_?.({cellIndex:W,onConfirm:E?Le:Ne=>{if(b){const Pe=Ne[0];if(Pe){const ne=new Set((r??[]).map(z=>z.id));let Ce=Uo([Pe]);for(let z=2;ne.has(Ce);z++)Ce=`${Uo([Pe])}~${z}`;b({id:Ce,words:[Cu(Pe)]})}}ae(null)},onClose:Ie}),!h&&n.jsx(vo,{hasImage:sn,hasColloquial:Ke,contentTypes:re,orientation:Se,showOutline:ve,cutLine:se,showDivLine:Be,setters:{setContentTypes:q,setOrientation:pe,setShowOutline:ye,setCutLine:de,setShowDivLine:he},showCutLine:(gt?dt:ot)>1,showDivLine2:Oe,middleSections:tt,extraSelected:Kt,onExtraSelect:kn}),Ze&&Qe?n.jsx("div",{className:"word-table-block__pages",children:Qe.map((Ne,Pe)=>n.jsx(oa,{orientation:Se,contentTypes:re,cutLine:se,showOutline:ve,showDivLine:Be,count:dt,items:Ne,onRemoveItem:l,onReorder:m&&((ne,Ce)=>m(ne+Pe*dt,Ce+Pe*dt)),contentRef:ne=>{je.current[Pe]=ne},pageNumber:{current:Pe+1,total:Qe.length},pageNumberPosition:fe},Pe))}):n.jsx(oa,{orientation:Se,contentTypes:re,cutLine:se,showOutline:ve,showDivLine:Be,count:ot,items:E?void 0:r??[],editCells:E?ue:void 0,activeCell:W,onActivateCell:E||b?ae:void 0,onRemoveCell:E?Dt:void 0,onRemoveItem:E?void 0:l,onReorder:E?void 0:m,showFillerAdd:!!b,contentRef:ke}),T&&!h&&n.jsxs(sr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Tn,{variant:"custom",label:R("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(Vn,{required:!0,value:g??"",onChange:k,placeholder:N?N+R("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):R("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:R("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:H?R("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(g??"").trim()&&(N??"").trim()&&(Ne.preventDefault(),k?.(N??""))}})}),n.jsx(Tn,{variant:"custom",label:R("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(Vn,{value:w??"",onChange:B,placeholder:A?A+R("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):R("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:R("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(w??"").trim()&&(A??"").trim()&&(Ne.preventDefault(),B?.(A??""))}})})]})]}),!h&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!v&&c&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:U,onClick:c}),!v&&i&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:R("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!v&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:R("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:ze})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[$&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:R("common.cancel","\uCDE8\uC18C"),onClick:$}),!v&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:R("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:yt}),p&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:p,onClick:()=>T?cn():Jt(!0),disabled:Mt,onDisabledClick:()=>{Ge(R("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",label:d??R("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Jt(!1),disabled:un,onDisabledClick:Xt})]})]}),n.jsx(ta,{message:Ue,type:Ee,onClose:$e})]})}function gu({items:e,className:t}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return n.jsx("div",{className:De("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?n.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,p)=>n.jsxs(o.Fragment,{children:[p>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},p))},c):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function J3({items:e,name:t,description:a,createdAt:r,published:s,publishedLabel:i,shared:l,sharedLabel:c,isNew:u,publisherName:d,publishedAt:p,likeCount:m,downloadCount:f,onPublisherClick:b,selected:C,onClick:y,onMore:_,titleNode:h,className:v}){const{t:x}=be.useTranslation(),g=h!=null,k=d!=null||p!=null||m!=null||f!=null,w=B=>{B.target===B.currentTarget&&!g&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),y?.())};return n.jsxs("div",{className:De("word-table-button",C?"word-table-button--selected":"",k?"":"word-table-button--no-footer",v),role:"button",tabIndex:0,"aria-label":t,onClick:g?void 0:y,onKeyDown:w,children:[u&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":x("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(gu,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[h??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!g&&n.jsx(le,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:x("common.moreFor",{name:t}),onClick:B=>{B.stopPropagation(),_(B)}})]}),(r||s||l)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta caption-1",children:r?oi(r,x):""}),n.jsxs("span",{className:"word-table-button__badges",children:[s&&n.jsx(mt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??x("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),l&&n.jsx(mt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??x("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),k&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[d&&n.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:B=>{B.stopPropagation(),b?.()},children:d}),p&&n.jsx("span",{className:"training-card__date body-4",children:oi(p,x)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&n.jsx(mt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m)}),f!=null&&n.jsx(mt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(f)})]})]})]})}/**
|
|
1006
|
+
`).map((l,c,u)=>n.jsxs(o.Fragment,{children:[l,c<u.length-1&&n.jsx("br",{})]},c))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.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")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.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")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.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"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:to,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),n.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")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function d5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=ve.useTranslation(),p=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,h]=o.useState(!1),v=o.useId(),y=o.useRef(null);o.useEffect(()=>{if(!m)return;const f=In(()=>{const b=document.getElementById(v);b&&b.contains(document.activeElement)&&y.current?.focus(),h(!1)}),C=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,x=b=>{b.matches&&h(!1)};return C&&(C.matches&&h(!1),C.addEventListener?.("change",x)),()=>{f(),C?.removeEventListener?.("change",x)}},[m,v]);const g=l?`${l} landing-header__inner`:"landing-header__inner",_=(f,C)=>c?c(f,{onClick:C}):n.jsx("a",{href:f.href,onClick:C,"aria-current":f.current?"page":void 0,children:f.label});return n.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[n.jsxs("div",{className:g,children:[e!=null&&(()=>{const f=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:f}):n.jsx("div",{className:"landing-header__brand",children:f})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((f,C)=>n.jsx("span",{children:_(f)},`${C}:${f.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:y,type:"button",onClick:()=>h(f=>!f),"aria-expanded":m,"aria-controls":v,"aria-label":m?p.close:p.open,className:m?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:v,hidden:!m,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((f,C)=>n.jsx("span",{className:"landing-header__drawer-item",children:_(f,()=>h(!1))},`${C}:${f.href}`))})})]})}function p5({children:e,action:t,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:s,onClick:a,...Ql(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const ia=9,m5=e=>Math.round(Math.min(ia,Math.max(0,e))/ia*100),h5=e=>e/100*ia,ja=2,$c=.1,f5=e=>Math.min(ja,Math.max(0,e)),C5=.1,g5=e=>Math.round(e*1e6)/1e6;function Ta(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return f5(t);const a=Math.min(ia,Math.max(0,Number(e.level)||0))/ia,r=Number(e.mainVolume);return r>0?a>0?g5(Math.min(ja,Math.max(C5,a/r))):0:1}const Rc=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Pc(e){return Rc(e)}function Do(e){return Rc(e)*Ta(e)}function So(e,t=Ws()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Do(e)/a)}function Ma(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Ta({level:a.level,mainVolume:a.mainVolume})),a}const La={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Eo=o.createContext(null);function ar(){return o.useContext(Eo)}const jo=e=>`${U0()}/${e}`,Ic=e=>Array.from({length:10},(t,a)=>jo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),rr={get defaultNoise(){return jo("noise1.mp3")},get street(){return Ic("noise2")},get restaurant(){return Ic("noise3")},get buzz(){return jo("noise4.mp3")}};function b5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return rr.defaultNoise;case"street":return rr.street[t];case"restaurant":return rr.restaurant[t];case"buzz":return rr.buzz;default:return null}}function y5({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),c=o.useRef(null),u=o.useRef(null),d=o.useRef(null),p=o.useRef(null),m=o.useRef(0),h=o.useRef(null),v=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),y=o.useCallback((x,b=250)=>{const w=s.current;if(!w)return;const k=u.current;if(k){u.current=null;try{w.pause()}catch{}w.src=k,w.load()}if(!w.src)return;m.current+=1,v();try{Sr(),Ia(w).then(D=>{if(s.current===w)try{r.current?.("noise",D)}catch{}})}catch{}const B=w.paused?0:Fa(w);w.paused&&Dn(w,0),w.play().catch(()=>{});const N=performance.now(),A=()=>{const D=Math.min(1,(performance.now()-N)/b);try{Dn(w,B+(x-B)*D)}catch{}D<1?p.current=requestAnimationFrame(A):p.current=null};p.current=requestAnimationFrame(A)},[v]),g=o.useCallback((x=250,b)=>{const w=s.current;if(!w||w.paused){b?.();return}const k=++m.current;v();const B=performance.now(),N=Fa(w),A=()=>{const D=Math.min(1,(performance.now()-B)/x);try{Dn(w,N*(1-D))}catch{}if(D<1)p.current=requestAnimationFrame(A);else{p.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{w.pause()}catch{}b?.()}};p.current=requestAnimationFrame(A),h.current=setTimeout(()=>{if(h.current=null,m.current===k){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{w.paused||(Dn(w,0),w.pause(),b?.())}catch{}}},x+150)},[v]);o.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",s.current=x,()=>{v();try{x.pause(),x.src=""}catch{}s.current=null,c.current=null,u.current=null}},[v]);const _=e?So(e.settings):0,f=!!e?.settings.enabled&&_>0;o.useEffect(()=>{if(!f)return;let x=0;const b=setInterval(()=>{const w=s.current;if(!w||w.paused){x=0;return}const k=t.current;if(k&&!k.paused&&!k.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,g())},400);return()=>clearInterval(b)},[g,f,t,a]),o.useEffect(()=>{const x=()=>{const b=s.current;if(document.hidden){if(b&&!b.paused){v();try{b.pause()}catch{}}return}if(!b||!b.paused)return;const w=t.current,k=!!w&&!w.paused&&!w.ended||a.current==="playing",B=d.current;k&&B?.enabled&&B.volume>0&&y(B.volume)};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[v,y,t,a]),o.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:_,type:e.settings.type}:null},[e,e?.settings.enabled,_,e?.settings.type]);const C=o.useRef(null);return o.useEffect(()=>()=>{C.current?.(),C.current=null},[]),o.useEffect(()=>{const x=e?.settings,b=s.current;if(!b)return;const w=x?So(x):0;if(!x||!x.enabled||w===0){g();return}if(c.current!==x.type){const k=b5(x.type);k&&(c.current=x.type,l(k),u.current=k,g(150,()=>{if(u.current!==k)return;u.current=null,b.src=k,b.load();const B=t.current;if(B&&!B.paused){C.current?.();const N=()=>{b.removeEventListener("canplay",N),C.current===A&&(C.current=null);const D=t.current,H=d.current;D&&!D.paused&&!D.ended&&H?.enabled&&H.volume>0&&y(H.volume)},A=()=>b.removeEventListener("canplay",N);C.current=A,b.addEventListener("canplay",N)}}))}else{const k=t.current,B=!!k&&!k.paused&&!k.ended||a.current==="playing";if(B&&u.current)y(w);else if(B&&b.paused&&b.src)y(w);else if(!b.paused)if(!B)g();else{v();const N=Fa(b),A=performance.now(),D=()=>{const H=Math.min(1,(performance.now()-A)/150);try{Dn(b,N+(w-N)*H)}catch{}H<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)}}},[e?.settings,e?.settings.enabled,_,e?.settings.type,v,y,g,t,a,d]),o.useEffect(()=>{const x=s.current;if(x)try{x.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:v,fadeInNoise:y,fadeOutNoise:g}}function v5({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:p,onDoneRef:m,handleEndRef:h}){const v=o.useRef(null),y=o.useRef(0),g=o.useRef(null),_=o.useRef(0),f=o.useRef(!1);o.useEffect(()=>()=>{_.current++;try{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),f.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}f.current=!1}}catch{}},[]);const C=(w,k=1)=>{try{const B=(w||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(w||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,k)))}catch{return 1200}},x=o.useCallback(w=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const k=window.speechSynthesis,B=++_.current;try{try{k.cancel()}catch{}const N=w??e,A=Array.isArray(N)?N.filter(S=>!!S):[N||""];A.length===0&&A.push("");const D=Math.max(.3,Math.min(3,t));y.current=A.reduce((S,M)=>S+C(M,D||1),0),v.current=performance.now(),i(0),l("playing"),c("playMode");const H=p.current;H?.enabled&&(H?.volume??0)>0&&u(H.volume);const R=()=>{try{const S=v.current||performance.now(),M=performance.now()-S,z=y.current||1200,K=Math.min(1,M/z);try{r.current&&(r.current.style.left=`${K*100}%`),s.current&&s.current.style.setProperty("--progress",String(K))}catch{}K<1&&(g.current=requestAnimationFrame(R))}catch{}},P=()=>{if(B===_.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{}},G=S=>{const M=new SpeechSynthesisUtterance(A[S]);try{M.rate=D}catch{}try{M.volume=Math.max(0,Math.min(1,a))}catch{}M.onend=()=>{if(B===_.current){if(S<A.length-1){try{G(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(R)}catch{}},f.current=!0,k.speak(M)};try{G(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,t,a,u,r,s,i,l,c,p,m,h]),b=o.useCallback(()=>{_.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}g.current&&(cancelAnimationFrame(g.current),g.current=null),d(),v.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:x,stopTTS:b}}async function x5(e,t,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 c=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,u=Math.max(t,c),d=Math.floor(u/t)||1;return new Array(t).fill(0).map((p,m)=>{const h=m*d,v=Math.min(h+d,u);let y=0;for(let g=h;g<v;g++){const _=Math.abs(l[g]);_>y&&(y=_)}return y})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Fc(e,t,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await x5(s,t,a)}catch(r){try{const s=ei(r)}catch{}return null}}const Oc=45,_5=74,w5=2;function $a(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function To(e){return $a(e)/45}const Hc=4;function k5(e){const{src:t,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,h=o.useRef(null),v=o.useRef(null),[y,g]=o.useState(null),[_,f]=o.useState(!1),[C,x]=o.useState(null),[b,w]=o.useState(2),[k,B]=o.useState(0),[N,A]=o.useState(null),[D,H]=o.useState(!1),[R,P]=o.useState(!1),G=3,S=3,M=1,z=300,K=o.useRef(0),Z=o.useCallback(()=>{const re=h.current,W=v&&v.current?v.current:re?re.closest(".audio-player__wave"):null,ie=W?W.getBoundingClientRect():re?re.getBoundingClientRect():null,pe=ie?ie.width:0,ye=ie?Math.max(100,ie.width):320,ge=ie?ie.height:0,we=Math.max(M,Math.min(z,Math.floor((ye+S)/(G+S)))),Ce=we*G,Be=Math.max(0,we-1),De=Math.max(0,Be>0?(ye-Ce)/Be:S);return{bars:we,gap:De,height:ge,width:pe}},[]),q=o.useRef(void 0),te=o.useRef(null),O=o.useCallback(async(re,W,{quiet:ie=!1}={})=>{const pe=++K.current,ye=()=>K.current===pe;try{if(ie||f(!1),q.current=re,!re){ye()&&g(null);return}let ge=W;if(!ge)try{for(let Be=0;Be<4&&!(h.current||v.current);Be++)await new Promise(De=>requestAnimationFrame(De));await new Promise(Be=>requestAnimationFrame(Be));const Ce=Z();Ce.height>0&&B(Ce.height),ge=Ce.bars,w(Ce.gap)}catch{ge=120}te.current=ge;const we=await Fc(re,ge);if(!ye())return;if(!we){g(null),f(!1);return}g(we),x(ge),f(!0)}catch{if(!ye())return;g(null),f(!1)}},[f,g,B,w,x,Z]);o.useEffect(()=>{const re=v.current;if(!re||typeof ResizeObserver>"u")return;let W=null;const ie=new ResizeObserver(()=>{W!==null&&cancelAnimationFrame(W),W=requestAnimationFrame(()=>{W=null;try{const pe=Z();if(pe.width<=0||(pe.height>0&&B(pe.height),te.current===null||pe.bars===te.current))return;const ye=q.current;w(pe.gap),ye?O(ye,pe.bars,{quiet:!0}).catch(()=>{}):te.current=pe.bars}catch{}})});return ie.observe(re),()=>{ie.disconnect(),W!==null&&cancelAnimationFrame(W)}},[Z,O]),o.useEffect(()=>{const re=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;O(typeof re=="string"?re:void 0).catch(()=>{}),P(!1)},[t,a,O]),o.useEffect(()=>{let re=!1;if(H(!1),!i||!C){A(null);return}const W=u>0?u*(c||1):void 0;return Fc(i,C,W).then(ie=>{re||(A(ie),ie||H(!0))}).catch(()=>{re||(A(null),H(!0))}),()=>{re=!0}},[i,C,u,c]);const L=Math.max(0,Math.min(1,d)),E=o.useMemo(()=>y&&y.length&&Math.max(...y)||1,[y]),I=C||40,F=o.useMemo(()=>Array.from({length:I}).map((re,W)=>{const ie=y&&y[W]!=null?y[W]:null,pe=ie==null?null:Math.min(1,ie/E*L),ye=pe!=null&&k>0&&$a(pe)<=Hc,ge=pe==null?.15:ye?0:To(pe),we=I>1?W/(I-1):0;return n.jsx("div",{className:ye?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ge,"--i":W,"--mix":we}},W)}),[I,y,E,L,k]),$={"--progress":String(Math.max(0,Math.min(1,r)))},T=i?Math.max(1,l):1,Y={"--bar-gap":`${b}px`,"--wave-h":`${$a(T)}px`,"--wave-h1":`${Oc}px`},U=L*Math.max(0,l)/Ws(),J=_&&(i?!!N||D:!0);o.useEffect(()=>{J&&P(!0)},[J]);const ce=R?_:J;o.useEffect(()=>{p?.(ce)},[ce,p]);const Ee=C||40,de=o.useMemo(()=>Array.from({length:Ee}).map((re,W)=>{const ie=N&&N[W]!=null?N[W]:null,pe=ie==null?0:ie/E*U,ye=k>0&&$a(pe)<=Hc,ge=ye?0:To(pe),we=Ee>1?W/(Ee-1):0;return n.jsx("div",{className:ye?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ge,"--i":W,"--mix":we}},W)}),[Ee,N,E,U,k]);return n.jsxs("div",{className:"audio-player__wave",ref:v,style:Y,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${J?"is-ready":""}`,"aria-hidden":"true",children:de}),m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ce?"is-ready":""}`,ref:h,children:F}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ce?"is-ready":""}`,ref:s,style:$,children:F})]})]})}const A5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function Mo(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(s.duration)&&s.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",c),s.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),s.src=e})}const B5=2e3;function zc(e,t=B5){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,t)})}function N5({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(u=>{if(r.current=u,!u||!s.current.length)return;const d=s.current;s.current=[];for(const p of d)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),c=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(u=>{const d=m=>{clearTimeout(p),s.current=s.current.filter(h=>h!==d),u(m)},p=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const u=s.current;s.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function D5(){const e=o.useRef([]),t=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:t,keepOnly:a,revokeAll:r}}function S5({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=t.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:t,rect:a,show:i,hide:s}}function E5({currentTime:e,sources:t,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(t)&&t.length>0?t[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function j5(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function T5({ended:e,completedByEnd:t}){return!!e||!!t}function M5(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function L5(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function $5(e,t,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),c=a(l,t);c&&s.push({code:l,resolvedPath:c})}}return s}function R5(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===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 P5({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=o.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:R5(p),v=t.current;if(h===null)try{v&&v.style.visibility!=="hidden"&&(v.style.visibility="hidden")}catch{}else{const y=E5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:h});try{v&&(v.style.visibility&&(v.style.visibility=""),v.style.left=`${y*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(y))}catch{}}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,s]),u=o.useCallback(d=>{l();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[l,t,a]);return o.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:u}}function Lo({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=ve.useTranslation(),p=e,m=ar(),h=o.useRef(m?.registerAnalyser);o.useEffect(()=>{h.current=m?.registerAnalyser});const v=o.useRef(null),y=o.useRef(null),g=o.useRef(null),_=D5(),f=o.useRef(null),C=o.useRef(!1),x=o.useRef(0),b=o.useRef(null),{ref:w,rect:k,show:B,hide:N}=S5();o.useEffect(()=>()=>{h.current?.("main",null),h.current?.("noise",null)},[]);const[A,D]=o.useState(!1),[H,R]=o.useState("idle"),[P,G]=o.useState("stopped"),S=o.useRef("stopped");o.useEffect(()=>{S.current=P},[P]);const[M,z]=o.useState(0),[K,Z]=o.useState("active"),q=o.useRef(!1);o.useEffect(()=>{if(K!=="playMode"||!q.current)return;q.current=!1;const V=typeof document<"u"?document.activeElement:null;if(V&&V!==document.body)return;const se=g.current?.querySelectorAll("button")[1];try{se?.focus()}catch{}},[K]);const[te,O]=o.useState(null),[L,E]=o.useState(null),[I,F]=o.useState(0),[$,T]=o.useState(!1),[Y,U]=o.useState(0),J=m?.playbackRate??1,ce=m?.mainVolume??1,Ee=m?Do(m.settings):0,de=m?Pc(m.settings):ce,[re,W]=o.useState("idle"),[ie,pe]=o.useState(""),[ye]=o.useState("top"),ge=o.useRef(null),we=o.useRef(0),Ce=o.useRef(null),{start:Be,stop:De,settleTo:oe}=P5({audioRef:v,fillRef:y,waveProgressRef:Ce,sourcesRef:ge,currentIndexRef:we}),{onReadyChange:ee,waitForReady:fe,markNotReady:ae}=N5({showSoundWaveForm:c,showNoiseWaveForm:u}),be=o.useRef(null),_e=o.useRef(s),Ke=o.useRef(r),Ve=o.useRef(null),qe=o.useRef(!1),[je,Ue]=o.useState(!1),Le=o.useCallback(V=>{qe.current=V,Ue(V)},[]),Ie=o.useRef(null),{activeNoiseUrl:ze,noiseSettingsRef:nt,fadeInNoise:ot,fadeOutNoise:Ge}=y5({noisePlayer:m,audioRef:v,playbackStateRef:S}),{startTTS:Xe,stopTTS:ht}=v5({ttsText:i,playbackRate:J,mainVolume:de,fillRef:y,waveProgressRef:Ce,setProgress:z,setPlaybackState:G,setStateLocal:Z,fadeInNoise:ot,fadeOutNoise:Ge,noiseSettingsRef:nt,onDoneRef:Ke,handleEndRef:Ie});o.useEffect(()=>{ft.current=ht});const At=V=>{if(typeof window>"u"||!window.speechSynthesis){try{pe(d("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Xe(V);return}wt("tts"),Xe(V)},zt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Ct=(!zt||zt.length===0)&&!!i,et=Array.isArray(te)&&te.length>0?te:Array.isArray(L)&&L.length>0?L:null,Ye=Math.max(Array.isArray(et)?et.length:0,zt.length),Je=o.useRef(!0);o.useEffect(()=>(Je.current=!0,()=>{Je.current=!1}),[]);const it=o.useRef(0),Oe=()=>{it.current+=1,x.current+=1},ft=o.useRef(null),He=o.useRef(null),dt=o.useRef(null),Et=o.useRef(null);Et.current||(Et.current=()=>{dt.current=null;const V=v.current;if(He.current==="audio"&&V&&!V.paused){it.current+=1,x.current+=1;try{V.pause()}catch{}Je.current&&G("paused")}else if(He.current==="tts")try{ft.current?.()}catch{}});const wt=V=>{He.current=V,dt.current=Xa(Et.current)},xt=()=>{dt.current?.(),dt.current=null};o.useEffect(()=>()=>{Et.current&&Ja(Et.current)},[]);const rt=o.useCallback(async(V,se=3,ue=50)=>{const ke=it.current;for(let Ae=0;Ae<se;Ae++){if(!Je.current||ke!==it.current)return!1;try{return wt("audio"),await V.play(),!0}catch(Me){if((Me instanceof Error||typeof Me=="object"&&Me&&"name"in Me?Me.name:void 0)==="AbortError"){if(ke!==it.current)return!1;await new Promise(tt=>setTimeout(tt,ue));continue}try{pe(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{pe(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),Re=o.useCallback(()=>{const V=v.current;if(!V)return;const se=()=>{G("playing"),Z("playMode"),T(!0),Be();try{Sr(),Ia(V).then(Me=>{if(Je.current)try{h.current?.("main",Me)}catch{}})}catch{}const Ae=nt.current;Ae?.enabled&&(Ae?.volume??0)>0&&ot(Ae.volume)},ue=()=>{T5({ended:!!V?.ended,completedByEnd:qe.current})||(G("paused"),De(),Ge())},ke=()=>{try{const Ae=ge.current,Me=j5(Ae,we.current);if(Me!==null){we.current=Me,F(Me),T(!0);const tt=Ae?.[Me]&&Ae[Me].src;if(tt&&V){V.src=tt,V.load(),rt(V).catch(()=>{});return}}}catch{}G("stopped"),z(1);try{if(V)try{V.currentTime=0}catch{}}catch{}De(),T(!1),Ge();try{!_e.current&&Ie.current&&Ie.current()}catch{}};return V.addEventListener("play",se),V.addEventListener("pause",ue),V.addEventListener("ended",ke),()=>{try{V.removeEventListener("play",se),V.removeEventListener("pause",ue),V.removeEventListener("ended",ke),De()}catch{}}},[ot,Ge,rt,nt,Be,De]);o.useEffect(()=>Re(),[Re]),o.useEffect(()=>{_e.current=s},[s]),o.useEffect(()=>{Ke.current=r},[r]),o.useEffect(()=>{if(s||K!=="active")return;const V=b.current;if(!V)return;let se=null;const ue=requestAnimationFrame(()=>{try{const ke=V.getTotalLength();if(!ke)return;const Ae=ke*.2;V.style.strokeDasharray=`${ke-Ae} ${Ae}`;const Me="triFlow_"+Math.random().toString(36).slice(2);se=document.createElement("style"),se.textContent=`@keyframes ${Me}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ke}}}`,document.head.appendChild(se),V.style.animation=`${Me} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ue),se?.remove()}},[K,s]),o.useEffect(()=>{ge.current=te},[te]),o.useEffect(()=>{we.current=I},[I]),o.useEffect(()=>{const V=g.current,se=f.current;if(!V||!se)return;let ue=null;const ke=32,Ae=60,Me=()=>{try{const yt=Array.from(V.querySelectorAll(":scope > .button"));let ct=0;yt.forEach(mn=>{if(mn===se)return;const dr=mn.getBoundingClientRect();ct+=dr.width});const Nt=V.getBoundingClientRect().width,qt=Math.max(0,Math.floor(Nt-ct-8)),Rt=Ye;if(!Rt||qt<=0){Array.from(se.children).forEach(mn=>{try{mn.style.width=""}catch{}});return}let pn=Math.floor(qt/Rt);pn>Ae&&(pn=Ae),pn<ke&&(pn=Math.max(ke,Math.floor(qt/Rt))),Array.from(se.querySelectorAll(".button")).forEach(mn=>{try{mn.style.width=`${pn}px`}catch{}})}catch{}},tt=requestAnimationFrame(Me);try{ue=new ResizeObserver(()=>{requestAnimationFrame(Me)}),ue.observe(V),ue.observe(se),window.addEventListener("resize",Me)}catch{}return()=>{try{cancelAnimationFrame(tt)}catch{}try{ue&&(ue.disconnect(),ue=null)}catch{}try{window.removeEventListener("resize",Me)}catch{}}},[te,L,Ye]),o.useEffect(()=>()=>{try{be.current&&(clearTimeout(be.current),be.current=null),Ve.current&&(clearTimeout(Ve.current),Ve.current=null)}catch{}},[]);const at=(V,se)=>{O(V),U(se),ae(),E(M5(V)),ge.current=V},gt=async(V,se)=>{Le(!1),C.current=!1,V.src=se,V.load(),await zc(V),await fe()!==!1&&(D(!1),await rt(V),Z("playMode"),F(0),T(!0))},Vt=async(V,se=!1)=>{const ue=v.current;D(!0),R("measuring_duration");try{const ke=await Mo(V,{timeoutMs:1e4,rejectOnError:!0});at([{src:V,objectUrl:null,duration:ke}],ke),R("ready"),se&&ue&&await gt(ue,V)}finally{C.current=!1,D(!1)}},Qe=async(V,se=!1)=>{const ue=v.current;D(!0),R("measuring_duration");try{const ke=await Promise.all(V.map(Me=>Mo(Me,{timeoutMs:1e4})));if(!Je.current)return;const Ae=V.map((Me,tt)=>({src:Me,objectUrl:null,duration:ke[tt]||0}));at(Ae,L5(Ae)),R("ready"),se&&ue&&Ae.length>0&&await gt(ue,Ae[0].src)}finally{C.current=!1,D(!1)}},Yt=async(V=!1,se=!0)=>{const ue=v.current,ke=t?Array.isArray(t)?t:[t]:[];if(!ke||ke.length===0||!ke.some(Boolean))return!1;if(C.current)return null;C.current=!0,se&&D(!0),R("resolving");try{const Ae=$5(t,a,Hs),Me=[];let tt=0;for(const yt of Ae){let ct=yt.src??null,Nt=null;if(!ct&&yt.resolvedPath){try{R("getting_signed_url"),ct=await zs(yt.resolvedPath)}catch{ct=null}if(!Je.current)return!1;if(!ct)try{R("downloading");const Rt=await Vs(yt.resolvedPath);if(!Je.current)return!1;if(Rt){const pn=Rt instanceof Blob?Rt:new Blob([Rt]);Nt=_.track(URL.createObjectURL(pn)),ct=Nt}}catch{R("error");try{pe(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),Z("active")}catch{}}}if(!ct)continue;let qt=0;try{R("measuring_duration"),qt=await Mo(ct,{timeoutMs:3e3})}catch{qt=0}if(!Je.current){if(Nt)try{URL.revokeObjectURL(Nt)}catch{}for(const Rt of Me)if(Rt.objectUrl)try{URL.revokeObjectURL(Rt.objectUrl)}catch{}return!1}tt+=qt||0,Me.push({...yt,src:ct,objectUrl:Nt,duration:qt})}if(at(Me,tt),Me.length>0&&V&&ue){const yt=Me[0];Le(!1);try{_.keepOnly(Me.map(ct=>ct.objectUrl))}catch{}if(R("ready"),C.current=!1,yt.src&&ue)try{if(ue.src=yt.src,ue.load(),await zc(ue),await fe()===!1)return!1;se&&D(!1),ue&&await rt(ue)}catch{se&&D(!1)}else se&&D(!1);Z("playMode"),F(0),T(!0)}return Me.length>0}finally{C.current=!1,se&&D(!1),R(Ae=>Ae==="ready"?"ready":"idle")}},kn=async()=>{const V=v.current;if(!(!V&&!Ct)){if(Ct){const se=window.speechSynthesis;if(K==="active"){const ue=Br(),ke=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ue&&ke.length>0){Z("load"),D(!0),R("resolving"),C.current=!0;try{const Ae=await Promise.all(ke.map(Me=>Promise.resolve(ue(Me))));Ae.length>1?await Qe(Ae,!0):await Vt(Ae[0],!0)}catch{C.current=!1,D(!1),Z("active"),At(ke.length>0?ke:void 0)}return}At(ke.length>0?ke:void 0);return}if(K==="playMode"){const ue=!!se&&(se.speaking||se.paused)&&!(V&&(V.currentSrc||V.getAttribute("src")));if(V&&!ue){if(V.paused){if(qe.current){await Bt();return}await rt(V),G("playing")}else Oe(),V.pause(),G("paused");return}try{if(se&&se.paused)try{wt("tts"),se.resume(),G("playing")}catch{}else try{se.pause(),G("paused")}catch{}}catch{}}return}if(K==="active"){if(s&&Array.isArray(ge.current)&&ge.current.length>0){const ue=ge.current[0];try{if(ue.src&&V)try{V.src=ue.src,V.load(),V&&await rt(V)}catch{}Z("playMode"),F(0),T(!0);return}catch{}}Z("load");let se;try{se=await Yt(!0)}catch{se=!1}if(se===!1&&Je.current){try{pe(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}Z("active")}return}if(K!=="load"&&(K==="playMode"||K==="active"))try{if(V&&V.paused){if(qe.current){await Bt();return}V&&await rt(V),G("playing")}else V&&(Oe(),V.pause(),G("paused"))}catch(se){(se instanceof Error||typeof se=="object"&&se&&"name"in se)&&se.name}}},Bt=async()=>{const V=v.current;if(V)try{const se=ge.current;if(Array.isArray(se)&&se.length>1){await Zt(0);return}Le(!1);try{V.currentTime=0}catch{}V&&await rt(V),G("playing"),Z("playMode")}catch{}},Wt=()=>{if(Oe(),xt(),Ct){ht();return}const V=v.current;try{if(V){try{V.pause()}catch{}try{V.currentTime=0}catch{}}}catch{}Ge(),G("stopped"),Z("active"),z(0),T(!1)},Qt=async(V,{sameSegment:se=!1}={})=>{const ue=++x.current,ke=v.current,Ae=ge.current?.[V]?.src;try{if(Le(!1),F(V),T(!0),we.current=V,!Ae||!ke||(se||ae(),ke.src=Ae,ke.load(),!se&&await fe()===!1)||ue!==x.current||(await rt(ke),ue!==x.current))return;G("playing"),Z("playMode")}catch{}},rn=async()=>{const V=ge.current,se=we.current||0;if(!V||se<=0){await Bt();return}await Qt(se-1)},ln=async()=>{const V=ge.current,se=we.current||0;if(!V||se>=V.length-1){Wt();return}await Qt(se+1)},en=()=>{if(qe.current)return;const V=200,se=340;Le(!0),Oe(),xt();try{z(1)}catch{}oe(1);try{W("hold")}catch{}try{const ue=v.current,ke=Ct&&!!ue?.src;if(!Ct||ke){if(ue){ue.pause();try{ue.currentTime=0}catch{}}}else ht();Ge()}catch{}try{G("stopped")}catch{}if(T(!1),!_e.current)try{Ve.current&&(clearTimeout(Ve.current),Ve.current=null),Ve.current=setTimeout(()=>{try{W("out")}catch{}Ve.current=setTimeout(()=>{try{typeof Ke.current=="function"&&Ke.current(!0)}catch{}try{W("idle")}catch{}Ve.current=null},se)},V)}catch{}};o.useEffect(()=>{Ie.current=en});const An=o.useCallback(()=>pe(""),[]),Zt=async V=>{(ge.current||[])[V]&&await Qt(V,{sameSegment:V===we.current})},bt=P==="playing",cn=o.useMemo(()=>{if(!L||L.length<=1)return L;const V=L[I];return V?[V]:L},[L,I]),Xt=s===!0;o.useEffect(()=>{try{const V=v.current;V&&typeof V.playbackRate=="number"&&(V.playbackRate=J||1)}catch{}},[J]);const Tt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const V=v.current;if(!V)return;const se=Math.max(0,Math.min(1,de)),ue=Tt.current,ke=()=>{ue.raf!==null&&(cancelAnimationFrame(ue.raf),ue.raf=null),ue.timer!==null&&(clearTimeout(ue.timer),ue.timer=null)};ke();const Ae=Fa(V);if(V.paused||Math.abs(Ae-se)<.001||typeof requestAnimationFrame!="function"){try{Dn(V,se)}catch{}return}const Me=performance.now(),tt=()=>{const yt=Math.min(1,(performance.now()-Me)/150);try{Dn(V,Ae+(se-Ae)*yt)}catch{}ue.raf=yt<1?requestAnimationFrame(tt):null};return ue.raf=requestAnimationFrame(tt),ue.timer=setTimeout(()=>{ke();try{Dn(V,se)}catch{}},200),ke},[de]);const un=re==="hold",Jt=re==="out",dn=K==="playMode"&&!A&&!je||un||Jt,Ne=P!=="stopped"||un||Jt,Pe=P==="paused",ne=Math.max(0,Math.min(100,(M||0)*100)),he=Se("audio-player__fill",dn?"is-visible":"",Ne?"is-expanded":"",Pe?"is-paused":"",Jt?"is-out":"");return n.jsxs("div",{className:`audio-player ${Xt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${bt?"is-playing":""} ${A?"is-loading":""} ${K!=="default"?"is-revealed":""}`,children:[A?n.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:d(`training.audioStatus.${H}`,{defaultValue:A5[H]})})]}):null,K==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Xt,onClick:()=>{q.current=Qa(),N(),kn()},"aria-label":typeof p=="string"?p:d("training.listen","\uB4E3\uAE30"),onMouseEnter:B,onMouseLeave:N,onFocus:B,onBlur:N,children:n.jsx("span",{ref:w,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:b,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,k&&n.jsx(bn,{anchorRect:k,text:typeof p=="string"&&p?p:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${K==="playMode"||bt?"is-visible":""}`,inert:!(K==="playMode"||bt)||void 0,children:[n.jsxs("div",{ref:g,className:"audio-player__buttons",children:[n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:rn,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:bt?"pause":"play",onClick:kn,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":bt,width:"60px",variant:"transparent-white",disabled:K!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Wt,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),Ye>1?n.jsx("div",{ref:f,className:"audio-player__source-buttons",children:Array.from({length:Ye}).map((V,se)=>n.jsx(le,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(se+1),onClick:()=>{try{Zt(se)}catch{}},ariaLabel:d("training.sourcePlay",{n:se+1}),variant:"transparent-white",selected:$&&I===se,disabled:K!=="playMode"||!(Array.isArray(te)&&te[se]),showTooltipInfo:!0},se))}):null,!Array.isArray(te)||te.length<=1?n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Bt,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"}):null,n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ln,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:K!=="playMode"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:en,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:he,ref:y,style:{left:`${ne}%`},"aria-hidden":"true"}),(c||u)&&n.jsx(k5,{segments:cn,progress:M,totalDuration:Y,waveProgressRef:Ce,showSoundWaveForm:c,noiseSrc:u&&m?.settings.enabled&&Ee>0?ze:null,noiseRatio:m?Ta(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ce,onReadyChange:ee})]})]}),n.jsx("audio",{ref:v,crossOrigin:"anonymous",preload:"auto"})]}),!c&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(We,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(ta,{message:ie,position:ye,onClose:An})]})}function or(e){const{t}=ve.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:p,decrease:m,canIncrease:h,canDecrease:v,fontSize:y,lineHeight:g}=Ji({storageKey:"tooltip-fontScale"}),_=o.useCallback(()=>d(w=>w==="dark"?"light":"dark"),[]),f=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],x={fontSize:`${y}px`,lineHeight:`${g}px`,"--tt-line-height":`${g}px`,"--tt-marker-size":"28px"},b=n.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:x,children:C.map((w,k)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:k+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:w})]},k))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!v}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!h}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:_,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:f,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return s?n.jsx(gn,{anchorRect:s,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:b}):n.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:b})}function Vc({state:e="disabled"}){const{t}=ve.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(We,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function Wc(e,t,a){const r=o.useRef(t),s=o.useRef(a);o.useEffect(()=>{r.current=t,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=r.current(),d=u?Array.from(u.querySelectorAll(Cn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function qc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:p=!1}){const{t:m}=ve.useTranslation(),h=nn("(max-width: 767px)"),v=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),y=`training-step__title-row training-step__title-row--${r}`.trim(),g=o.useRef(null),[_,f]=o.useState(!1),[C,x]=o.useState(null),[b,w]=o.useState(null);Wc(_&&!!C,()=>{if(typeof document>"u")return null;const D=Array.from(document.querySelectorAll(".tooltip-content"));for(let H=D.length-1;H>=0;H--)if(D[H].querySelector(".tooltip-textbox__root"))return D[H];return null},()=>g.current?.querySelector("button")??null);const k=o.useRef(i);o.useEffect(()=>{k.current=i});const B=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(D=>typeof D=="string"||typeof D=="number")?l.join(""):"",[l]),N=o.useCallback(()=>{f(!1),x(null),w(null)},[]);o.useEffect(()=>{if(!_)return;let D;try{typeof k.current=="function"&&(D=k.current())}catch{}if(D===!1){N();return}w(typeof D<"u"&&D!==null?D:null)},[B]);const A=o.useCallback(()=>{let D;try{typeof i=="function"&&(D=i())}catch{}if(D!==!1){if(w(typeof D<"u"&&D!==null?D:l),!g.current){f(H=>!H);return}if(_)f(!1),x(null),w(null);else{const H=g.current.getBoundingClientRect();x(H),f(!0)}}},[i,l,_]);return n.jsxs("div",{className:y,children:[n.jsx("p",{className:v,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),s||u?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[u&&n.jsx(le,{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&&n.jsx("div",{ref:g,children:n.jsx(le,{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:_?"is-selected":void 0,"aria-expanded":_,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),_&&n.jsx(or,{text:b??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:N,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function $o(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Vn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0}){const{t:d}=ve.useTranslation(),[p,m]=o.useState(()=>$o(e,t));o.useEffect(()=>{const w=$o(e,t);if(w!==p){const k=setTimeout(()=>m(w),0);return()=>clearTimeout(k)}},[e,t,p]);const h=o.useCallback((...w)=>{$o(e,t)==="done"||p==="done"||typeof c=="function"&&c(...w)},[e,t,p,c]),[v,y]=o.useState(!1),[g,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),f=o.useCallback(w=>{if(!w)return null;try{const k=w;if(typeof w=="object"&&(k.currentTarget||k.target)&&(k.nativeEvent||k.type)){const A=k.currentTarget??k.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(w instanceof DOMRect)return w;const B=w;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect();const N=w?.current;return N&&typeof N.getBoundingClientRect=="function"?N.getBoundingClientRect():null}catch{return null}},[]),C=o.useCallback((w,{text:k="",label:B="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:N=!1,alignX:A="center",alignY:D="top"}={})=>{const H=f(w);_({text:k,label:B,anchorRect:H,backdrop:N,alignX:A,alignY:D}),y(!0)},[f]),x=o.useCallback(()=>{y(!1),_(w=>({...w,anchorRect:null}))},[]),b=o.Children.map(i,w=>{if(o.isValidElement(w)){const k=w;if(typeof k.type=="string")return k;const B=k.props??{},N=typeof B.onDone=="function"?B.onDone:h,A=typeof B.disabled=="boolean";let D=p==="disabled";return A&&(D=!!B.disabled),o.cloneElement(k,{onDone:N,disabled:D,showTooltip:C,hideTooltip:x})}return w});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(Vc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(qc,{state:p,title:r,...s,useFaded:u}),b]}),v?n.jsx(gn,{anchorRect:g.anchorRect,backdrop:g.backdrop,onClose:x,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(or,{text:g.text,onClose:x})}):null]})}function Uc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=ve.useTranslation(),[s,i]=o.useState("disabled"),[l,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c(P=>P==="dark"?"light":"dark"),{increase:d,decrease:p,canIncrease:m,canDecrease:h,fontSize:v,lineHeight:y}=Ji({storageKey:"textbox_fontScale"}),[g,_]=o.useState(""),f=o.useRef(null),C=o.useRef(!1),x=o.useCallback(()=>{C.current=Qa()&&!!f.current&&f.current.contains(document.activeElement),i("active")},[]),b=o.useCallback(()=>_(""),[]),w=P=>{try{_(P)}catch{}},k=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const P=setTimeout(()=>i(t),0);return()=>clearTimeout(P)}},[t]);const B=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[N,A]=o.useState(B);N!==B&&(A(B),i("disabled"));const D=t==="disabled"?s:t,H=D==="disabled"?"training-text-box--disabled":D==="active"?"training-text-box--active":D==="done"?"training-text-box--done":"",R=o.useMemo(()=>({fontSize:`${v}px`,lineHeight:`${y}px`}),[v,y]);return o.useEffect(()=>{if(D==="disabled"||!C.current)return;C.current=!1;const P=document.activeElement;P&&P!==document.body||f.current?.querySelector(".training-text-box__buttons button")?.focus()},[D]),n.jsxs("div",{ref:f,className:`training-text-box ${H} ${D!=="disabled"&&l==="dark"?"is-dark":""}`,children:[D==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(le,{htmlType:"button",size:48,type:"bar",onClick:x,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":D==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:R,children:B})}),D!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":D==="disabled",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:p,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,...!k&&{width:"60px"}}),n.jsx(le,{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:!m,useBorder:!1,showTooltipInfo:!0,...!k&&{width:"60px"}}),n.jsx(le,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(ta,{message:g,position:"top",onClose:b})]})}function Ro({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:c,wrongAnswers:u,choices:d,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:h=!1,choiceIcons:v,shuffleChoices:y=!0}){const{t:g}=ve.useTranslation(),_=r??g("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",x=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,b=u?u.join("||"):"",w=d?d.join("||"):"",[k,B]=o.useState(()=>Array.isArray(x)?y?Ca(x):x.slice():void 0);o.useEffect(()=>{Array.isArray(x)&&x.length?B(y?Ca(x):x.slice()):B(void 0)},[c,b,w,y]);const[N,A]=o.useState(null),[D,H]=o.useState(()=>new Set);o.useEffect(()=>{A(null),H(new Set)},[w,c,b]);const R=o.useRef(void 0);o.useEffect(()=>{const S=R.current;typeof S=="number"&&typeof t=="number"&&typeof e=="number"&&S>=e&&t<e&&(A(null),H(new Set)),R.current=t},[t,e]);const P=o.useCallback(S=>{if(C!=="active")return;const M=k?.[S];if(M==null)return;const z=M,K=C==="active"||C==="done";if(p){const Z=new Set(D),q=Z.has(z);q?Z.delete(z):Z.add(z),H(Z),typeof l=="function"&&l({selectedValues:[...Z],__ts:Date.now()}),K&&(typeof m=="number"&&m>0?Z.size>=m:!q)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...Z],__ts:Date.now()})}else A(z),typeof l=="function"&&l({selectedIndex:S,selectedValue:z,__ts:Date.now()}),K&&typeof i=="function"&&C==="active"&&i({selectedIndex:S,selectedValue:z,__ts:Date.now()})},[k,C,p,l,i,m,D]),G=`training-step__buttons${Array.isArray(k)&&k.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:_,useTitleFaded:s,children:n.jsx("div",{className:G,children:Array.isArray(k)&&k.length>0?k.map((S,M)=>n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:()=>P(M),ariaLabel:String(S),label:S,useLabel:!0,icon:v?v[String(S)]:void 0,variant:"default",disabled:C==="disabled",selected:p?D.has(S):N===S,useDisabledCovered:h,minWidth:0},String(S))):null})})}function Po({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:c}){const{t:u}=ve.useTranslation(),d=r??u("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 t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",h=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",v=l&&typeof l=="object"?l.choices:void 0,[y,g]=o.useState(c??null),_=`${String(h)}\0${JSON.stringify(v??null)}`,[f,C]=o.useState(_);f!==_&&(C(_),c==null&&g(null));const[x,b]=o.useState(c);Object.is(x,c)||(b(c),g(c??null));const w=o.useRef(void 0);o.useEffect(()=>{const A=w.current;typeof A=="number"&&typeof t=="number"&&typeof e=="number"&&A>=e&&t<e&&c==null&&g(null),w.current=t},[t,e,c]);const k=o.useCallback(A=>{const D=typeof A=="object"&&A!==null?Object.assign({},A,{__ts:Date.now()}):{value:A,__ts:Date.now()};typeof i=="function"&&i(D),m==="active"&&typeof s=="function"&&s(D)},[i,m,s]),B=o.useCallback(()=>{m==="active"&&(g(!1),k(!1))},[k,m]),N=o.useCallback(()=>{m==="active"&&(g(!0),k(!0))},[k,m]);return n.jsxs(Vn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(Uc,{context:l,state:m}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(v)&&v.length>0?v.slice(0,6).map((A,D)=>n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(g(D),k&&k(D))},disabled:m==="disabled",ariaLabel:String(A),label:A,variant:m,selected:y===D},D)):n.jsxs(n.Fragment,{children:[n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:y===!1}),n.jsx(le,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:m==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:y===!0})]})})]})}function Io({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:p,disabled:m,_pageIndex:h,showSoundWaveForm:v,showNoiseWaveForm:y}){const{t:g}=ve.useTranslation(),_=r??g("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),f=m??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:_,onDone:s,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:p},children:n.jsx(Lo,{soundSrc:l,ttsText:l?null:d??_,bucketPath:c,btnLabel:i||g("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:f,className:"training-step__listen-sticky",showSoundWaveForm:v,showNoiseWaveForm:y},`audio-p${h??0}-s${e}`)})}const I5=[];function Fo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=I5}){const{t:c}=ve.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=L=>typeof L=="string"?L:L&&(L.context||L.sentence||L.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[h,v]=o.useState(()=>(p||[]).map((L,E)=>({id:E,text:d(L)}))),y=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),g=y!=="disabled",_=o.useRef(void 0);o.useEffect(()=>{if(_.current===l)return;_.current=l;const L=Array.isArray(l)?l:[];m(L);const E=(I=>{const F=(I||[]).map((U,J)=>({id:J,text:d(U)}));if(F.length<=1)return F;const $=(U,J)=>{if(U.length!==J.length)return!1;for(let ce=0;ce<U.length;ce++)if(U[ce].text!==J[ce].text)return!1;return!0};let T=Ca(F),Y=0;for(;$(T,F)&&Y<20;)T=Ca(F),Y+=1;return T})(L);v(E);try{if(typeof i=="function"){const I=E.filter((F,$)=>F.text===d(L[$])).length;i({shuffled:E,score:I,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&y==="active"){const I=E.filter((F,$)=>F.text===d(L[$])).length;s({shuffled:E,score:I,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const f=(L,E)=>{const I=[...h],F=L+E;if(F<0||F>=I.length)return;const $=I[F];I[F]=I[L],I[L]=$,M(I);try{if(typeof s=="function"&&y==="active"){const T=I.filter((Y,U)=>Y.text===d(p[U])).length;s({shuffled:I,score:T,total:(p||[]).length,__ts:Date.now()})}}catch{}},[C,x]=o.useState(null),b=o.useRef(null),w=o.useRef(null),k=o.useRef(null),B=o.useRef(null),N=o.useRef(null),A=o.useRef({x:0,y:0}),D=o.useRef(null),H=o.useRef({dx:0,dy:0}),R=()=>{if(D.current!==null)return;const L=()=>{if(!b.current){D.current=null;return}D.current=requestAnimationFrame(L);const E=A.current,I=H.current||{dx:0,dy:0};b.current&&(b.current.style.transform=`translate3d(${E.x-I.dx}px, ${E.y-I.dy}px, 0)`)};D.current=requestAnimationFrame(L)},P=o.useRef(new Map),G=o.useRef(new Map),S=()=>{const L=new Map;return P.current.forEach((E,I)=>{E&&E.getBoundingClientRect&&L.set(I,E.getBoundingClientRect())}),L},M=L=>{const E=S();v(L);try{if(typeof i=="function"){const I=L.filter((F,$)=>F.text===d(p[$])).length;i({shuffled:L,score:I,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const I=S();L.forEach(F=>{const $=E.get(F.id),T=I.get(F.id),Y=P.current.get(F.id);if(!Y||!$||!T)return;const U=$.top-T.top;U&&(Y.style.transition="none",Y.style.transform=`translateY(${U}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const J=()=>{Y.style.transition="",Y.removeEventListener("transitionend",J)};Y.addEventListener("transitionend",J)}))})})},z=(L,E)=>{try{try{E.dataTransfer?.setData("text/plain",String(L))}catch{}try{E.dataTransfer&&(E.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),E.dataTransfer?.setDragImage(I,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(I)}catch{}})}catch{}}catch{}x(L);try{const I=h[L],F=document.createElement("div");F.className="order-list__dragging-object order-list__dragging-object--visible",F.textContent=I&&I.text?I.text:"",document.body.appendChild(F),b.current=F;const $=P.current.get(I.id);let T=E.clientX||0,Y=E.clientY||0;try{if($&&$.getBoundingClientRect){const re=$.getBoundingClientRect();T=re.left+re.width/2,Y=re.top+re.height/2}}catch{}const U=F.getBoundingClientRect(),J=U.width/2,ce=U.height/2;H.current={dx:J,dy:ce},F.style.transition="none",A.current={x:T,y:Y},F.style.transform=`translate3d(${T-J}px, ${Y-ce}px, 0)`,requestAnimationFrame(()=>{try{F.style.transition=""}catch{}R()});const Ee=re=>{const W=re;A.current={x:W.clientX,y:W.clientY},R()};k.current=Ee,document.addEventListener("mousemove",Ee);const de=re=>{const W=re;A.current={x:W.clientX,y:W.clientY},R()};w.current=de,document.addEventListener("dragover",de);try{E.dataTransfer?.setData("text/plain",String(L));try{E.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},K=(L,E)=>{E.preventDefault();try{E.dataTransfer&&(E.dataTransfer.dropEffect="move")}catch{}try{N.current!==null&&(clearTimeout(N.current),N.current=null);const I=E.currentTarget&&E.currentTarget.closest?E.currentTarget.closest(".order-list__item"):null;if(I&&B.current!==I){if(B.current)try{B.current.classList.remove("drag-over")}catch{}try{I.classList.add("drag-over")}catch{}B.current=I}}catch{}},Z=(L,E)=>{E.preventDefault();const I=E.dataTransfer?.getData("text/plain")||"",F=I?parseInt(I,10):C,$=L;if(typeof F!="number"||isNaN(F)||F===$){x(null),O(),q();return}const T=b2(h,F,$);M(T),x(null),q();try{if(typeof s=="function"&&y==="active"){const Y=T.filter((U,J)=>U.text===d(p[J])).length;s({shuffled:T,score:Y,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[$];if(!Y)return;const U=Y.querySelector(".order-list__slot")||Y;try{U.classList.add("pulse"),U.offsetHeight,U.classList.add("to-dark");const J=()=>{U.classList.remove("pulse","to-dark"),U.removeEventListener("transitionend",J)};U.addEventListener("transitionend",J)}catch{}})}catch{}O()},q=()=>{if(b.current){try{document.body.removeChild(b.current)}catch{}b.current=null}w.current&&(document.removeEventListener("dragover",w.current),w.current=null),k.current&&(document.removeEventListener("mousemove",k.current),k.current=null),D.current!==null&&(cancelAnimationFrame(D.current),D.current=null)},te=()=>{x(null),O(),q()};o.useEffect(()=>()=>q(),[]);const O=()=>{try{if(N.current!==null&&(clearTimeout(N.current),N.current=null),B.current){try{B.current.classList.remove("drag-over")}catch{}B.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(L=>L.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const L=Math.max(1,(h||[]).length);h.forEach((E,I)=>{const F=G.current.get(E.id);if(!F)return;let $=50;L>1&&($=Math.round(I/(L-1)*100));try{F.style.setProperty("--marker-pos",$+"%")}catch{}})}catch{}},[h]),o.useEffect(()=>()=>{q(),N.current!==null&&(clearTimeout(N.current),N.current=null)},[]),n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:u,children:n.jsx("div",{className:"order-list",children:h.map((L,E)=>{const I=Math.max(1,(h||[]).length),F=I>1?Math.round(E/(I-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":y==="disabled","aria-disabled":y==="disabled",children:[y!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":F+"%"},ref:$=>{const T=G.current;$?T.set(L.id,$):T.delete(L.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:E+1})}):null,n.jsxs("div",{ref:$=>{const T=P.current;$?T.set(L.id,$):T.delete(L.id)},className:`order-list__draggable ${C===E?"dragging":""}`,"data-disabled":y==="disabled","aria-disabled":y==="disabled",tabIndex:y==="disabled"?-1:0,draggable:g,onDragStart:g?$=>z(E,$):void 0,onDragEnter:g?$=>K(E,$):void 0,onDragOver:g?$=>K(E,$):void 0,onDragLeave:g?()=>{try{N.current!==null&&clearTimeout(N.current),N.current=setTimeout(()=>{try{const $=document.querySelectorAll(".order-list .order-list__item");$&&$[E]&&($[E].classList.remove("drag-over"),B.current===$[E]&&(B.current=null))}catch{}},80)}catch{}}:void 0,onDrop:g?$=>Z(E,$):void 0,onDragEnd:g?te:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:L.text}),g?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:()=>f(E,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:E===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(le,{htmlType:"button",size:32,type:"dot",onClick:()=>f(E,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:E===h.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},L.id)})})})}const F5=8e3;function O5(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function Gc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:c=!1,hideLabel:u=!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."),v=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),y=p??3,g=(v||[]).slice(0,y);(v||[]).length>y&&console.warn(`TrainingStepCard: ${v.length} items passed but only ${y} shown`);const _=typeof e=="number"?e:-1,f=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[C,x]=o.useState(null),b=o.useRef([]),[w,k]=o.useState(!1),B=o.useRef(null),N=o.useRef(!0);o.useEffect(()=>(N.current=!0,()=>{N.current=!1}),[]);const A=o.useMemo(()=>v.map(G=>G?.id??G?.word??"").join("|"),[v]);o.useEffect(()=>{x(null)},[A]);const D=o.useRef(void 0);o.useEffect(()=>{const G=D.current;typeof G=="number"&&typeof t=="number"&&typeof e=="number"&&G>=e&&t<e&&x(null),D.current=t},[t,e]);const H=o.useCallback((G,S)=>{if(c)return;const M={item:G,index:S,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(f==="active"&&typeof s=="function")try{s(M)}catch{}},[c,i,f,s]),R=o.useCallback(async()=>{if(w||f==="disabled")return;k(!0);let G=!1;const S=new Promise(M=>{B.current=()=>{G=!0,M()}});try{for(let M=0;M<g.length&&!(!N.current||G);M++){const z=b.current[M];z&&await Promise.race([O5(z.play(),F5),S])}}finally{B.current=null,k(!1)}},[w,f,g.length]),P=o.useCallback((G,S)=>{if(f!=="active")return;x(S);const M={selectedValue:G.word||G.title||"",selectedIndex:S,item:G,__ts:Date.now()};try{typeof i=="function"&&i(M)}catch{}if(f==="active"&&typeof s=="function")try{s(M)}catch{}},[i,f,s]);return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePlayAllBtn:!d&&g.length>0,onPlayAll:R,playAllActive:w},children:n.jsx("div",{className:"training-step__cards",onClickCapture:G=>{const S=B.current;if(!S)return;const M=G.target;M&&typeof M.closest=="function"&&M.closest(".training-word-card__bottom")&&S()},children:g.length===0?n.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):g.map((G,S)=>n.jsx(yo,{ref:M=>{b.current[S]=M},item:G,disabled:f==="disabled",onPlayDone:()=>H(G,S),selectable:c,selected:c&&C===S,onSelect:c?()=>P(G,S):void 0,flipDelay:S*120,hideLabel:u,hideAudio:d},G&&G.id||S))})})}const H5=160,z5={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function V5(e,t){const a=z5[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const Kc=()=>{};function Tn(e){const t=o.useId();if(!("variant"in e)){const{label:f,sub:C,onClick:x,children:b,align:w="horizontal",icon:k}=e,B=N=>{x&&N.target===N.currentTarget&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),x())};return n.jsxs("div",{className:Se("panel-row",w==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?B:void 0,role:x?"button":void 0,tabIndex:x?0:void 0,children:[k!=null&&n.jsx("div",{className:"panel-row__icon",children:k}),f!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:f}),C&&n.jsx("div",{className:"panel-row__sub caption-1",children:C})]}),n.jsx("div",{className:"panel-row__right",children:b})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx(Sa,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:p}=e,m=a==="button"?void 0:i;let h=null;const v=a==="toggle"?`panel-toggle-${t}`:void 0,y=c?`panel-error-${t}`:void 0;if(a==="toggle"){const f=e;h=n.jsx($l,{checked:f.checked,onChange:f.onChange,id:v})}else if(a==="segmented"){const f=e;h=n.jsx(Sn,{options:f.options,value:f.value,onChange:f.onChange,size:f.size??40,ariaLabel:r})}else if(a==="dropdown"){const f=e,C=f.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:f.dropdowns.map((x,b)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(an,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:d,error:!!c,ariaDescribedBy:y,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},b))}):n.jsx(an,{options:f.options??[],value:f.value??"",onChange:f.onChange??Kc,block:d,error:!!c,ariaLabel:r,ariaDescribedBy:y});h=c?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[C,n.jsx("span",{id:y,className:"caption-1 panel-row__error",role:"alert",children:c})]}):C}else if(a==="button"){const f=e;f.buttons?.length?h=n.jsx("div",{className:"panel-row__button-group",children:f.buttons.map((C,x)=>n.jsx(le,{htmlType:"button",size:C.btnSize??40,variant:C.btnVariant??"default",disabled:C.disabled,onClick:C.onClick,children:C.label},x))}):h=n.jsx(le,{htmlType:"button",size:f.btnSize??40,variant:f.btnVariant??"default",disabled:f.disabled,onClick:f.onClick,children:f.buttonLabel})}else if(a==="text"){const f=e;h=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:f.valueColor?{color:f.valueColor}:void 0,children:f.value})}else if(a==="input"){const f=e;h=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(zn,{value:f.value,onChange:f.onChange??Kc,onKeyDown:f.onKeyDown,onEnter:f.onEnter,placeholder:f.placeholder,inputMode:f.inputMode,readOnly:f.readOnly,disabled:f.disabled,type:f.type,autoComplete:f.autoComplete,maxLength:f.maxLength,showCount:f.showCount,multiline:f.multiline,rows:f.rows,fullWidth:d,error:c,ariaLabel:r,required:l}),f.helperText&&n.jsx("div",{className:"panel-row__helper caption-1",children:f.helperText})]})}else a==="custom"&&(h=e.children);c&&a!=="input"&&a!=="dropdown"&&(h=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,n.jsx("span",{id:y,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=f=>{m&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m())};return n.jsxs("div",{className:Se("panel-row",u==="vertical"?"panel-row--vertical":"",g?"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&&n.jsx("div",{className:"panel-row__icon",children:p}),n.jsxs("div",{className:"panel-row__left",children:[v?n.jsxs("label",{htmlFor:v,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),s&&n.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),n.jsx("div",{className:"panel-row__right",children:h})]})}function Yc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function W5({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=ve.useTranslation();return n.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 n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&t&&n.jsx(le,{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:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(mt,{size:"small",variant:Xl(i.device),fill:"soft",label:V5(i.device,r)}),Yc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Yc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),fo(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:fo(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function sr({title:e,icon:t,disc:a,actions:r,size:s="medium",minHeight:i,maxWidth:l,className:c,scrollable:u,scrollbarGutter:d="auto",compactRows:p=!1,useBorder:m=!0,useBg:h=!0,useRowBorder:v=!0,labelWidth:y,form:g=!1,loading:_,empty:f,children:C}){const x=Se("panel",`panel--${s}`,g?"panel--form":"",i!==void 0?"panel--fill":"",m?"":"panel--no-border",h?"":"panel--no-bg",v?"":"panel--no-row-border",p?"panel--compact-rows":"",c),b={};return i!==void 0&&(b.minHeight=i),l!==void 0&&(b.maxWidth=typeof l=="number"?`${l}px`:l),y!==void 0&&(b["--panel-label-width"]=typeof y=="number"?`${y}px`:y),n.jsxs("div",{className:x,style:Object.keys(b).length?b:void 0,children:[(e!=null||a!=null)&&n.jsxs("div",{className:Se("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&n.jsx(We,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[e!=null&&n.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&n.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&n.jsx("div",{className:"panel__actions",children:r})]}),_?n.jsx(Tn,{variant:"loading"}):f!=null&&o.Children.toArray(C).length===0?n.jsx(Tn,{variant:"empty",children:f}):u?n.jsx("div",{className:Se("panel__body--scroll",d==="stable"&&"panel__body--gutter-stable"),children:C}):C]})}function q5({cols:e=2,children:t}){return n.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function U5(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 Zc(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"}]}U5(Dt.t.bind(Dt)),Zc(Dt.t.bind(Dt));const Oo="none",G5=.5,K5=1.5,Y5=.25;function Ho({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:c,onChange:u}){return n.jsxs(Tn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(Ul,{value:a,onChange:u,min:r,max:s,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),n.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function Xc({anchorRect:e,onClose:t}){const{t:a}=ve.useTranslation(),r=nn("(max-width: 767px)")?40:24,s=ar(),i=Ta(s?.settings??La),l=s?.settings.type??"defaultNoise",c=s?.settings.enabled??!0,u=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]),v=o.useCallback(g=>{const _=Math.min(ja,Math.max(0,Math.round(g*10)/10));try{s?.setSettings({noiseRatio:_})}catch{}},[s]),y=o.useCallback(g=>{try{g===Oo?s?.setSettings({enabled:!1}):s?.setSettings({type:g,enabled:!0})}catch{}},[s]);return n.jsx(gn,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(le,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(sr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Ho,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),n.jsx(Ho,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:G5,max:K5,step:Y5,size:r,onChange:h}),n.jsx(Tn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(Sn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Oo,label:a("training.noise.type.none","\uC5C6\uC74C")},...Zc(a).map(g=>({key:g.value,label:g.label}))],value:c?l:Oo,onChange:y})}),n.jsx(Ho,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:ja,step:$c,size:r,onChange:v})]})})}function Jc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1}){const{t:u}=ve.useTranslation(),[d,p]=o.useState(!1),[m,h]=o.useState(null),[v,y]=o.useState(!1),g=o.useRef(null),_=o.useRef(null),f=ar(),C=c>0,x=C&&l<c-1,b=!C||l>=c-1,w=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),h(null))},[e]);const k=o.useCallback(()=>{p(!1),h(null)},[]),B=o.useCallback(()=>{if(d){p(!1),h(null);return}const D=g?.current?.getBoundingClientRect();D&&h(D),t?.(),p(!0)},[d,t]),N=o.useCallback(()=>{if(d){p(!1),h(null);return}const D=_?.current?.getBoundingClientRect();D&&h(D),t?.(),p(!0)},[d,t]),A=o.useCallback(()=>y(D=>!D),[]);return Wc(e&&d,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[g.current,_.current].map(D=>D?.querySelector("button")??null).find(D=>!!D&&D.getClientRects().length>0)??g.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:g,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:B,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:56,type:"dot",icon:"settings",onClick:N,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&n.jsx(le,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:A,selected:v,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&v&&n.jsxs("div",{className:"pp-bottom__meters",children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(po,{analyser:f?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),n.jsx(po,{analyser:f?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),n.jsxs("div",{className:"pp-bottom__right",children:[b&&n.jsx(le,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!w}),x&&n.jsx(le,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!w})]}),e&&d&&n.jsx(Xc,{anchorRect:m,onClose:k})]})}function Qc({title:e,subtitle:t,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:p,onBack:m,onClose:h}){const{t:v}=ve.useTranslation(),y=nn("(max-width: 767px)"),g=Number.isInteger(p)?p:c||0,_=Number.isInteger(d)?d:u||0,f=m||h,C=Array.isArray(r)?y?r[r.length-1]:r.join(" / "):r,x=typeof e=="string"?e.trim():e,b=typeof t=="string"?t.trim():t,w=!!(x||b),k=w?x||b:v("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),B=C||(x?t:void 0),N=y&&typeof B=="string"&&(B.includes(" \xB7 ")||B.includes(" / "))?B.split(/\s[·/]\s/).pop():B,A=o.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[f?n.jsx(le,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:v("common.back","\uB4A4\uB85C"),onClick:f,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:s?n.jsx(ec,{icon:s,label:e,tooltip:l,wrapperStyle:A}):null}),n.jsxs("div",{className:"pp-title__text",children:[N?n.jsx("span",{className:"pp-title__depth caption-1",children:N}):null,n.jsx("span",{className:`pp-title__title h2${w?"":" pp-title__title--empty"}`,children:k}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(Zl,{max:Math.max(0,_??0),index:Math.max(0,g??0)})]})}function Z5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function X5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const eu=(e,t)=>{if(!t)return t;const a=typeof Dt?.t=="function"?Dt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function tu(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=ui().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?eu(`topic.${i.key}`,i.label):void 0,l?eu(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function zo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function J5(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Q5({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=tu(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},p=t?.id||t?.title||s.length;return{id:`${e}:${p}`,meta:{...u,...d},pages:s,emptyMessage:i,buildResults:l}}function e3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function t3(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function n3(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function nu(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function a3(e,t,a,r){return nu(e,t*a+r)}function r3({payload:e,selected:t,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 t=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[t]));if(typeof t<"u")return r.some(s=>String(s)===String(t))}}function o3(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const au=o.createContext(null);function s3(){const e=o.useContext(au);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function i3({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:c}=ve.useTranslation(),u=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":u<t?"done":u===t?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),h=JSON.stringify(s),v=s.length;o.useEffect(()=>{m(Array.from({length:v},()=>null))},[h]);const y=o.useRef(void 0);o.useEffect(()=>{const C=y.current;typeof C=="number"&&typeof t=="number"&&typeof e=="number"&&C>=e&&t<e&&m(Array.from({length:v},()=>null)),y.current=t},[t,e,v]);const g=o.useMemo(()=>p.filter(C=>C!==null).length+1,[p]),_=o.useCallback(C=>{if(d!=="active")return;const x=p;let b;if(x[C]!=null){const k=x[C];b=x.map(B=>B!==null&&B>=k?null:B)}else b=[...x],b[C]=g;m(b);const w={selectedOrder:b,words:s,__ts:Date.now()};try{typeof l=="function"&&l(w)}catch{}if(x[C]==null&&b.length>0&&b.every(k=>k!==null))try{typeof i=="function"&&i(w)}catch{}},[d,p,g,l,i,s]),f=r??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:f,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((C,x)=>n.jsx(yo,{item:{word:C},disabled:d==="disabled",selectable:!0,selected:p[x]!==null,orderRank:p[x],onSelect:()=>_(x),flipDelay:x*120,hideLabel:!1,hideAudio:!0},`${C}-${x}`))})})}function ir(e){return null}ir.__isTrainingPage=!0;function la(e,t){const a=s3();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function ru({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=la(e,t);return n.jsx(Io,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function ou({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Ro,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function su({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Po,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function iu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Fo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function lu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(Gc,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function l3({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=la(e,t);return n.jsx(i3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Vo(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,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 c3(e){return Vo(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function cu(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 t=Vo(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.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 uu(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=ve.useTranslation(),p=o.useId(),m=o.useCallback(()=>!u,[u]);o.useEffect(()=>{const C=a??0;if(t!=null&&C>0&&t/C>.5){const x=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(x)}},[t,a]);const h=o.useCallback(C=>{const x=cu(C),b=Vo(C?.wording,C?.label);return x===!0?{variant:"main",label:b??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!1?{variant:"danger",label:b??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:b??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),v=a??0,y=t??0,g=o.useMemo(()=>Array.isArray(r)?r:[],[r]),_=o.useMemo(()=>g.map(C=>{const x=C??{},b=c3(x)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:w,label:k}=h(x),B=Array.isArray(x.corrects)?x.corrects:[],N=B.length?B.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,A=typeof x.selectedText=="string"?x.selectedText:null,D=cu(x)===!0;return{problem:b,variant:w,label:k,answer:N,selectedText:A,isCorrect:D}}),[g,h,d]),f=o.useMemo(()=>_.some(C=>C.answer!==null||C.selectedText!==null),[_]);return n.jsx(jn,{onClose:l,closeOnBackdrop:!1,inline:c,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:x})=>n.jsxs(n.Fragment,{children:[u&&n.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.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(le,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>C(i)}),n.jsx(le,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?p:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&n.jsx("p",{className:"trp-result__subtitle body-3",children:s}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:y,total:v}),children:[n.jsx("span",{className:"trp-score__big",children:y}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:v})]})})]}),_.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),_.map((C,x)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:C.problem})]}),f&&n.jsxs("div",{className:"trp-row__answers",children:[C.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:C.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${C.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${C.isCorrect?"is-correct":"is-wrong"}`,children:C.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(mt,{variant:C.variant,label:C.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function u3(e){o.useEffect(()=>{if(!e)return;const t=()=>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)},c=()=>{r!=null&&(s+=Date.now()-r,r=null)};t()&&l();const u=()=>{if(c(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,x2({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u()}},[e])}function Wo(e,t){return e&&e.id||`page-${t??0}`}function qo(e,t){return e&&e.key||`step-${t??0}`}function lr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function d3(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const p3=300,m3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Mn=Object.freeze({}),du=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function pu(e){const t=e,a=t?.results||t?.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 h3=e=>n.jsx(uu,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function f3(e){const{scenario:t,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:p,stepCount:m,onBack:h,onComplete:v,onNext:y,onSettings:g,useNoiseSetting:_=!0,children:f,ariaLabel:C,label:x,buildResults:b,onResult:w,typeKey:k,entryPoint:B,dailyTotal:N,itemRef:A,renderResultPopup:D,noiseOverride:H}=e;u3(k&&!du.has(k)?k:"");const R=o.useRef(0);o.useEffect(()=>{R.current=Date.now()},[]);const{t:P}=ve.useTranslation(),G=w,S=!!t,M=t?.id||null,z=t?.meta||{},K=Array.isArray(t?.pages)?t.pages:[],Z=Array.isArray(f)||o.isValidElement(f)&&typeof f!="function"?o.Children.toArray(f).filter(o.isValidElement):[],q=Z.length>0,te=ne=>ne===ir||ne?.__isTrainingPage===!0,O=q&&Z.some(ne=>te(ne.type)),L=O?Z.filter(ne=>te(ne.type)).map((ne,he)=>{const V=ne.props||{};return{id:`children-page-${he}`,steps:o.Children.toArray(V.children).filter(o.isValidElement),pageTop:V.pageTop||V.top||null,pageBottom:V.pageBottom||V.bottom||null}}):[{id:"children-page-0",steps:Z}],E=q&&!S&&typeof f!="function",I=E?Math.max(1,L.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 ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const he=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;he>0?ne.dataset.ihabTrainingPopupCount=String(he):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return m4()},[]);const[F,$]=o.useState({...La,enabled:!1}),T=o.useRef(F);o.useEffect(()=>{T.current=F},[F]);const Y=o.useRef(H),U=o.useRef(!1),J=o.useRef(null);o.useEffect(()=>{let ne=!1;const he=V=>{if(ne)return;U.current=!0;const se=V?Ma({...La,enabled:!1},V):{...La},ue=J.current;J.current=null;const ke=ue?Ma(se,ue):se;T.current=ke,$(ke),ue&&!Y.current&&ri(ke),za(ke);const Ae=Y.current;if(Ae){const Me=typeof Ae=="function"?Ae(ke):Ae,tt=Ma(ke,Me);T.current=tt,$(tt),za(tt)}};return A2().then(he),()=>{ne=!0}},[]);const[ce,Ee]=o.useState(null),[de,re]=o.useState(null),W=o.useCallback((ne,he)=>{ne==="main"?Ee(he):re(he)},[]),ie=o.useRef(null),pe=o.useRef(null),ye=o.useCallback(()=>{pe.current!==null&&(clearTimeout(pe.current),pe.current=null);const ne=ie.current;ie.current=null,ne&&ri(ne)},[]);o.useEffect(()=>{if(typeof window>"u")return;const ne=()=>{document.visibilityState==="hidden"&&ye()};return window.addEventListener("pagehide",ye),document.addEventListener("visibilitychange",ne),()=>{window.removeEventListener("pagehide",ye),document.removeEventListener("visibilitychange",ne),ye()}},[ye]);const ge=o.useCallback(ne=>{const he=Ma(T.current,ne);if(T.current=he,$(he),!U.current){J.current={...J.current??{},...ne},za(he);return}Y.current||(ie.current=he,pe.current!==null&&clearTimeout(pe.current),pe.current=setTimeout(ye,p3)),za(he)},[ye]),we=F.mainSpeed,Ce=F.mainVolume,Be=o.useCallback(ne=>ge({mainSpeed:ne}),[ge]),De=o.useCallback(ne=>ge({mainVolume:ne}),[ge]),oe=o.useMemo(()=>({settings:F,setSettings:ge,registerAnalyser:W,mainAnalyser:ce,noiseAnalyser:de,playbackRate:we,setPlaybackRate:Be,mainVolume:Ce,setMainVolume:De}),[F,ge,W,ce,de,we,Be,Ce,De]),ee=o.useRef(null),[fe,ae]=o.useState(0),be=o.useRef([]),[_e,Ke]=o.useState("center"),[Ve,qe]=o.useState(!1),je=o.useRef(!1),Ue=o.useRef(null),Le=o.useCallback(ne=>{je.current||(je.current=!0,qe(!0),Ue.current=setTimeout(()=>{try{ne()}catch{je.current=!1,qe(!1)}},m3()?0:H5))},[]);o.useEffect(()=>()=>{Ue.current&&clearTimeout(Ue.current)},[]);const Ie=o.useRef(h);o.useEffect(()=>{Ie.current=h}),o.useEffect(()=>{const ne=ee.current,he=document.activeElement;if(Fr(ne,he),ne){const V=Array.from(ne.querySelectorAll(Cn)).filter(se=>!se.closest('[aria-hidden="true"]'))[0];if(V)try{V.focus()}catch{}}return()=>{const V=document.activeElement;if(!V||V===document.body||ne&&ne.contains(V))try{Or(he)?.focus?.()}catch{}}},[]),o.useEffect(()=>In(()=>Le(()=>{const ne=Ie.current;typeof ne=="function"&&ne()})),[Le]),Pr(ee,!0);const[ze,nt]=o.useState(!1),ot=o.useRef(!1),[Ge,Xe]=o.useState(null),ht=o.useRef(0),At=()=>{ht.current+=1,Xe(null)},[zt,Ct]=o.useState(""),[et,Ye]=o.useState(()=>lr()),Je=o.useRef(typeof u=="number"?u:null);o.useEffect(()=>{!S&&!E||(Ye(lr()),At())},[S,M,E]),o.useEffect(()=>{E&&Ye(ne=>{const he=Math.max(0,Math.min(ne.pageIndex,Math.max(0,I-1)));return he!==ne.pageIndex?{...ne,pageIndex:he,stepIndex:0}:ne})},[E,I]);const it=E?Math.max(0,Math.min(et.pageIndex,I-1)):0,Oe=E?L[it]:null,ft=E&&Oe&&Array.isArray(Oe.steps)?Oe.steps:[],He=S?et.pageIndex:E?it:typeof u=="number"?u:0,dt=S?K[Math.max(0,Math.min(et.pageIndex,Math.max(0,K.length-1)))]:null,Et=S&&dt&&Array.isArray(dt.steps)?dt.steps:[],wt=S?Et.length:E?ft.length:typeof m=="number"?m:0,xt=S||E?Math.max(0,Math.min(et.stepIndex,Math.max(0,wt))):typeof p=="number"?p:0,rt=S?K.length:E?I:typeof d=="number"?d:0;o.useLayoutEffect(()=>{const ne=Je.current;if(typeof He=="number"&&ne!==null&&He!==ne&&He>ne)try{Ct(P("training.problemNotice",{n:He+1}))}catch{}Je.current=typeof He=="number"?He:Je.current},[He,u,P]),o.useLayoutEffect(()=>{const ne=ee.current;if(!ne)return;const he=()=>ne.querySelector(".page-popup__scroll");let V=null,se=null,ue=null;const ke=ct=>{const Nt=he();if(!Nt)return;const qt=Nt.scrollHeight<=Nt.clientHeight;if(Ke(qt?"center":"top"),ct&&!ot.current){ot.current=!0;try{nt(!0)}catch{}try{tt.disconnect()}catch{}}},Ae=()=>{V!==null&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{se!==null&&clearTimeout(se),se=setTimeout(()=>ke(!0),60)})},Me=()=>{ue!==null&&cancelAnimationFrame(ue),ue=requestAnimationFrame(()=>ke(!1))};Ae(),window.addEventListener("resize",Me);const tt=new MutationObserver(Ae);tt.observe(ne,{childList:!0,subtree:!0,attributes:!0});const yt=setTimeout(()=>{ot.current||ke(!0)},400);return()=>{window.removeEventListener("resize",Me),V!==null&&cancelAnimationFrame(V),se!==null&&clearTimeout(se),ue!==null&&cancelAnimationFrame(ue),clearTimeout(yt);try{tt.disconnect()}catch{}}},[ee]);const Re=o.useCallback(ne=>{ee.current&&(ee.current._childOnNext=ne)},[]),at=o.useCallback(ne=>{ee.current&&(ee.current._childOnResult=ne)},[]),gt=o.useCallback((ne,he,V)=>{Ye(se=>{const ue=se.answersByPage[ne]||{},ke=ue[he],Ae=zo(V),Me=zo(ke);return ke&&Me>Ae?se:{...se,answersByPage:{...se.answersByPage,[ne]:{...ue,[he]:V}}}})},[Ye]),Vt=o.useCallback((ne,he,V)=>{const se=Wo(dt,He),ue=qo(ne,he);gt(se,ue,V)},[dt,He,gt]),Qe=o.useCallback((ne,he,V)=>{const se=Wo(dt,He),ue=qo(ne,he);gt(se,ue,V),!V?.allowChange&&ne?.autoAdvance!==!1&&Ye(ke=>({...ke,stepIndex:Math.max(ke.stepIndex,he+1)}))},[dt,He,gt,Ye]),Yt=o.useCallback((ne,he)=>{const V=Oe?.id||`children-page-${He??0}`,se=typeof he=="number"?he:xt??0,ue=`step-${se}`;gt(V,ue,ne),ne?.allowChange||Ye(ke=>({...ke,stepIndex:Math.max(ke.stepIndex,se+1)}))},[Oe,He,xt,gt,Ye]),kn=o.useCallback((ne,he)=>{const V=Oe?.id||`children-page-${He??0}`,se=`step-${typeof he=="number"?he:xt??0}`;gt(V,se,ne)},[Oe,He,xt,gt]),Bt=E?{currentPageIndex:He??0,currentStepIndex:xt??0,totalStepsInPage:ft.length,handleStepDone:Yt,handleStepChange:kn}:null,Wt=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:K,flowState:et,answersByPage:et.answersByPage})):null;return typeof G=="function"&&await Promise.resolve(G(ne))||ne},Qt=async()=>{const ne=Oe?.id||`children-page-${et.pageIndex}`,he=et.answersByPage[ne]||{},V=O?(()=>{const ke={};let Ae=0;return L.forEach(Me=>{const tt=et.answersByPage[Me.id]||{},yt=Array.isArray(Me.steps)?Me.steps.length:0;for(let ct=0;ct<yt;ct+=1){const Nt=tt[`step-${ct}`];typeof Nt<"u"&&(ke[`step-${Ae+ct}`]=Nt)}Ae+=yt}),ke})():he;if(typeof b=="function"){const ke=await Promise.resolve(b(V,{pageAnswers:he,answersByPage:et.answersByPage,pages:L,currentPageId:ne}));return typeof G=="function"&&await Promise.resolve(G(ke))||ke}const se=Object.entries(he).map(([ke,Ae],Me)=>({index:Me,key:ke,payload:Ae})),ue={results:se,answers:se,score:0};return typeof G=="function"&&await Promise.resolve(G(ue))||ue},rn=()=>{const ne=++ht.current,he=()=>ne!==ht.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 ue=Wt();Xe(Mn);const ke=ue;Promise.resolve(ke).then(Ae=>{he()||Xe(Ae||{isEmpty:!0})}).catch(Ae=>{!he()&&Xe({isEmpty:!0})});return}if(E){const ue=Qt();Xe(Mn);const ke=ue;Promise.resolve(ke).then(Ae=>{he()||Xe(Ae||{isEmpty:!0})}).catch(Ae=>{!he()&&Xe({isEmpty:!0})});return}const V=ee.current&&ee.current._childOnResult,se=ue=>{try{return ue?ue():void 0}catch{return}};if(typeof V=="function"){const ue=se(V);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ue&&typeof ue.then!="function"?Xe(ue):Xe(ue&&typeof ue.then=="function"?Mn:{});const ke=()=>{he()||Xe(Ae=>Ae===Mn?{}:Ae)};Promise.resolve(ue).then(Ae=>{Ae&&!he()?Xe(Ae):ke()}).catch(Ae=>{ke()});return}if(typeof G=="function"){const ue=se(G);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ue&&typeof ue.then!="function"?Xe(ue):Xe(ue&&typeof ue.then=="function"?Mn:{});const ke=()=>{he()||Xe(Ae=>Ae===Mn?{}:Ae)};Promise.resolve(ue).then(Ae=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:hn&&hn.tagName.toUpperCase()==="SCRIPT"&&hn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Ae&&!he()?Xe(Ae):ke()}).catch(Ae=>{console.error("viewResults external handler failed",Ae),ke()});return}},ln=()=>{if(S){if(typeof He=="number"&&typeof rt=="number"&&He<rt-1){Ye(he=>({...he,pageIndex:he.pageIndex+1,stepIndex:0}));return}return rn()}if(E){const he=ft.length;if(typeof xt=="number"&&xt<he-1){Ye(V=>({...V,stepIndex:V.stepIndex+1}));return}if(typeof He=="number"&&typeof rt=="number"&&He<rt-1){Ye(V=>({...V,pageIndex:V.pageIndex+1,stepIndex:0}));return}return rn()}if(typeof y=="function"){try{y()}catch{}return}const ne=ee.current&&ee.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},en=S?z.title||z.label||C||P("common.popup","\uD31D\uC5C5"):a||x||(Array.isArray(s)?s[s.length-1]:void 0)||C||P("common.popup","\uD31D\uC5C5"),An=C||en,Zt=S?z.title??z.label??en:a??x??en,bt=(ne,he)=>{const V=Wo(dt,He),se=qo(ne,he),ue=et.answersByPage[V]?.[se],ke=d3(ne,{page:dt,pageIndex:He,step:ne,stepIndex:he,storedPayload:ue,answersByPage:et.answersByPage,flowState:et}),Ae={key:se,index:he,stepIndex:xt,isLast:he===Et.length-1};switch(ne?.type){case"listen":return n.jsx(Io,{...Ae,...ke,onDone:Me=>Qe(ne,he,Me)});case"confirm":return n.jsx(Ro,{...Ae,...ke,onDone:Me=>Qe(ne,he,Me),onChange:Me=>Vt(ne,he,Me)});case"confirmWithText":return n.jsx(Po,{...Ae,...ke,onDone:Me=>Qe(ne,he,Me),onChange:Me=>Vt(ne,he,Me)});case"orderList":return n.jsx(Fo,{...Ae,...ke,onDone:Me=>Qe(ne,he,Me),onChange:Me=>Vt(ne,he,Me)});default:return null}},cn=o.useRef(void 0);o.useEffect(()=>{const ne=cn.current;if(cn.current=He,ne===void 0||ne===He||!Qa())return;const he=ee.current;if(!he)return;const V=document.activeElement;if(!(!V||V===document.body||!he.contains(V)||V.disabled===!0))return;const se=he.querySelector(`.training-steps ${Cn.split(", ").join(", .training-steps ")}`)??Array.from(he.querySelectorAll(Cn)).find(ue=>!ue.closest('[aria-hidden="true"]'));try{se?.focus()}catch{}},[He]);const Xt=S?K.length>0?n.jsx("div",{className:"training-steps",children:Et.map((ne,he)=>bt(ne,he))},`replay-${fe}`):n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||P("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Tt=E?n.jsxs(au.Provider,{value:Bt,children:[Oe?.pageTop?n.jsx("div",{className:"training-page-top",children:Oe.pageTop}):null,n.jsx("div",{className:"training-steps",children:ft.map((ne,he)=>{const V=ne;return o.cloneElement(V,{...V.props,_stepIndex:he,_totalSteps:ft.length,_stepKey:`step-${he}`,_pageIndex:He})})},`replay-${fe}`),Oe?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:Oe.pageBottom}):null]}):null,un=o.useCallback(()=>{let ne;if(k){const he=Ge,{results:V,correct:se,total:ue}=pu(Ge);_2({items:k2(V),category:du.has(k)?"sentence":"word",trainingType:k,entryPoint:B??"sentence",itemRef:A??null,correct:se,total:ue,score:typeof he?.score=="number"?he.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:N??null}),ne={correct:se,total:ue,attempt:be.current.length+1,previousAttempts:[...be.current]}}At(),Le(()=>{typeof v=="function"&&v(ne),typeof h=="function"&&h()})},[v,h,k,B,N,A,Ge,Xe,Le]),Jt=o.useCallback(()=>Ct(""),[Ct]),dn=o.useCallback(()=>{Le(()=>{typeof h=="function"&&h()})},[h,Le]),Ne=n.jsxs("div",{className:`page-popup${Ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":An,children:[n.jsxs("div",{ref:ee,className:`page-popup__panel ${ze?"":"page-popup__panel--measuring"} ${_e==="center"?"page-popup__panel--center":_e==="top"?"page-popup__panel--top":""}`,children:[n.jsx(Qc,{title:Zt,subtitle:S?z.subtitle||z.label:Array.isArray(s)?s.join(" / "):void 0,desc:S?void 0:r,depth:S?z.depth:s,icon:S?z.icon:i,wrapperStyle:S?z.wrapperStyle:l,iconTooltip:S?z.iconTooltip:c,progressMax:rt,progressIndex:He,pageIndex:He,pageCount:rt,onBack:dn,onClose:dn}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${_e==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:E?Tt:S?Xt:typeof f=="function"?f({registerOnNext:Re,registerOnResult:at,panelRef:ee,setResultOverlay:Xe}):f})}),n.jsx(Jc,{onSettings:g,onNext:ln,onResult:rn,useNoiseSettingBtn:!!(S?z.useNoiseSetting??!0:_),stepIndex:xt,stepCount:wt,pageIndex:He,pageCount:rt})]}),Ge&&!Ge.isEmpty&&(D??h3)({score:Ge.score,results:Ge.results||Ge.answers||[],contextsLength:Ge.results?Ge.results.length:Ge.answers?Ge.answers.length:0,onReplay:()=>{if(R.current=Date.now(),Ge!==Mn){const{correct:ne,total:he}=pu(Ge);be.current.push({correct:ne,total:he})}if(At(),ae(ne=>ne+1),S){if(Ye(lr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(E){Ye(lr());return}try{const ne=ee.current&&ee.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:un,pending:Ge===Mn}),Ge?.isEmpty&&n.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:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"page-popup__empty",children:P("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(le,{htmlType:"button",variant:"main",size:48,onClick:un,label:P("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(ta,{message:zt,position:"top",onClose:Jt})]}),Pe=n.jsx(Eo.Provider,{value:oe,children:Ne});return typeof document<"u"&&document.body?Ut.createPortal(Pe,document.body):Pe}const Ln=f3;Ln.Page=ir,Ln.ListenStep=ru,Ln.ConfirmStep=ou,Ln.ConfirmWithTextStep=su,Ln.OrderListStep=iu,Ln.CardStep=lu,Ln.CardOrderStep=l3;function C3({label:e,homonum:t}){const a=Gn()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:c}=bo(a);return i?n.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:c})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function mu({words:e,anchorRect:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),s({left:u,top:d})},[t]),!t||e.length===0?null:Ut.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>n.jsx(C3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const g3=new Intl.Collator("ko");function b3({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:p,onPrintEmpty:m,className:h,emptyHint:v,sectionType:y="page",disc:g,notice:_}){const{t:f,i18n:C}=ve.useTranslation(),x=C.language?.startsWith("ko")??!1,{anchorRect:b,openAt:w,close:k}=va(),[B,N]=o.useState(null),A=o.useCallback(()=>{k(),N(null)},[k]);eb(A,!!B);const D=(r??"").trim(),H=/^[^,[\]\s]+$/.test(D)?D:"",R=H.length>0,P=r===void 0&&t===void 0,G=R?"match":P?"original":"ganada",[S,M]=o.useState(()=>G),[z,K]=o.useState("50"),[Z,q]=o.useState(1),[te,O]=o.useState(R);te!==R&&(O(R),M(G));const L=S==="match"&&!R||S==="original"&&!P?G:S,E=o.useMemo(()=>[...R?[{value:"match",label:f("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...P?[{value:"original",label:f("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:f("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:f("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:f("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:f("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:f("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:f("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[f,R,P]),I=o.useMemo(()=>["10","25","50","100"].map(Ce=>({value:Ce,label:f("wordSearch.pageSize",{count:Number(Ce),defaultValue:`${Ce}\uAC1C\uC529 \uBCF4\uAE30`})})),[f]),F=Ce=>Ce.words?.[0],$=o.useMemo(()=>{const Ce=[...H].length,Be=s2(H),De=new Map;return oe=>{let ee=De.get(oe);return ee===void 0&&(ee=Be((oe.words?.[0]?.label??"").slice(0,Ce))?0:1,De.set(oe,ee)),ee}},[H]),T=o.useCallback((Ce,Be)=>{const De=fe=>F(fe)?.label??"",oe=fe=>F(fe)?.syllables??[...De(fe)].length,ee=fe=>(fe.words??[]).reduce((ae,be)=>{const _e=parseInt(be.grade??"",10);return Number.isFinite(_e)&&_e<ae?_e:ae},999);switch(L){case"match":return $(Ce)-$(Be)||g3.compare(De(Ce),De(Be));case"ganada":return De(Ce).localeCompare(De(Be),"ko");case"ganada_desc":return De(Be).localeCompare(De(Ce),"ko");case"syllable":return oe(Ce)-oe(Be)||De(Ce).localeCompare(De(Be),"ko");case"syllable_desc":return oe(Be)-oe(Ce)||De(Ce).localeCompare(De(Be),"ko");case"grade":return ee(Ce)-ee(Be)||De(Ce).localeCompare(De(Be),"ko");case"grade_desc":return ee(Be)-ee(Ce)||De(Ce).localeCompare(De(Be),"ko");default:return 0}},[L,$]),Y=o.useMemo(()=>s.slice().sort(T),[s,T]),U=Number(z)||10,J=o.useMemo(()=>(i??[]).flatMap(Ce=>Ce.items.slice().sort(T).map(Be=>({item:Be,label:Ce.label}))),[i,T]),ce=i?J.length:Y.length,Ee=Math.max(1,Math.ceil(ce/U)),de=Math.min(Z,Ee),re=o.useMemo(()=>Y.slice((de-1)*U,de*U),[Y,de,U]),W=o.useMemo(()=>{if(!i)return null;const Ce=J.slice((de-1)*U,de*U),Be=new Map;for(const{item:De,label:oe}of Ce)Be.has(oe)||Be.set(oe,[]),Be.get(oe).push(De);return[...Be.entries()].map(([De,oe])=>({label:De,items:oe}))},[i,J,de,U]);o.useEffect(()=>{q(1)},[S,z,ce,r]);const ie=ce>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(an,{size:40,options:E,value:L,onChange:M,ariaLabel:f("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(an,{size:40,options:I,value:z,onChange:K,ariaLabel:f("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(Ka,{page:de,totalPages:Ee,onChange:q})]}):void 0,pe=Ce=>{c&&c(Ce)},ye=t!==void 0&&a?n.jsxs(n.Fragment,{children:[f("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),f("wordSearch.resultTitleSuffix",{unit:x?f2(a):a})]}):void 0,ge=t!==void 0&&t>0&&u!==void 0&&a?f("wordSearch.resultDisc",{unit:x?g2(a):a,max:u,selected:l.length}):void 0,we=g??(_?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"word-search-result-block__notice",children:_}),ge?n.jsx("span",{className:"word-search-result-block__disc",children:ge}):null]}):ge);return n.jsxs(aa,{type:y,icon:e,title:ye,action:ie,disc:we,className:Se("word-search-result-block",h),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:s.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:f("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),v&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:v})]}),i?(W??[]).map(Ce=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:Ce.items.map(Be=>{const De=l.includes(Be.id);return n.jsx("div",{onMouseEnter:oe=>{w(oe.currentTarget),N(Be.words??[])},onMouseLeave:A,children:n.jsx(le,{htmlType:"button",size:"word",align:"grid",label:(Be.words??[]).map(oe=>oe.label),subLabel:(Be.words??[]).some(oe=>oe.subLabel)?(Be.words??[]).map(oe=>oe.subLabel):void 0,selected:De,onClick:()=>pe(Be.id),minWidth:200})},Be.id)})})},Ce.label)):n.jsx("div",{className:"word-search-result-block__items",children:re.map(Ce=>{const Be=l.includes(Ce.id);return n.jsx("div",{onMouseEnter:De=>{w(De.currentTarget),N(Ce.words??[])},onMouseLeave:A,children:n.jsx(le,{htmlType:"button",size:"word",align:"grid",label:(Ce.words??[]).map(De=>De.label),subLabel:(Ce.words??[]).some(De=>De.subLabel)?(Ce.words??[]).map(De=>De.subLabel):void 0,selected:Be,onClick:()=>pe(Ce.id),minWidth:200})},Ce.id)})}),B&&b&&n.jsx(mu,{words:B,anchorRect:b})]}),Ee>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(Ka,{page:de,totalPages:Ee,onChange:q})}),(d||p)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:f("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),p&&n.jsx("div",{onClick:l.length===0?m:void 0,children:n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",label:f("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function y3(e,t){return t.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 v3({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:p,title:m,titleIcon:h,disc:v,showInfoButton:y=!0,onClearPhoneme:g,onSearch:_,onSearchEmpty:f,searchDisabled:C=!1,searchLabel:x,searchChecking:b=!1,pairMode:w=!1,sectionType:k="page",beforeSearchContent:B,beforeContent:N,afterContent:A,hideCountControl:D=!1,ordinal:H=!1}){const{t:R}=ve.useTranslation(),P=o.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),G=o.useMemo(()=>Array.from({length:s-i+1},(F,$)=>{const T=i+$;return{key:String(T),label:R("wordPairs.count",{n:T})}}),[R,s,i]),S=o.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),M=o.useCallback(F=>H?R("wordPairs.phonemeOrdinalLabel",{ordinal:S[F-1]??F}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:F}),[H,S,a,R]),z=o.useCallback(F=>H?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[F-1]??F}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:F}),[H,S,a,R]),K=o.useCallback((F,$)=>$?n.jsxs(n.Fragment,{children:[F,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):F,[]),{anchorRect:Z,toggleAt:q,close:te}=va(),O=o.useCallback(F=>r(Number(F)),[r]),L=nn("(max-width: 767px)"),E=o.useCallback(F=>y3(F,e).map(({label:$,value:T,displayLabel:Y})=>{const U=!!T&&T!=="\uC5C6\uC74C";return n.jsxs("span",{className:Se("phoneme-select-block__cell-jamo-part",T?"":"phoneme-select-block__cell-jamo-part--empty",U?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${T==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:T==="\uC5C6\uC74C"?"x":T||d}),U&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Y??$})]},$)}),[e,d]),I=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(le,{htmlType:"button",size:40,type:L?"dot":void 0,icon:"info",label:L?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:Z?"is-selected":void 0,"aria-expanded":!!Z,"aria-haspopup":"dialog",onClick:F=>q(F.currentTarget)})}),Z&&n.jsx(Fn,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:P,anchorRect:Z,onClose:te})]});return n.jsxs(aa,{type:k,title:m,icon:h,disc:v,action:y?I:void 0,className:Se("phoneme-select-block",p),children:[N,!D&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(Sn,{options:G,value:String(a),onChange:O,size:40,className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:w?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,$)=>{const T=t[$*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:E(T)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M($+1)})]},$)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,$)=>{const T=t[$*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:E(T)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:z($+1)})]},$)})})]}):t.map((F,$)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:E(F)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M($+1)})]},$))}),(l||c)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:w?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,$)=>{const T=t[$*2]??{};return n.jsx(wn,{title:K(M($+1),$===0),sections:c?c(T,$*2):l,selected:T,onSelect:u?.($*2),align:"newline"},$)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,$)=>{const T=t[$*2+1]??{};return n.jsx(wn,{title:z($+1),sections:c?c(T,$*2+1):l,selected:T,onSelect:u?.($*2+1),align:"newline"},$)})})]}):t.map((F,$)=>n.jsx(wn,{title:K(M($+1),$===0),sections:c?c(F,$):l,selected:F,onSelect:u?.($),align:"newline"},$))})}),B&&n.jsx("div",{className:"phoneme-select-block__before-search",children:B}),(g||_||b)&&(()=>{const F=t.every($=>Object.entries($).every(([T,Y])=>!Y||T==="\uC885\uC131"&&Y==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:F?f:void 0,children:[g&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:F,onClick:F?void 0:g}),_?n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:b?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:x??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:F||C||b,onDisabledClick:b?()=>{}:void 0,"aria-busy":b||void 0,onClick:_}):b?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:x??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),A]})}function x3({title:e,sections:t,selected:a,onSelect:r,className:s}){const{t:i}=ve.useTranslation();return n.jsx(wn,{className:s,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function _3({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=ve.useTranslation();return a.length===0?null:n.jsx(wn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function w3({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,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=_=>p("wordPairs.count",{n:_}),v=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:n.jsx(Ba,{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:n.jsx(Ba,{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:n.jsx(Ba,{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.")]})}],y={[m.searchMode]:t==="explicit"?m.explicit:t==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:h(i),[m.inputMode]:c==="phoneme"?m.pronInput:m.charInput},g=(_,f)=>{f===m.searchMode?a(_===m.explicit?"explicit":_===m.pick?"pick":"include"):f===m.phonemeOrder?s(_===m.orderMatch?"ordered":"unordered"):f===m.count?l(_===h(2)?2:1):f===m.inputMode&&u(_===m.pronInput?"phoneme":"word")};return n.jsx(wn,{className:d,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:v,selected:y,onSelect:g,align:"inline"})}function k3(e){const{title:t,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:c,defaultSortKey:u,defaultSortAsc:d=!0,selectedId:p,selectedIds:m,onSelect:h,onClose:v,pageSizeOptions:y=[10,25,50,100],initialPageSize:g,emptyText:_,countLabel:f,topContent:C,className:x=""}=e,{t:b}=ve.useTranslation(),w=l??b("common.search","\uAC80\uC0C9"),k=_??b("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[B,N]=o.useState(""),[A,D]=o.useState(u??r[0]?.key??""),[H,R]=o.useState(d),[P,G]=o.useState(String(g??y[0]??10)),[S,M]=o.useState(1);o.useEffect(()=>{M(1)},[B,P]);const z=c!==null,K=o.useCallback((T,Y)=>{if(!Y)return!0;const U=Y.toLowerCase();return r.some(J=>{const ce=T[J.key];return ce==null?!1:String(ce).toLowerCase().includes(U)})},[r]),Z=c??K,q=o.useMemo(()=>{const T=z?a.filter(Y=>Z(Y,B)):a;return A?[...T].sort((Y,U)=>{const J=Y[A],ce=U[A];return J===ce?0:Kr(J,ce,H)}):T},[a,B,A,H,z,Z]),te=Math.max(1,Math.ceil(q.length/Number(P)));S>te&&M(te);const O=Math.min(S,te),L=q.slice((O-1)*Number(P),O*Number(P)),E=o.useCallback(T=>{A===T?R(Y=>!Y):(D(T),R(!0)),M(1)},[A]),I=o.useMemo(()=>{if(typeof f=="function"){const T=q.length,Y=f(T);if(typeof Y=="string"){const U=Y.lastIndexOf(String(T));if(U>=0)return{prefix:Y.slice(0,U),suffix:Y.slice(U+String(T).length)}}return{label:Y}}if(typeof f=="string"&&f.includes("{n}")){const[T,Y]=f.split("{n}");return{prefix:T,suffix:Y}}return{prefix:b("common.totalCountPrefix","\uCD1D "),suffix:b("common.totalCountSuffix","\uAC1C")}},[f,q.length,b]),F=o.useMemo(()=>r.map(T=>({label:T.label,onClick:T.sortable!==!1?()=>E(T.key):void 0,className:T.className,sortDir:T.sortable!==!1&&A===T.key?H?"asc":"desc":null})),[r,A,H,E]),$=o.useMemo(()=>y.map(T=>({value:String(T),label:b("common.pageSizeLabel",{n:T})})),[y,b]);return n.jsxs(jn,{className:`popup-list ${x}`,title:t,onClose:v,children:[C,"label"in I&&n.jsx("p",{className:"toolbar__count body-1",children:I.label}),n.jsx(ro,{count:"label"in I?void 0:{value:q.length,prefix:I.prefix,suffix:I.suffix},search:z?{value:B,onChange:N,placeholder:w}:void 0,pageSize:{options:$,value:P,onChange:G},pagination:{page:O,total:te,onChange:M}}),n.jsx(ho,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:F,items:L,onRowClick:h,renderRow:T=>{const Y=m!=null?T.id!=null&&m.has(T.id):p!=null&&T.id===p;return r.map(U=>({content:U.render?U.render(T):T[U.key]??"",className:Se(U.className,Y&&"popup-list__row--selected")}))},empty:k})]})}function A3(e){const{title:t,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:h,closeOnConfirm:v=!0,onClose:y,inline:g,size:_="small",className:f,initialFocus:C="close"}=e,{t:x}=ve.useTranslation(),b=o.useRef(null);o.useEffect(()=>{if(g||C==="close")return;const D=b.current?.closest(".popup-panel"),H=Array.from(D?.querySelectorAll(".popup-footer--buttons button")??[]),R=C==="confirm"?H[H.length-1]:u?void 0:H[d?1:0];R&&!R.disabled&&R.focus()},[]);const w=o.useRef(!1),[k,B]=o.useState(!1),N=D=>{let H=!1;return{close:()=>{H=!0,D()},\uB2EB\uC558\uB098:()=>H}},A=async D=>{if(w.current)return;w.current=!0;const H=typeof document<"u"?document.activeElement:null;B(!0);let R=!1;try{R=await D()}catch(P){typeof console<"u"&&console.error(P)}finally{R||(w.current=!1,B(!1),requestAnimationFrame(()=>{const P=document.activeElement;(!P||P===document.body)&&H?.isConnected&&H.focus()}))}};return n.jsxs(jn,{title:t,onClose:y,closeDisabled:k,inline:g,size:_,className:Se("confirm-popup",f),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||k,onClick:async({closeWithAnimation:D})=>{await A(async()=>{const H=N(D);await d.onClick(H.close);const R=d.closeOnClick??!0;return R&&D(),R||H.\uB2EB\uC558\uB098()})}}]:[],...u?[]:[{label:c??x("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:k,onClick:({closeWithAnimation:D})=>D()}],{label:l??x("common.confirm","\uD655\uC778"),variant:p,disabled:m||k,onClick:async({closeWithAnimation:D})=>{await A(async()=>{const H=N(D);return await h(H.close),v&&D(),v||H.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(sr,{children:s.map((D,H)=>n.jsx(Tn,{label:D.label,children:n.jsx("span",{className:"panel-row__text body-2",children:D.value})},H))}),n.jsx("p",{ref:b,className:"body-2 confirm-popup__message",children:a}),i]})}function B3({onApply:e,onCancel:t}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[c,u]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async v=>{const y=r.trim();if(y){l(!0),u(null);try{await e(y),v()}catch(g){u(ei(g)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),m=o.useCallback((v,y)=>{v.key==="Enter"&&!v.nativeEvent.isComposing&&p(y)},[p]),h=v=>{s(v.target.value),u(null)};return n.jsx(jn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:v})=>v()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:v})=>{p(v)}}],children:({closeWithAnimation:v})=>n.jsxs(n.Fragment,{children:[n.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:y=>m(y,v),disabled:i,autoComplete:"off",spellCheck:!1}),c&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const N3=200;function D3(e){return e.itemId?(P2()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function S3({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:s}=ve.useTranslation(),i=o.useMemo(()=>F2(s).map(c=>({type:c,items:(e.items??[]).filter(u=>u.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,s]);if(i.length===0)return null;const l=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:u},d)=>[d>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),n.jsx("div",{className:"tooltip-training__items",children:u.map((p,m)=>{const h=D3(p);return h?n.jsx(Co,{index:m,type:c,trainingData:h,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},c.key)])})});return t?n.jsx(gn,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const hu=["var(--color-main)","var(--color-sub)"],E3=2e3;function j3(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Uo({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const g=Math.floor(t/2),_=t-g,f=(C,x)=>Array.from({length:C}).map((b,w)=>{const k=6+Math.random()*12,B=Math.round(Math.min(18,k*Math.min(1.5,1+r*.4))),N=hu[Math.floor(Math.random()*hu.length)],A=Math.random()*300,D=(360+Math.random()*260)*r*1.2,H=(x==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(H)*D,P=Math.sin(H)*D*1.35,G=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),M=Math.random()>.7?"50%":"3px";return{id:`${x}-${w}`,side:x,size:B,color:N,delay:A,vx:R,vy:P,angularVel:G,life:S,borderRadius:M}});return[...f(g,"left"),...f(_,"right")]},[t,r]),c=o.useRef(null),u=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),v=()=>{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=v()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const te=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(te)}const g=1200,_=performance.now(),f=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),x=te=>Math.max(40,(te||window.innerWidth)*.02),b=f?.width||window.innerWidth||375,w=f?.height||window.innerHeight||812,k=te=>{const O=[...te].sort((L,E)=>L-E);return O[Math.floor(O.length/2)]||1},B=k(l.map(te=>Math.abs(te.vy))),N=k(l.map(te=>Math.abs(te.vx))),A=Math.sqrt(2*g*(w*.72+C))/B,D=B*A/g,H=b*.5/(N*D),R=(te,O,L)=>Math.min(L,Math.max(O,te)),P=R(A,.8,2.4),G=R(H,.7,2.2),S=a>0?a/E3:1,M=l.map(te=>({...te,life:te.life*S,vx:te.vx*G,vy:te.vy*P,startTime:_+te.delay,ended:!1})),z=f?{x:f.left-x(f.width),y:f.top+f.height+C}:{x:-x(window.innerWidth),y:window.innerHeight+C},K=f?{x:f.left+f.width+x(f.width),y:f.top+f.height+C}:{x:window.innerWidth+x(window.innerWidth),y:window.innerHeight+C},Z=te=>{let O=!1;for(const L of M){const E=u.current[L.id];if(!E||!E)continue;if(te<L.startTime){E.style.display="none",O=!0;continue}if(!L._inited){const de=L.side==="left"?z.x:K.x,re=L.side==="left"?z.y:K.y;E.style.left=`${de}px`,E.style.top=`${re}px`,E.style.transform="translate3d(0px, 0px, 0)",E.style.display="block",E.style.zIndex="100000",typeof L.color=="string"&&L.color.startsWith("var(")&&(E.style.background=j3(E,L.color)??"#FF0060"),L._inited=!0}const I=(te-L.startTime)/1e3;if(I<0)continue;const F=L.life/1e3;if(I>=F){E.style.opacity="0",E.style.display="none",L.ended=!0;continue}O=!0;const $=L.side==="left"?z.x:K.x,T=L.side==="left"?z.y:K.y,Y=$+L.vx*I,U=T+L.vy*I+.5*g*I*I,J=(L.angularVel||0)*I,ce=Y-$,Ee=U-T;E.style.transform=`translate3d(${ce}px, ${Ee}px, 0) rotate(${J}deg)`,E.style.opacity=`${Math.max(0,1-I/F)}`}O?d.current=requestAnimationFrame(Z):p.current?.()};d.current=requestAnimationFrame(Z);const q=setTimeout(()=>{try{if((h.current?h.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const te=document.createElement("div");te.className="party-container",te.style.position="fixed",te.style.inset="0",te.style.pointerEvents="none",te.style.overflow="visible",te.style.zIndex="2147483647";for(const O of l){const L=document.createElement("span");L.className=`confetti confetti--${O.side}`,L.setAttribute("aria-hidden","true"),L.style.display="none",L.style.position="fixed",L.style.left="0px",L.style.top="0px",L.style.width=`${O.size}px`,L.style.height=`${Math.max(4,O.size*.6)}px`,L.style.background=O.color,L.style.borderRadius=O.borderRadius,L.style.transform="translate3d(0,0,0)",L.style.opacity="0",te.appendChild(L),u.current[O.id]=L}(document.body||h.current).appendChild(te),m.current=te}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(q),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const y=n.jsx("div",{className:"party-container",ref:c,children:l.map(g=>n.jsx("span",{"aria-hidden":!0,ref:_=>{u.current[g.id]=_},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"?Ut.createPortal(y,h.current||document.body):y}const Go=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function T3({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};r(u=>({n:(u?.n??0)+1,count:Go(c.count),strength:Go(c.strength),duration:Go(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(Uo,{active:t,trigger:e}),a&&n.jsx(Uo,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function M3({title:e,sub:t,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:p}=ve.useTranslation();Fg(typeof e=="string"?e:l??null);const m=u??p("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[c&&n.jsx(le,{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:c}),n.jsx("h1",{className:"page-title__title h1",children:e}),s&&n.jsx("div",{className:"page-title__badge",children:n.jsx(mt,{label:s,size:"small",variant:i,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function L3(e){return e??""}const fu=o.createContext({words:[],loading:!1});function $3(){return o.useContext(fu)}function R3({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){return n.jsx(fu.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u},children:d})}function P3({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:Se("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},u))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const I3=(e,t)=>`${e} / ${t}`;function F3({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=I3,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:p}=ve.useTranslation(),m=o.useRef(null),h=o.useRef(null),v=o.useRef(null),y=o.useRef(null),[g,_]=o.useState(null),[f,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 z=new ResizeObserver(M);return z.observe(S),()=>z.disconnect()},[g]);const x=e.map(S=>`${S.id}\0${S.section??""}\0${S.group??""}`).join(""),b=g&&g.shape===x?g.pages:null,[w,k]=o.useState(0);o.useEffect(()=>{const S=y.current;if(!S||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>k(S.offsetHeight));return M.observe(S),()=>M.disconnect()},[]);const[B,N]=o.useState(0);o.useEffect(()=>{const S=h.current;if(!S||typeof ResizeObserver>"u")return;let M=null;const z=typeof requestAnimationFrame=="function"?q=>requestAnimationFrame(q):q=>setTimeout(q,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:q=>clearTimeout(q),Z=new ResizeObserver(()=>{M==null&&(M=z(()=>{M=null,N(q=>q+1)}))});return Array.from(S.children).forEach(q=>Z.observe(q)),()=>{Z.disconnect(),M!=null&&K(M)}},[x]),o.useLayoutEffect(()=>{const S=h.current,M=y.current;if(!S||!M)return;const z=F=>F.getBoundingClientRect().height||F.offsetHeight,K=new Map;v.current?.querySelectorAll("[data-chrome-section]").forEach(F=>{K.set(F.dataset.chromeSection??"",z(F))});const Z=F=>z(M)-(K.get(F??"")??0),q=Array.from(S.children).map(F=>z(F)),te=[];e.forEach((F,$)=>{const T=te[te.length-1],Y=T?e[T[0]]:void 0;Y&&F.group!=null&&Y.group===F.group&&Y.section===F.section?T.push($):te.push([$])});const O=[];let L=[],E=0;const I=()=>{L.length&&O.push(L),L=[],E=0};te.forEach(F=>{const $=F.reduce((Y,U)=>Y+q[U],0),T=Z(e[F[0]].section);L.length&&e[L[0]].section!==e[F[0]].section&&I(),$>T?F.forEach(Y=>{L.length&&E+q[Y]>T+.01&&I(),L.push(Y),E+=q[Y]}):(L.length&&E+$>T+.01&&I(),F.forEach(Y=>L.push(Y)),E+=$)}),I(),_(F=>F&&F.shape===x&&JSON.stringify(F.pages)===JSON.stringify(O)?F:{shape:x,pages:O})},[x,w,i,l,c,B]);const A=to,D=A,H=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:D,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),R=(S,M,z)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:z!=null&&t?.[z]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:H}),n.jsx("span",{className:"report-doc__page-no",children:s(S,M)})]})}),P=Array.from(new Set(e.map(S=>S.section??""))),G={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return n.jsxs("div",{ref:m,className:Se("report-doc",u),style:G,tabIndex:f?0:void 0,role:f?"group":void 0,"aria-label":f?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:y,className:"report-doc__ruler"}),n.jsx("div",{ref:v,children:P.map(S=>{const M=R(1,1,S||void 0);return n.jsxs("div",{"data-chrome-section":S,children:[M.header,M.footer]},S)})}),n.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(S=>n.jsx("div",{children:S.content},S.id))})]}),b&&n.jsx("div",{className:"report-doc__pages",children:b.map((S,M)=>{const{header:z,footer:K}=R(M+1,b.length,e[S[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[z,S.map(Z=>n.jsx("div",{children:e[Z].content},e[Z].id)),K]},M)})})]})}function O3({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:Se("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((i,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:i.label}),n.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const Wn=new Map;let cr=null;const H3=12;function z3(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function ur(){const e=new Map;for(const t of Wn.keys()){if(!t.isConnected)continue;const a=z3(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){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+H3)}}}function V3(e){return typeof window>"u"?()=>{}:(Wn.set(e,(Wn.get(e)??0)+1),Wn.get(e)===1&&typeof ResizeObserver<"u"&&(cr??(cr=new ResizeObserver(()=>ur())),cr.observe(e)),ur(),()=>{const t=(Wn.get(e)??1)-1;if(t>0){Wn.set(e,t),ur();return}Wn.delete(e),cr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),ur()})}function W3({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:c}=ve.useTranslation(),u=a??c("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,v=h?V3(h):null;return()=>{v?.(),p.current&&m&&m.contains(document.activeElement)&&Wa(m)}},[]),n.jsxs("div",{ref:d,className:Se("update-alert",l),role:"alert",children:[i&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:s??n.jsx(is,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(le,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:u})]})}function q3({title:e,description:t,topActions:a,children:r,footerLeft:s,footerRight:i,onClick:l,draggable:c,onDragStart:u,onDragEnd:d,className:p}){const m=s!=null||i!=null,h=r!=null&&r!==!1,v=o.useCallback(y=>{l&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),l())},[l]);return n.jsxs("div",{className:Se("training-card",l?"training-card--clickable":"",p),onClick:l,onKeyDown:l?v:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:u,onDragEnd:d,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:y=>y.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?n.jsx("p",{className:"training-card__description body-3",children:t}):t:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),h&&n.jsx("div",{className:"training-card__body",children:r}),m&&n.jsxs("div",{className:"training-card__footer",children:[s!=null&&n.jsx("div",{className:"training-card__footer-left",children:s}),i!=null&&n.jsx("div",{className:"training-card__meta",children:i})]})]})}function U3({title:e,count:t,collapsed:a=!1,onToggle:r,sort:s,actions:i,empty:l=!1,emptyContent:c,dragOver:u=!1,onDragOver:d,onDragLeave:p,onDrop:m,children:h,className:v}){const{t:y}=ve.useTranslation(),g=r!=null,_=Se("training-card-group",u&&"training-card-group--dragover",a&&"training-card-group--collapsed",g&&"training-card-group--collapsible",v);return n.jsxs("div",{className:_,onDragOver:d,onDragLeave:p,onDrop:m,children:[n.jsxs("header",{className:"training-card-group__header",children:[g&&n.jsx(le,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?y("common.expand","\uD3BC\uCE58\uAE30"):y("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:r}),typeof e=="string"?n.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:t}),(s||i!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:f=>f.stopPropagation(),children:[s&&n.jsx(an,{size:40,options:s.options,value:s.value,placeholder:s.placeholder,onChange:s.onChange}),i]})]}),!a&&(l?n.jsx("div",{className:"training-card-group__empty body-3",children:c}):n.jsx("div",{className:"training-card-group__grid",children:h}))]})}const G3="speechear:saved_word_tables";function K3(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function Y3(){try{const e=localStorage.getItem(G3);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(K3):[]}catch{return[]}}function Cu(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 Ko(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function Z3(e){const t=new Set;return e.map(a=>{let r=a.id;for(let s=2;t.has(r);s++)r=`${a.id}~${s}`;return t.add(r),r===a.id?a:{...a,id:r}})}function X3({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:s,onLoad:i,onRemoveItem:l,onReset:c,resetLabel:u,saveButtonLabel:d,secondarySaveButtonLabel:p,onReorder:m,showCellCount:h,onAddItem:v,className:y,renderSavePopup:g,renderWordSearch:_,hideControls:f,saveOnly:C,tableName:x,nameValue:b,onNameChange:w,descriptionValue:k,onDescriptionChange:B,namePlaceholder:N,descriptionPlaceholder:A,existingNames:D,editingName:H,onCancel:R}){const{t:P}=ve.useTranslation(),G=u??P("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=r===void 0,M=!!w,[z,K]=o.useState([]),Z=(b??"").trim(),q=Z||(N??"").trim(),te=(k??"").trim()||(A??"").trim(),O=(D??[]).map(Ne=>Ne.trim().toLowerCase()),L=[H?.trim().toLowerCase(),...z].filter(Ne=>!!Ne),E=[...O];for(const Ne of L){const Pe=E.indexOf(Ne);Pe!==-1&&E.splice(Pe,1)}const I=Z!==""&&E.includes(Z.toLowerCase()),[F,$]=o.useState(Array(4).fill(null)),[T,Y]=o.useState(4),[U,J]=o.useState(null),ce=F.slice(0,T),[Ee,de]=o.useState("landscape"),[re,W]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ie,pe]=o.useState("\uD45C\uC2DC"),[ye,ge]=o.useState(!0),[we,Ce]=o.useState(!0),Be=o.useRef(null),De=o.useRef([]),[oe,ee]=o.useState(8),[fe,ae]=o.useState("right"),[be,_e]=o.useState(!1),[Ke,Ve]=o.useState(!1),{toastMessage:qe,toastType:je,showWarning:Ue,clearToast:Le}=sl("warning"),Ie=o.useCallback(()=>J(null),[J]);v&&!S&&!h&&fn("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[ze,nt]=o.useState(()=>Math.max(r?.length??1,1)),ot=S?T:h?Math.max(ze,r?.length??1,1):Math.max(r?.length??0,1),{width:Ge,height:Xe}=ra[Ee],ht=!S&&!h,At=r?.length??0,zt=Math.min(oe,Math.max(At,1)),Ct=ht?zt:ot,et=ht?lc(r??[],Ct):null,Ye=!!et&&et.length>1,Je=S?ce.some(Ne=>Ne!==null&&Ne.length>1):(r??[]).some(Ne=>(Ne.words??[]).length>1),it=x?.trim()||`${li(ga())} ${Je?P("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):P("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,Oe=o.useCallback(()=>Ye?De.current.filter(Ne=>Ne!==null):Be.current?[Be.current]:[],[Ye]),{print:ft,openNewWindow:He,downloadHtml:dt}=Ao({getElements:Oe,paperW:Ge,paperH:Xe,fileName:it,onPopupBlocked:()=>{Ue(P("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."))}}),Et=Ne=>{Y(Ne),$(Pe=>Pe.length>=Ne?Pe:[...Pe,...Array(Ne-Pe.length).fill(null)]),J(null)},wt=Ne=>{$(Pe=>{const ne=[...Pe];return ne[Ne]=null,ne}),U===Ne&&J(null)},xt=Ne=>{if(U===null)return;const Pe=U;$(he=>{const V=[...he];return V[Pe]=Ne.length>0?Ne:null,V});const ne=ce.findIndex((he,V)=>V>Pe&&he===null);J(ne!==-1?ne:null)},rt=S?ce.some(Ne=>Ne?.some(Pe=>!!Pe.colloquialPronunciation)):(r??[]).some(Ne=>(Ne.words??[]).some(Pe=>!!Pe.colloquialLabel)),Re=o.useMemo(()=>Gn()?S?F.slice(0,T).flatMap(Ne=>(Ne??[]).map(Pe=>[Pe.word,Pe.homonum])):(r??[]).flatMap(Ne=>(Ne.words??[]).map(Pe=>[Pe.label,Pe.homonum])):[],[S,F,T,r]),[at,gt]=o.useState(!1);o.useEffect(()=>{if(Re.length===0)return;let Ne=!1;return Promise.all(Re.map(([Pe,ne])=>Zs(Pe,ne))).then(Pe=>{Ne||gt(Pe.some(Boolean))},()=>{}),()=>{Ne=!0}},[Re]);const Vt=Re.length>0&&at,Qe=o.useMemo(()=>[...S||h?[{label:P("wordTable.filter.columns","\uCE78 \uC218"),items:Ey.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:P("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...ht&&(r?.length??0)>0?[wc(P,{hasPairs:Je,itemCount:At})]:[],...Ye?[Ac(P)]:[]],[P,S,h,ht,r?.length,Je,At,Ye]),Yt={...S||h?{[P("wordTable.filter.columns","\uCE78 \uC218")]:`${ot}\uCE78`}:{},...ht&&(r?.length??0)>0?{[P(Je?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${zt}\uAC1C`}:{},...Ye?{[P("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Bc[fe]}:{}},kn=(Ne,Pe)=>{Pe===P("wordTable.filter.columns","\uCE78 \uC218")?S?Et(parseInt(Ne)):nt(parseInt(Ne)):Pe===P(Je?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?ee(kc(parseInt(Ne),At)):Pe===P("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&ae(Nc(Ne))},Bt=S?Z3(ce.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Ko(Ne),words:Ne.map(Cu)}))):r??[],Wt=()=>{S&&$(Ne=>Ne.length>T?Ne.slice(0,T):Ne)},Qt=(Ne=!1)=>{if(Ve(Ne),M&&s){const Pe=q.trim().toLowerCase();Pe&&K(ne=>ne.includes(Pe)?ne:[...ne,Pe]),s(q,Bt,te||void 0,Ne),Wt();return}if(C&&s){s("",Bt,void 0,Ne),Wt();return}if(s){_e(!0);return}dt()},[rn,ln]=o.useState(!1),[en,An]=o.useState(""),Zt=en.trim(),bt=Zt!==""&&O.includes(Zt.toLowerCase()),cn=()=>{An(q?P("wordTable.save.copyName",{name:q,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),ln(!0)},Xt=()=>{!Zt||bt||!s||(s(Zt,Bt,te||void 0,!0),Wt(),ln(!1))},Tt=Bt.length===0,un=Tt||M&&(q===""||I),Jt=()=>{if(Tt){Ue(P("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(M&&q===""){Ue(P("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}M&&I&&Ue(P("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},dn=n.jsx(oa,{items:Bt,orientation:Ee,contentTypes:re,cutLine:ie,showOutline:ye,showDivLine:we,count:ot});return n.jsxs(n.Fragment,{children:[n.jsxs(aa,{type:"page",icon:t,title:e,disc:a,className:Se("word-table-block",y),children:[rn&&n.jsx(jn,{size:"small",title:p??P("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ln(!1),footer:({closeWithAnimation:Ne})=>n.jsxs(n.Fragment,{children:[n.jsx(le,{htmlType:"button",size:48,type:"bar",label:P("common.cancel","\uCDE8\uC18C"),onClick:Ne}),n.jsx(le,{htmlType:"button",size:48,type:"bar",variant:"main",label:P("common.save","\uC800\uC7A5"),disabled:!Zt||bt,onClick:Xt})]}),children:n.jsx(zn,{label:P("wordTable.save.nameLabel","\uC774\uB984"),value:en,onChange:An,placeholder:P("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:Xt,error:bt?P("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),be&&s&&g?.({defaultName:typeof e=="string"?e:P("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:dn,previewW:Ge,previewH:Xe,items:Bt,existingNames:Y3().map(Ne=>Ne.name),saveAsNew:Ke,onSave:(Ne,Pe)=>{s(Ne,Bt,Pe,Ke),Wt(),_e(!1)},onCancel:()=>_e(!1)}),(S||v)&&U!==null&&_?.({cellIndex:U,onConfirm:S?xt:Ne=>{if(v){const Pe=Ne[0];if(Pe){const ne=new Set((r??[]).map(V=>V.id));let he=Ko([Pe]);for(let V=2;ne.has(he);V++)he=`${Ko([Pe])}~${V}`;v({id:he,words:[Cu(Pe)]})}}J(null)},onClose:Ie}),!f&&n.jsx(_o,{hasImage:Vt,hasColloquial:rt,contentTypes:re,orientation:Ee,showOutline:ye,cutLine:ie,showDivLine:we,setters:{setContentTypes:W,setOrientation:de,setShowOutline:ge,setCutLine:pe,setShowDivLine:Ce},showCutLine:(ht?Ct:ot)>1,showDivLine2:Je,middleSections:Qe,extraSelected:Yt,onExtraSelect:kn}),Ye&&et?n.jsx("div",{className:"word-table-block__pages",children:et.map((Ne,Pe)=>n.jsx(oa,{orientation:Ee,contentTypes:re,cutLine:ie,showOutline:ye,showDivLine:we,count:Ct,items:Ne,onRemoveItem:l,onReorder:m&&((ne,he)=>m(ne+Pe*Ct,he+Pe*Ct)),contentRef:ne=>{De.current[Pe]=ne},pageNumber:{current:Pe+1,total:et.length},pageNumberPosition:fe},Pe))}):n.jsx(oa,{orientation:Ee,contentTypes:re,cutLine:ie,showOutline:ye,showDivLine:we,count:ot,items:S?void 0:r??[],editCells:S?ce:void 0,activeCell:U,onActivateCell:S||v?J:void 0,onRemoveCell:S?wt:void 0,onRemoveItem:S?void 0:l,onReorder:S?void 0:m,showFillerAdd:!!v,contentRef:Be}),M&&!f&&n.jsxs(sr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Tn,{variant:"custom",label:P("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(zn,{required:!0,value:b??"",onChange:w,placeholder:N?N+P("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):P("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:P("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:I?P("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(b??"").trim()&&(N??"").trim()&&(Ne.preventDefault(),w?.(N??""))}})}),n.jsx(Tn,{variant:"custom",label:P("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(zn,{value:k??"",onChange:B,placeholder:A?A+P("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):P("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:P("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(k??"").trim()&&(A??"").trim()&&(Ne.preventDefault(),B?.(A??""))}})})]})]}),!f&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!C&&c&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:G,onClick:c}),!C&&i&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:P("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!C&&n.jsx(le,{htmlType:"button",size:40,type:"bar",label:P("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:He})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[R&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:P("common.cancel","\uCDE8\uC18C"),onClick:R}),!C&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:P("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:ft}),p&&n.jsx(le,{htmlType:"button",size:"56",type:"bar",label:p,onClick:()=>M?cn():Qt(!0),disabled:Tt,onDisabledClick:()=>{Ue(P("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(le,{htmlType:"button",size:"56",type:"bar",variant:"main",label:d??P("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Qt(!1),disabled:un,onDisabledClick:Jt})]})]}),n.jsx(ta,{message:qe,type:je,onClose:Le})]})}function gu({items:e,className:t}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return n.jsx("div",{className:Se("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?n.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,p)=>n.jsxs(o.Fragment,{children:[p>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},p))},c):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function J3({items:e,name:t,description:a,createdAt:r,published:s,publishedLabel:i,shared:l,sharedLabel:c,isNew:u,publisherName:d,publishedAt:p,likeCount:m,downloadCount:h,onPublisherClick:v,selected:y,onClick:g,onMore:_,titleNode:f,className:C}){const{t:x}=ve.useTranslation(),b=f!=null,w=d!=null||p!=null||m!=null||h!=null,k=B=>{B.target===B.currentTarget&&!b&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),g?.())};return n.jsxs("div",{className:Se("word-table-button",y?"word-table-button--selected":"",w?"":"word-table-button--no-footer",C),role:"button",tabIndex:0,"aria-label":t,onClick:b?void 0:g,onKeyDown:k,children:[u&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":x("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(gu,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[f??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!b&&n.jsx(le,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:x("common.moreFor",{name:t}),onClick:B=>{B.stopPropagation(),_(B)}})]}),(r||s||l)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta caption-1",children:r?ii(r,x):""}),n.jsxs("span",{className:"word-table-button__badges",children:[s&&n.jsx(mt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??x("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),l&&n.jsx(mt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??x("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),w&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[d&&n.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:B=>{B.stopPropagation(),v?.()},children:d}),p&&n.jsx("span",{className:"training-card__date body-4",children:ii(p,x)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&n.jsx(mt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m)}),h!=null&&n.jsx(mt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(h)})]})]})]})}/**
|
|
1007
1007
|
* @license lucide-react v1.38.0 - ISC
|
|
1008
1008
|
*
|
|
1009
1009
|
* This source code is licensed under the ISC license.
|
|
@@ -1013,4 +1013,4 @@ ${g.badge}`:g.badge:void 0;if(w&&u(g.code))return null;if(!g.badge&&!p)return m(
|
|
|
1013
1013
|
*
|
|
1014
1014
|
* This source code is licensed under the ISC license.
|
|
1015
1015
|
* See the LICENSE file in the root directory of this source tree.
|
|
1016
|
-
*/const t7=[["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"}]],n7=Q("circle-x",t7);function a7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Go({icon:e,label:t,state:a,pct:r,subText:s}){const{t:i}=be.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(cs,{size:22,color:"white",strokeWidth:2.5}):u?n.jsx(n7,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(mt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?n.jsx(mt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function r7({title:e,progress:t,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=be.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:p,imageDone:m,imageTotal:f,pairPercent:b}=t,C=a7(c),y=c==="done",_=!!u;function h(B){return _&&C===B?"error":C>B?"done":C===B?"active":"pending"}const v=h(1),x=h(2),g=h(3),k=c==="image-match"&&f?Math.round((m??0)/f*100):void 0,w=o.useMemo(()=>{if(x!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:p??1});if(c==="image-match"&&f)return l("wordData.imageCount",{done:Rr(m),total:Rr(f)})}},[x,c,p,f,m,l]);return n.jsx(jn,{inline:i,className:"popup--word-data-update",title:e,footer:_&&r?n.jsx(le,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):_?n.jsx(le,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(le,{htmlType:"button",size:56,variant:"main",disabled:!y,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(Go,{icon:n.jsx(rs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:v,subText:v==="active"?l("wordData.downloadingCount",{n:Rr(d)}):void 0}),n.jsx(Go,{icon:n.jsx(e7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:x,pct:k,subText:w}),n.jsx(Go,{icon:n.jsx(is,{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 o7({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=be.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),c=b=>{let C=null;b==="noise"?C={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"?C={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"?C={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"&&(C={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(C),s(b)},u=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>c("noise"),[]),p=o.useCallback(()=>c("short"),[]),m=o.useCallback(()=>c("long"),[]),f=o.useCallback(()=>c("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:f,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}exports.Accordion=ob,exports.ActionCard=G2,exports.Alert=Zb,exports.AppHeader=db,exports.AudioMeter=co,exports.AudioPlayer=To,exports.Avatar=a4,exports.Badge=mt,exports.BarChart=O4,exports.BarChartControls=Ol,exports.Board=C4,exports.BottomNav=il,exports.BrandIdentity=pl,exports.Breadcrumb=s4,exports.BulkBar=S4,exports.Button=le,exports.CORE_VERSION=H2,exports.Calendar=oy,exports.CardStep=lu,exports.ChartLegend=ro,exports.ChartSection=oo,exports.ChartTotal=Ea,exports.Checkbox=$l,exports.ChoiceChips=c5,exports.CircleBadge=Ub,exports.CodeBox=N4,exports.ColorPicker=d4,exports.CompanyMeta=_4,exports.ConfirmPopup=A3,exports.ConfirmStep=ou,exports.ConfirmWithTextStep=su,exports.ContrastFilterPanel=w3,exports.CoreScope=K2,exports.CountTile=p4,exports.CouponInputPopup=B3,exports.DEFAULT_NOISE_SETTINGS=La,exports.DatePicker=M4,exports.DebugResultLauncher=o7,exports.DescriptionTooltip=Fn,exports.DeviceSideTable=ny,exports.Dialog=f4,exports.Divider=Gb,exports.Dropdown=nn,exports.EffectPartyPopper=Wo,exports.EffectPartyPopperHost=T3,exports.EmptyState=q2,exports.ErrorState=U2,exports.FILTER_ALL_VALUE=rn,exports.FileUpload=o4,exports.FilterPanel=wn,exports.FilterSectionInfo=Ba,exports.Footer=u5,exports.Header=ml,exports.Icon=qe,exports.IconGridMenu=l5,exports.IconRenderer=qe,exports.InfoTooltip=bn,exports.LEVEL_MAX=ia,exports.LandingBottomSticky=p5,exports.LandingHeader=d5,exports.ListPopup=k3,exports.ListenStep=ru,exports.Loader=Sa,exports.MARKS=ac,exports.MARK_ICON=oc,exports.MARK_VARIANT=sc,exports.MediaQueryOverrideContext=fi,exports.MenuTooltip=wa,exports.NOISE_RATIO_MAX=ja,exports.NOISE_RATIO_STEP=$c,exports.NoisePlayerContext=Do,exports.NoiseSettingsTooltip=Xc,exports.NoticeBox=Y2,exports.OrderListStep=iu,exports.PASS_CARD_BG_VARS=Hn,exports.POS_LABEL=cc,exports.PROMO_BANNER_BG_COMPONENTS=Yi,exports.PROMO_BANNER_BG_OPTIONS=Pg,exports.PROMO_BANNER_BG_VARS=ya,exports.Page=ir,exports.PageTitle=M3,exports.Pagination=Ka,exports.Panel=sr,exports.PanelGrid=q5,exports.PanelRow=Tn,exports.PanelRowDevice=W5,exports.PassCard=wl,exports.PassCardBg=Vb,exports.PassCardBgIHAB=zb,exports.PassCardBgLeftColorGrid=Wb,exports.PassCardBgTwoCircle=bl,exports.PaymentPlan=Hb,exports.PersonCard=g4,exports.PhonemeFilterPanel=_3,exports.PhonemeSelectBlock=v3,exports.Popup=jn,exports.ProgressBar=G4,exports.ProgressIndicator=Zl,exports.PromoBanner=nb,exports.PromoBannerBgDark=Li,exports.PromoBannerBgDeep=Di,exports.PromoBannerBgDiagonal=Ii,exports.PromoBannerBgDots=Oi,exports.PromoBannerBgInstagram=Ki,exports.PromoBannerBgMain=_i,exports.PromoBannerBgNaver=Ui,exports.PromoBannerBgOutline=Vi,exports.PromoBannerBgRadial=Ri,exports.PromoBannerBgSoft=ki,exports.PromoBannerBgSoftSub=Ei,exports.PromoBannerBgSub=Bi,exports.PromoBannerBgSuccess=Wi,exports.PromoBannerBgWarm=Ti,exports.PublicationCard=y4,exports.Radio=Nl,exports.RadioGroup=Kb,exports.Rating=l4,exports.ReportDocument=F3,exports.ReportInfoPanel=O3,exports.RingChart=V4,exports.SENTENCE_TRAINING_TYPES=ko,exports.SearchSummary=Qb,exports.Section=aa,exports.SectionHeader=x4,exports.SegmentedControl=Sn,exports.ShortcutBadge=Bl,exports.SideNav=dl,exports.Slider=Ul,exports.SoundCompass=qb,exports.SplashLogo=v4,exports.StatChart=z4,exports.SummaryStrip=P3,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=N3,exports.Table=po,exports.TableFilterPanel=vo,exports.Tabs=e4,exports.TextBoxTooltip=or,exports.TextField=Vn,exports.Timeline=b4,exports.Toast=ta,exports.Toggle=Ll,exports.Toolbar=ao,exports.Tooltip=gn,exports.TooltipInfo=bn,exports.TooltipTextBox=or,exports.TopBanner=ab,exports.TrainingBlock=uy,exports.TrainingBlockButton=ho,exports.TrainingCard=q3,exports.TrainingCardGroup=U3,exports.TrainingPagePopup=Ln,exports.TrainingPagePopupBottom=Jc,exports.TrainingPagePopupTitle=Qc,exports.TrainingResultPopup=uu,exports.TrainingStep=zn,exports.TrainingStepAudioPlayer=To,exports.TrainingStepBullet=zc,exports.TrainingStepCard=Gc,exports.TrainingStepConfirm=Lo,exports.TrainingStepConfirmWithText=$o,exports.TrainingStepListen=Ro,exports.TrainingStepOrderList=Po,exports.TrainingStepTextBox=Uc,exports.TrainingStepTitle=qc,exports.TrainingTooltip=S3,exports.TrainingWordCard=go,exports.UpdateAlert=W3,exports.WAVE_A_MAX=w5,exports.WAVE_H1_PX=Oc,exports.WAVE_HMAX_PX=_5,exports.WORD_TABLE_PAPER=ra,exports.WORD_TYPE_LABEL=uc,exports.WordDataProvider=R3,exports.WordDataUpdatePopup=r7,exports.WordImageTooltip=mu,exports.WordSearchFilterPanel=x3,exports.WordSearchResultBlock=b3,exports.WordTable=oa,exports.WordTableBlock=X3,exports.WordTableButton=J3,exports.WordTablePopup=Ly,exports.WordTableThumbnail=gu,exports.buildMonthChartData=$4,exports.cellKey=Vy,exports.cellLabel=Hy,exports.cellsForLabels=e5,exports.clearPassCardBgTheme=xn,exports.clearPromoBannerBgTheme=Rt,exports.closeTrainingPopup=Z5,exports.companyTypeLabel=L3,exports.createTrainingScenario=Q5,exports.cx=De,exports.deriveNoiseContexts=o3,exports.derivePassCard=fl,exports.draftValues=s5,exports.effectiveNoiseVolume=Bo,exports.effectiveSpeechVolume=Pc,exports.expandSlashLabel=yo,exports.formatDuration=t5,exports.getControlDateRange=H4,exports.getPayloadTimestamp=Oo,exports.getPromoBannerBgTheme=Ur,exports.getSelectedFromPayload=t3,exports.getSelectedText=n3,exports.getStepPayload=nu,exports.getSteppedPayload=a3,exports.injectPassCardBgTheme=vn,exports.injectPromoBannerBgTheme=$t,exports.isSelectionCorrect=r3,exports.labelOfCellKey=Mc,exports.labelsForSave=Oy,exports.levelToPct=m5,exports.markAfterClick=rc,exports.marksForSave=bo,exports.mergeNoiseSettings=Ma,exports.missesByType=Zy,exports.nextFocus=Uy,exports.nextMisses=Yy,exports.noiseElementVolume=No,exports.noiseRatioOf=Ta,exports.pageStartIndexes=ic,exports.passCardBgIhabTheme=kl,exports.passCardBgLeftColorGridTheme=Al,exports.passCardBgTwoCircleTheme=gl,exports.pctToLevel=h5,exports.printWordTable=Cy,exports.promoBannerBgDarkTheme=Mi,exports.promoBannerBgDeepTheme=Ni,exports.promoBannerBgDiagonalTheme=Pi,exports.promoBannerBgDotsTheme=Fi,exports.promoBannerBgInstagramTheme=Gi,exports.promoBannerBgMainTheme=xi,exports.promoBannerBgNaverTheme=qi,exports.promoBannerBgOutlineTheme=Hi,exports.promoBannerBgRadialTheme=$i,exports.promoBannerBgSoftSubTheme=Si,exports.promoBannerBgSoftTheme=wi,exports.promoBannerBgSubTheme=Ai,exports.promoBannerBgSuccessTheme=zi,exports.promoBannerBgWarmTheme=ji,exports.recommendTables=Jy,exports.regenerateUnpinned=o5,exports.removeItem=r5,exports.resolveTrainingItems=J5,exports.resolveTrainingPopupMeta=tu,exports.reviewCells=Ry,exports.reviewMeta=Fy,exports.reviewSetPlan=Xy,exports.reviewTableName=Iy,exports.scoreKey=tr,exports.scoreSheetHeader=zy,exports.shouldConfirmDiscard=fy,exports.splitTrainingVariants=X5,exports.summarize=hy,exports.summarizeMisses=Ky,exports.tableTrends=qy,exports.toDraft=n5,exports.toTrainingText=e3,exports.togglePin=a5,exports.uncoveredLabels=Qy,exports.useAnchoredMenu=_a,exports.useBarChartControl=Fl,exports.useCalendarMonth=Rl,exports.useComboboxSuggestions=jl,exports.useFitScale=pc,exports.useNoisePlayer=ar,exports.useSoundCompassExam=tb,exports.useToastLifecycle=Kl,exports.useWordData=$3,exports.useWordTableDisplaySettings=jc,exports.useWordTablePrint=wo,exports.waveBarPx=$a,exports.waveBarVal=Eo,exports.weakItems=Wy;
|
|
1016
|
+
*/const t7=[["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"}]],n7=Q("circle-x",t7);function a7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Yo({icon:e,label:t,state:a,pct:r,subText:s}){const{t:i}=ve.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(ds,{size:22,color:"white",strokeWidth:2.5}):u?n.jsx(n7,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(mt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?n.jsx(mt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function r7({title:e,progress:t,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=ve.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:p,imageDone:m,imageTotal:h,pairPercent:v}=t,y=a7(c),g=c==="done",_=!!u;function f(B){return _&&y===B?"error":y>B?"done":y===B?"active":"pending"}const C=f(1),x=f(2),b=f(3),w=c==="image-match"&&h?Math.round((m??0)/h*100):void 0,k=o.useMemo(()=>{if(x!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:p??1});if(c==="image-match"&&h)return l("wordData.imageCount",{done:Rr(m),total:Rr(h)})}},[x,c,p,h,m,l]);return n.jsx(jn,{inline:i,className:"popup--word-data-update",title:e,footer:_&&r?n.jsx(le,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):_?n.jsx(le,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(le,{htmlType:"button",size:56,variant:"main",disabled:!g,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(Yo,{icon:n.jsx(ss,{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:Rr(d)}):void 0}),n.jsx(Yo,{icon:n.jsx(e7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:x,pct:w,subText:k}),n.jsx(Yo,{icon:n.jsx(cs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:b,pct:b==="active"?v??0:void 0,subText:void 0})]})})}function o7({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),c=v=>{let y=null;v==="noise"?y={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}]}:v==="short"?y={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}]}:v==="long"?y={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}]}:v==="order"&&(y={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(y),s(v)},u=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>c("noise"),[]),p=o.useCallback(()=>c("short"),[]),m=o.useCallback(()=>c("long"),[]),h=o.useCallback(()=>c("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}exports.Accordion=ob,exports.ActionCard=G2,exports.Alert=Zb,exports.AppHeader=db,exports.AudioMeter=po,exports.AudioPlayer=Lo,exports.Avatar=a4,exports.Badge=mt,exports.BarChart=O4,exports.BarChartControls=Hl,exports.Board=C4,exports.BottomNav=cl,exports.BrandIdentity=hl,exports.Breadcrumb=s4,exports.BulkBar=S4,exports.Button=le,exports.CORE_VERSION=H2,exports.Calendar=oy,exports.CardStep=lu,exports.ChartLegend=oo,exports.ChartSection=so,exports.ChartTotal=Ea,exports.Checkbox=Rl,exports.ChoiceChips=c5,exports.CircleBadge=Ub,exports.CodeBox=N4,exports.ColorPicker=d4,exports.CompanyMeta=_4,exports.ConfirmPopup=A3,exports.ConfirmStep=ou,exports.ConfirmWithTextStep=su,exports.ContrastFilterPanel=w3,exports.CoreScope=K2,exports.CountTile=p4,exports.CouponInputPopup=B3,exports.DEFAULT_NOISE_SETTINGS=La,exports.DatePicker=M4,exports.DebugResultLauncher=o7,exports.DescriptionTooltip=Fn,exports.DeviceSideTable=ny,exports.Dialog=f4,exports.Divider=Gb,exports.Dropdown=an,exports.EffectPartyPopper=Uo,exports.EffectPartyPopperHost=T3,exports.EmptyState=q2,exports.ErrorState=U2,exports.FILTER_ALL_VALUE=on,exports.FileUpload=o4,exports.FilterPanel=wn,exports.FilterSectionInfo=Ba,exports.Footer=u5,exports.Header=fl,exports.Icon=We,exports.IconGridMenu=l5,exports.IconRenderer=We,exports.InfoTooltip=bn,exports.LEVEL_MAX=ia,exports.LandingBottomSticky=p5,exports.LandingHeader=d5,exports.ListPopup=k3,exports.ListenStep=ru,exports.Loader=Sa,exports.MARKS=ac,exports.MARK_ICON=oc,exports.MARK_VARIANT=sc,exports.MediaQueryOverrideContext=gi,exports.MenuTooltip=wa,exports.NOISE_RATIO_MAX=ja,exports.NOISE_RATIO_STEP=$c,exports.NoisePlayerContext=Eo,exports.NoiseSettingsTooltip=Xc,exports.NoticeBox=Y2,exports.OrderListStep=iu,exports.PASS_CARD_BG_VARS=Hn,exports.POS_LABEL=cc,exports.PROMO_BANNER_BG_COMPONENTS=Xi,exports.PROMO_BANNER_BG_OPTIONS=Pg,exports.PROMO_BANNER_BG_VARS=ya,exports.Page=ir,exports.PageTitle=M3,exports.Pagination=Ka,exports.Panel=sr,exports.PanelGrid=q5,exports.PanelRow=Tn,exports.PanelRowDevice=W5,exports.PassCard=Al,exports.PassCardBg=zb,exports.PassCardBgIHAB=Vb,exports.PassCardBgLeftColorGrid=Wb,exports.PassCardBgTwoCircle=vl,exports.PaymentPlan=Hb,exports.PersonCard=g4,exports.PhonemeFilterPanel=_3,exports.PhonemeSelectBlock=v3,exports.Popup=jn,exports.ProgressBar=G4,exports.ProgressIndicator=Zl,exports.PromoBanner=nb,exports.PromoBannerBgDark=Ri,exports.PromoBannerBgDeep=Ei,exports.PromoBannerBgDiagonal=Oi,exports.PromoBannerBgDots=zi,exports.PromoBannerBgInstagram=Zi,exports.PromoBannerBgMain=ki,exports.PromoBannerBgNaver=Ki,exports.PromoBannerBgOutline=Wi,exports.PromoBannerBgRadial=Ii,exports.PromoBannerBgSoft=Bi,exports.PromoBannerBgSoftSub=Ti,exports.PromoBannerBgSub=Di,exports.PromoBannerBgSuccess=Ui,exports.PromoBannerBgWarm=Li,exports.PublicationCard=y4,exports.Radio=Sl,exports.RadioGroup=Kb,exports.Rating=l4,exports.ReportDocument=F3,exports.ReportInfoPanel=O3,exports.RingChart=z4,exports.SENTENCE_TRAINING_TYPES=Bo,exports.SearchSummary=Qb,exports.Section=aa,exports.SectionHeader=x4,exports.SegmentedControl=Sn,exports.ShortcutBadge=Dl,exports.SideNav=ml,exports.Slider=Ul,exports.SoundCompass=qb,exports.SplashLogo=v4,exports.StatChart=V4,exports.SummaryStrip=P3,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=N3,exports.Table=ho,exports.TableFilterPanel=_o,exports.Tabs=e4,exports.TextBoxTooltip=or,exports.TextField=zn,exports.Timeline=b4,exports.Toast=ta,exports.Toggle=$l,exports.Toolbar=ro,exports.Tooltip=gn,exports.TooltipInfo=bn,exports.TooltipTextBox=or,exports.TopBanner=ab,exports.TrainingBlock=uy,exports.TrainingBlockButton=Co,exports.TrainingCard=q3,exports.TrainingCardGroup=U3,exports.TrainingPagePopup=Ln,exports.TrainingPagePopupBottom=Jc,exports.TrainingPagePopupTitle=Qc,exports.TrainingResultPopup=uu,exports.TrainingStep=Vn,exports.TrainingStepAudioPlayer=Lo,exports.TrainingStepBullet=Vc,exports.TrainingStepCard=Gc,exports.TrainingStepConfirm=Ro,exports.TrainingStepConfirmWithText=Po,exports.TrainingStepListen=Io,exports.TrainingStepOrderList=Fo,exports.TrainingStepTextBox=Uc,exports.TrainingStepTitle=qc,exports.TrainingTooltip=S3,exports.TrainingWordCard=yo,exports.UpdateAlert=W3,exports.WAVE_A_MAX=w5,exports.WAVE_H1_PX=Oc,exports.WAVE_HMAX_PX=_5,exports.WORD_TABLE_PAPER=ra,exports.WORD_TYPE_LABEL=uc,exports.WordDataProvider=R3,exports.WordDataUpdatePopup=r7,exports.WordImageTooltip=mu,exports.WordSearchFilterPanel=x3,exports.WordSearchResultBlock=b3,exports.WordTable=oa,exports.WordTableBlock=X3,exports.WordTableButton=J3,exports.WordTablePopup=Ly,exports.WordTableThumbnail=gu,exports.buildMonthChartData=$4,exports.cellKey=zy,exports.cellLabel=Hy,exports.cellsForLabels=e5,exports.clearPassCardBgTheme=xn,exports.clearPromoBannerBgTheme=$t,exports.closeTrainingPopup=Z5,exports.companyTypeLabel=L3,exports.createTrainingScenario=Q5,exports.cx=Se,exports.deriveNoiseContexts=o3,exports.derivePassCard=gl,exports.draftValues=s5,exports.effectiveNoiseVolume=Do,exports.effectiveSpeechVolume=Pc,exports.expandSlashLabel=xo,exports.formatDuration=t5,exports.getControlDateRange=H4,exports.getPayloadTimestamp=zo,exports.getPromoBannerBgTheme=Ur,exports.getSelectedFromPayload=t3,exports.getSelectedText=n3,exports.getStepPayload=nu,exports.getSteppedPayload=a3,exports.injectPassCardBgTheme=vn,exports.injectPromoBannerBgTheme=Lt,exports.isSelectionCorrect=r3,exports.labelOfCellKey=Mc,exports.labelsForSave=Oy,exports.levelToPct=m5,exports.markAfterClick=rc,exports.marksForSave=vo,exports.mergeNoiseSettings=Ma,exports.missesByType=Zy,exports.nextFocus=Uy,exports.nextMisses=Yy,exports.noiseElementVolume=So,exports.noiseRatioOf=Ta,exports.pageStartIndexes=ic,exports.passCardBgIhabTheme=Bl,exports.passCardBgLeftColorGridTheme=Nl,exports.passCardBgTwoCircleTheme=yl,exports.pctToLevel=h5,exports.printWordTable=Cy,exports.promoBannerBgDarkTheme=$i,exports.promoBannerBgDeepTheme=Si,exports.promoBannerBgDiagonalTheme=Fi,exports.promoBannerBgDotsTheme=Hi,exports.promoBannerBgInstagramTheme=Yi,exports.promoBannerBgMainTheme=wi,exports.promoBannerBgNaverTheme=Gi,exports.promoBannerBgOutlineTheme=Vi,exports.promoBannerBgRadialTheme=Pi,exports.promoBannerBgSoftSubTheme=ji,exports.promoBannerBgSoftTheme=Ai,exports.promoBannerBgSubTheme=Ni,exports.promoBannerBgSuccessTheme=qi,exports.promoBannerBgWarmTheme=Mi,exports.recommendTables=Jy,exports.regenerateUnpinned=o5,exports.removeItem=r5,exports.resolveTrainingItems=J5,exports.resolveTrainingPopupMeta=tu,exports.reviewCells=Ry,exports.reviewMeta=Fy,exports.reviewSetPlan=Xy,exports.reviewTableName=Iy,exports.scoreKey=tr,exports.scoreSheetHeader=Vy,exports.shouldConfirmDiscard=fy,exports.splitTrainingVariants=X5,exports.summarize=hy,exports.summarizeMisses=Ky,exports.tableTrends=qy,exports.toDraft=n5,exports.toTrainingText=e3,exports.togglePin=a5,exports.uncoveredLabels=Qy,exports.useAnchoredMenu=_a,exports.useBarChartControl=Ol,exports.useCalendarMonth=Pl,exports.useComboboxSuggestions=Ml,exports.useFitScale=pc,exports.useNoisePlayer=ar,exports.useSoundCompassExam=tb,exports.useToastLifecycle=Kl,exports.useWordData=$3,exports.useWordTableDisplaySettings=jc,exports.useWordTablePrint=Ao,exports.waveBarPx=$a,exports.waveBarVal=To,exports.weakItems=Wy;
|