]> acesimba.cloud Git - studybase.git/commitdiff
题目列表多项交互优化
authorroot <root@localhost.localdomain>
Sat, 12 Sep 2026 10:08:26 +0000 (18:08 +0800)
committerroot <root@localhost.localdomain>
Sat, 12 Sep 2026 10:08:26 +0000 (18:08 +0800)
- 题目列表「新增题目」直接进文件导入题目;文件导入页「返回」指向题目列表
- 文件导入:新增自组 Word 模板下载链接(public/word-template.docx)
- 题目列表:学期筛选默认选中系统设定中的默认学期
- 题目列表:表格模式增加复选框列(含全选),支持多选
- 题目列表:表格模式支持批量从数据库删除;删除前以汇总确认
  (题数/科目/阶段/知识点数/组卷次数),删除后提示结果
- 题目列表:从详情/组卷等页返回时保留上次筛选结果(stores 增加
  questionListPersist,onBeforeUnmount 保存、onMounted 恢复)
- 构建产物 dist 同步

146 files changed:
frontend/dist/assets/AnalysisChapters--QldqjwN.js [new file with mode: 0644]
frontend/dist/assets/AnalysisChapters-BBRt3PBf.js [new file with mode: 0644]
frontend/dist/assets/AnalysisChapters-BlaKsxjF.js [new file with mode: 0644]
frontend/dist/assets/AnalysisChapters-Ch2L8mj3.js [new file with mode: 0644]
frontend/dist/assets/AnalysisChapters-CjuR01YG.js [new file with mode: 0644]
frontend/dist/assets/AnalysisChapters-xkeHNND5.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-4UmgtI5Q.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-BK2lprsu.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-CMjlx0SS.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-CR4Dp16L.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-Caj282Ub.js [new file with mode: 0644]
frontend/dist/assets/AnalysisKnowledge-CwXXOwV4.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-BIK4LK4c.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-BdWh_fJz.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-BsSZykh0.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-CdmlatHf.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-ChIZdm2W.js [new file with mode: 0644]
frontend/dist/assets/AnalysisPending-CoYKTBIo.js [new file with mode: 0644]
frontend/dist/assets/FileImport--I9YWVLX.js [new file with mode: 0644]
frontend/dist/assets/FileImport-BnZT11gH.css [new file with mode: 0644]
frontend/dist/assets/FileImport-Dbzgpqjb.js [new file with mode: 0644]
frontend/dist/assets/FileImport-Djr7oKXh.css [new file with mode: 0644]
frontend/dist/assets/FileImport-Dqhg5lPG.js [new file with mode: 0644]
frontend/dist/assets/FileImport-HzpQjtqM.js [new file with mode: 0644]
frontend/dist/assets/FileImport-TrxH8VB7.js [new file with mode: 0644]
frontend/dist/assets/FileImport-ZNTNIRXY.js [new file with mode: 0644]
frontend/dist/assets/Home-B9QDHPAs.js [new file with mode: 0644]
frontend/dist/assets/Home-D8EnOka7.js [new file with mode: 0644]
frontend/dist/assets/Home-DMNX57-P.js [new file with mode: 0644]
frontend/dist/assets/Home-DSZHIi8n.js [new file with mode: 0644]
frontend/dist/assets/Home-XSrtt66f.js [new file with mode: 0644]
frontend/dist/assets/Home-o4G6oH13.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-BPXTOPlY.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-Ctkpm2mZ.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-D4ykaXHk.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-DF9sYEXR.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-DuS-uuNM.js [new file with mode: 0644]
frontend/dist/assets/ImportPreview-gsUpoP1-.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-7LJOQfCM.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-C-cpdHZC.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-CqGt0Tt2.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-DCn-Qen6.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-RmHkf4pF.js [new file with mode: 0644]
frontend/dist/assets/PapersCreateById-pgJ1dk5p.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-B5OSgObT.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-C01UhBmx.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-C06OG--t.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-CQNWx-3c.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-Ch6he0gI.js [new file with mode: 0644]
frontend/dist/assets/PapersDetail-D8UcrTf8.js [new file with mode: 0644]
frontend/dist/assets/PapersList-CDtu9QV9.js [new file with mode: 0644]
frontend/dist/assets/PapersList-CUAn5bjm.js [new file with mode: 0644]
frontend/dist/assets/PapersList-DyQQH-a_.js [new file with mode: 0644]
frontend/dist/assets/PapersList-FkiEg_WZ.js [new file with mode: 0644]
frontend/dist/assets/PapersList-bZN94MuR.js [new file with mode: 0644]
frontend/dist/assets/PapersList-xSOP8Txr.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-B0iBi3zz.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-BPahPm51.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-C1fAILla.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-SChxY8nQ.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-eG23FHGP.js [new file with mode: 0644]
frontend/dist/assets/PapersPreview-gYTo304q.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-BCK-wuV4.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-BFAnzswa.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-CQuYTyEd.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-CWgDV26I.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-DnFnwbrT.js [new file with mode: 0644]
frontend/dist/assets/PapersResult-_qHzB7a6.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-BN8O3VX0.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-BR6jXQ0j.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-C5kEDZ7W.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-D0KqaGXB.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-D4C83SXW.js [new file with mode: 0644]
frontend/dist/assets/QuestionAdd-DUl-pEZC.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-C8ZhQ6VQ.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-CtnPZLa4.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-D-lWwUJ0.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-Dlh9T_-X.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-Q0IGvDsj.js [new file with mode: 0644]
frontend/dist/assets/QuestionDetail-V17aZHia.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-BMvUZeaY.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-BWKnkbQ3.css [new file with mode: 0644]
frontend/dist/assets/QuestionList-Bs9oEJQF.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-Bsgm7r51.css [new file with mode: 0644]
frontend/dist/assets/QuestionList-CA8Qsvpt.css [new file with mode: 0644]
frontend/dist/assets/QuestionList-CHB_8bx9.css [new file with mode: 0644]
frontend/dist/assets/QuestionList-CL1vCa2l.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-CTnhn5OM.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-DvyMMJjZ.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-_b7bVvj6.js [new file with mode: 0644]
frontend/dist/assets/QuestionList-siUAN7Oe.css [new file with mode: 0644]
frontend/dist/assets/RichContent-B7hRqciS.js [new file with mode: 0644]
frontend/dist/assets/RichContent-Bto3YWrJ.js [new file with mode: 0644]
frontend/dist/assets/RichContent-Cq46Yax7.js [new file with mode: 0644]
frontend/dist/assets/RichContent-Dt890otn.js [new file with mode: 0644]
frontend/dist/assets/RichContent-DzYi85z4.js [new file with mode: 0644]
frontend/dist/assets/RichContent-rGkUG2Zf.js [new file with mode: 0644]
frontend/dist/assets/Settings-B_n5rYrZ.js [new file with mode: 0644]
frontend/dist/assets/Settings-C5kEP5bM.js [new file with mode: 0644]
frontend/dist/assets/Settings-D0wDkjQw.js [new file with mode: 0644]
frontend/dist/assets/Settings-ihnKxQZE.js [new file with mode: 0644]
frontend/dist/assets/Settings-npd22zpr.js [new file with mode: 0644]
frontend/dist/assets/Settings-ozmhhD1-.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-8xwPjjGt.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-BIB3kSHq.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-BrF5aqOp.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-CSWz5hxb.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-Dew8pbNX.js [new file with mode: 0644]
frontend/dist/assets/SettingsDefaultParams-FUpfnogc.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-BaHLnpUc.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-BihAspO3.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-BpvO0Xqb.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-Bzx6UdA9.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-DXk9YCwi.js [new file with mode: 0644]
frontend/dist/assets/SettingsErrorCauses-ah-wZfvd.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-BFiGZhoA.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-C0GK4zk7.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-CwBQhWMX.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-D5-SnQ6F.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-DrtyLa7_.js [new file with mode: 0644]
frontend/dist/assets/SettingsStatuses-hfl4r0IW.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-BPmchdP9.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-C7YQ_a9Q.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-CiqUs0Im.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-IFRz_NQA.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-lK432mNm.js [new file with mode: 0644]
frontend/dist/assets/SettingsSubjects-zRYjSJhv.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-BYEldTOj.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-CTsGM0p8.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-CVuLQhux.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-Cvg6qMAs.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-DtXnQHBZ.js [new file with mode: 0644]
frontend/dist/assets/SubjectPortal-psoCDdI8.js [new file with mode: 0644]
frontend/dist/assets/index-BOMJE6pT.js [new file with mode: 0644]
frontend/dist/assets/index-BrIQ4kjW.js [new file with mode: 0644]
frontend/dist/assets/index-DOeeTpNX.js [new file with mode: 0644]
frontend/dist/assets/index-DibvQ1e4.js [new file with mode: 0644]
frontend/dist/assets/index-DkiXflk7.js [new file with mode: 0644]
frontend/dist/assets/index-PW167vf4.js [new file with mode: 0644]
frontend/dist/index.html
frontend/dist/word-template.docx [new file with mode: 0644]
frontend/public/word-template.docx [new file with mode: 0644]
frontend/src/stores/options.js
frontend/src/views/FileImport.vue
frontend/src/views/QuestionList.vue
s/studybase.db

diff --git a/frontend/dist/assets/AnalysisChapters--QldqjwN.js b/frontend/dist/assets/AnalysisChapters--QldqjwN.js
new file mode 100644 (file)
index 0000000..e1e536c
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,i as f,e as o,f as B,q as U,s as I,o as i,t as l}from"./index-DibvQ1e4.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const g=I(),x=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),u=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function V(n){return n!==r.value?"":u.value==="ASC"?" ▲":" ▼"}function j(n){r.value===n?u.value=u.value==="ASC"?"DESC":"ASC":(r.value=n,u.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:u.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){g.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),g.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");x.value=n.subjects,await c()}),(n,s)=>(i(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(i(!0),a(m,null,h(x.value,t=>(i(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(i(),a(m,null,h(D,t=>e("th",{key:t.key,onClick:d=>j(t.key)},l(t.label)+l(V(t.key)),9,z)),64))])]),e("tbody",null,[(i(!0),a(m,null,h(b.value,t=>(i(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisChapters-BBRt3PBf.js b/frontend/dist/assets/AnalysisChapters-BBRt3PBf.js
new file mode 100644 (file)
index 0000000..35ed14c
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,i as f,e as o,f as B,q as U,x as I,o as i,t as l}from"./index-BOMJE6pT.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const x=I(),g=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),u=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function V(n){return n!==r.value?"":u.value==="ASC"?" ▲":" ▼"}function j(n){r.value===n?u.value=u.value==="ASC"?"DESC":"ASC":(r.value=n,u.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:u.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){x.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),x.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");g.value=n.subjects,await c()}),(n,s)=>(i(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(i(!0),a(m,null,h(g.value,t=>(i(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(i(),a(m,null,h(D,t=>e("th",{key:t.key,onClick:d=>j(t.key)},l(t.label)+l(V(t.key)),9,z)),64))])]),e("tbody",null,[(i(!0),a(m,null,h(b.value,t=>(i(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisChapters-BlaKsxjF.js b/frontend/dist/assets/AnalysisChapters-BlaKsxjF.js
new file mode 100644 (file)
index 0000000..0a93140
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,i as f,e as o,f as B,q as U,s as I,o as i,t as l}from"./index-BrIQ4kjW.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const g=I(),x=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),u=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function V(n){return n!==r.value?"":u.value==="ASC"?" ▲":" ▼"}function j(n){r.value===n?u.value=u.value==="ASC"?"DESC":"ASC":(r.value=n,u.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:u.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){g.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),g.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");x.value=n.subjects,await c()}),(n,s)=>(i(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(i(!0),a(m,null,h(x.value,t=>(i(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(i(),a(m,null,h(D,t=>e("th",{key:t.key,onClick:d=>j(t.key)},l(t.label)+l(V(t.key)),9,z)),64))])]),e("tbody",null,[(i(!0),a(m,null,h(b.value,t=>(i(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisChapters-Ch2L8mj3.js b/frontend/dist/assets/AnalysisChapters-Ch2L8mj3.js
new file mode 100644 (file)
index 0000000..dfce746
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,j as f,e as o,f as B,s as U,y as I,o as u,t as l}from"./index-PW167vf4.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const g=I(),x=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),i=o("DESC"),j=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function D(n){return n!==r.value?"":i.value==="ASC"?" ▲":" ▼"}function V(n){r.value===n?i.value=i.value==="ASC"?"DESC":"ASC":(r.value=n,i.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:i.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){g.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),g.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");x.value=n.subjects,await c()}),(n,s)=>(u(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,h(x.value,t=>(u(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(u(),a(m,null,h(j,t=>e("th",{key:t.key,onClick:d=>V(t.key)},l(t.label)+l(D(t.key)),9,z)),64))])]),e("tbody",null,[(u(!0),a(m,null,h(b.value,t=>(u(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisChapters-CjuR01YG.js b/frontend/dist/assets/AnalysisChapters-CjuR01YG.js
new file mode 100644 (file)
index 0000000..a30846f
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,i as f,e as o,f as B,q as U,s as I,o as i,t as l}from"./index-DOeeTpNX.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const g=I(),x=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),u=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function V(n){return n!==r.value?"":u.value==="ASC"?" ▲":" ▼"}function j(n){r.value===n?u.value=u.value==="ASC"?"DESC":"ASC":(r.value=n,u.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:u.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){g.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),g.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");x.value=n.subjects,await c()}),(n,s)=>(i(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(i(!0),a(m,null,h(x.value,t=>(i(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(i(),a(m,null,h(D,t=>e("th",{key:t.key,onClick:d=>j(t.key)},l(t.label)+l(V(t.key)),9,z)),64))])]),e("tbody",null,[(i(!0),a(m,null,h(b.value,t=>(i(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisChapters-xkeHNND5.js b/frontend/dist/assets/AnalysisChapters-xkeHNND5.js
new file mode 100644 (file)
index 0000000..cc26f39
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,d as A,c as a,a as e,w as p,v as E,F as m,r as h,i as f,e as o,f as B,q as U,x as I,o as i,t as l}from"./index-DkiXflk7.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"page-header"},K={class:"filter-panel"},G={class:"row"},L=["value"],N={class:"row"},P={class:"content-area"},Q={class:"card",style:{padding:"0",overflow:"auto"}},R={class:"data-table"},z=["onClick"],H={class:"center"},J={class:"center"},O={class:"center"},T=["onClick"],W=["onClick"],X=["onClick"],Y=["onClick"],Z={__name:"AnalysisChapters",setup(tt){const x=I(),g=o([]),_=o("全部"),v=o(""),y=o(""),k=o(""),b=o([]),r=o("not_correct_questions"),u=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"volume_name",label:"册"},{key:"chapter_desc",label:"章节"},{key:"total_wrong_questions",label:"错题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function V(n){return n!==r.value?"":u.value==="ASC"?" ▲":" ▼"}function j(n){r.value===n?u.value=u.value==="ASC"?"DESC":"ASC":(r.value=n,u.value="ASC"),c()}function q(){return{subject:_.value,correct_count:v.value,not_correct_count:y.value,chapter_desc:k.value,sort_column:r.value,sort_direction:u.value}}async function c(){const n=await B("/analysis/chapters",q());b.value=n.rows}function w(n){x.push({path:"/analysis/knowledge",query:{chapter_id:n}})}function C(n,s){const t={chapter_id:n};s&&(t.right_times=s),x.push({path:"/questions",query:t})}async function S(){b.value.length&&await U("/analysis/chapters/export-excel",q())}return $(async()=>{const n=await A("/meta/subjects");g.value=n.subjects,await c()}),(n,s)=>(i(),a("div",null,[e("div",F,[s[5]||(s[5]=e("span",{class:"title"},"章节分析",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:s[0]||(s[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:S},"📥 导出Excel")]),e("div",K,[e("div",G,[s[7]||(s[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>_.value=t),onChange:c},[s[6]||(s[6]=e("option",null,"全部",-1)),(i(!0),a(m,null,h(g.value,t=>(i(),a("option",{key:t,value:t},l(t),9,L))),128))],544),[[E,_.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=t=>v.value=t),style:{width:"70px"}},null,512),[[f,v.value]]),s[9]||(s[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[3]||(s[3]=t=>y.value=t),style:{width:"70px"}},null,512),[[f,y.value]])]),e("div",N,[s[10]||(s[10]=e("label",null,"章节名称:",-1)),p(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>k.value=t),style:{width:"340px"}},null,512),[[f,k.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")])]),e("div",P,[e("div",Q,[e("table",R,[e("thead",null,[e("tr",null,[(i(),a(m,null,h(D,t=>e("th",{key:t.key,onClick:d=>j(t.key)},l(t.label)+l(V(t.key)),9,z)),64))])]),e("tbody",null,[(i(!0),a(m,null,h(b.value,t=>(i(),a("tr",{key:t.chapter_id},[e("td",H,l(t.chapter_id),1),e("td",J,l(t.subject),1),e("td",O,l(t.volume_name),1),e("td",{class:"link",onClick:d=>w(t.chapter_id)},l(t.chapter_desc),9,T),e("td",{class:"center link",onClick:d=>C(t.chapter_id,null)},l(t.total_wrong_questions),9,W),e("td",{class:"center link",onClick:d=>C(t.chapter_id,">=1")},l(t.correct_questions),9,X),e("td",{class:"center link",onClick:d=>C(t.chapter_id,"=0")},l(t.not_correct_questions),9,Y)]))),128))])])])])]))}},nt=M(Z,[["__scopeId","data-v-ecc11515"]]);export{nt as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-4UmgtI5Q.js b/frontend/dist/assets/AnalysisKnowledge-4UmgtI5Q.js
new file mode 100644 (file)
index 0000000..21fe01a
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,i as g,h as B,t as s,k as U,l as K,e as o,f as M,q as N,x as R,o as u}from"./index-DkiXflk7.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function j(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(D,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(j(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-BK2lprsu.js b/frontend/dist/assets/AnalysisKnowledge-BK2lprsu.js
new file mode 100644 (file)
index 0000000..0397b53
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,j as g,h as B,t as s,l as U,m as K,e as o,f as M,s as N,y as R,o as u}from"./index-PW167vf4.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),j=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function D(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(j,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(D(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-CMjlx0SS.js b/frontend/dist/assets/AnalysisKnowledge-CMjlx0SS.js
new file mode 100644 (file)
index 0000000..dd68320
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,i as g,h as B,t as s,k as U,l as K,e as o,f as M,q as N,x as R,o as u}from"./index-BOMJE6pT.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function j(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(D,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(j(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-CR4Dp16L.js b/frontend/dist/assets/AnalysisKnowledge-CR4Dp16L.js
new file mode 100644 (file)
index 0000000..2670add
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,i as g,h as B,t as s,k as U,l as K,e as o,f as M,q as N,s as R,o as u}from"./index-BrIQ4kjW.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function j(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(D,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(j(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-Caj282Ub.js b/frontend/dist/assets/AnalysisKnowledge-Caj282Ub.js
new file mode 100644 (file)
index 0000000..ee4ad77
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,i as g,h as B,t as s,k as U,l as K,e as o,f as M,q as N,s as R,o as u}from"./index-DibvQ1e4.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function j(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(D,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(j(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisKnowledge-CwXXOwV4.js b/frontend/dist/assets/AnalysisKnowledge-CwXXOwV4.js
new file mode 100644 (file)
index 0000000..e50d712
--- /dev/null
@@ -0,0 +1 @@
+import{b as I,d as $,c as a,a as e,w as p,v as E,F as m,r as x,i as g,h as B,t as s,k as U,l as K,e as o,f as M,q as N,s as R,o as u}from"./index-DOeeTpNX.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},L={class:"filter-panel"},P={class:"row"},Q=["value"],T={class:"row"},H={key:0,class:"row",style:{color:"#1890FF","font-size":"13px"}},J={class:"content-area"},O={class:"card",style:{padding:"0",overflow:"auto"}},W={class:"data-table"},X=["onClick"],Y={class:"center"},Z={class:"center"},tt=["onClick"],et=["onClick"],lt=["onClick"],nt={__name:"AnalysisKnowledge",setup(st){const h=K(),V=R(),q=o([]),v=o("全部"),_=o(""),k=o(""),y=o(""),b=o([]),i=o(null),d=o("not_correct_questions"),r=o("DESC"),D=[{key:"id",label:"ID"},{key:"subject",label:"科目"},{key:"chapter_info",label:"章节"},{key:"knowledge_content",label:"知识点"},{key:"total_questions",label:"试题数量"},{key:"correct_questions",label:"已正确题目数"},{key:"not_correct_questions",label:"尚未正确题目数"}];function j(n){return n!==d.value?"":r.value==="ASC"?" ▲":" ▼"}function S(n){d.value===n?r.value=r.value==="ASC"?"DESC":"ASC":(d.value=n,r.value="ASC"),c()}function w(){return{subject:v.value,correct_count:_.value,not_correct_count:k.value,kp_content:y.value,chapter_id_filter:i.value,sort_column:d.value,sort_direction:r.value}}async function c(){const n=await M("/analysis/knowledge",w());b.value=n.rows}function A(){i.value=null,c()}function f(n,l){const t={kp_id:n};l&&(t.right_times=l),V.push({path:"/questions",query:t})}async function F(){b.value.length&&await N("/analysis/knowledge/export-excel",w())}return I(async()=>{h.query.chapter_id&&(i.value=parseInt(h.query.chapter_id));const n=await $("/meta/subjects");q.value=n.subjects,await c()}),(n,l)=>(u(),a("div",null,[e("div",G,[l[5]||(l[5]=e("span",{class:"title"},"科目知识列表",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>n.$router.push("/subject-portal"))},"返回科目首页"),e("button",{class:"btn orange",onClick:F},"📥 导出Excel")]),e("div",L,[e("div",P,[l[7]||(l[7]=e("label",null,"科目:",-1)),p(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>v.value=t),onChange:c},[l[6]||(l[6]=e("option",null,"全部",-1)),(u(!0),a(m,null,x(q.value,t=>(u(),a("option",{key:t,value:t},s(t),9,Q))),128))],544),[[E,v.value]]),l[8]||(l[8]=e("label",{style:{"margin-left":"10px"}},"已正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>_.value=t),style:{width:"70px"}},null,512),[[g,_.value]]),l[9]||(l[9]=e("label",{style:{"margin-left":"10px"}},"尚未正确题目数:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>k.value=t),style:{width:"70px"}},null,512),[[g,k.value]])]),e("div",T,[l[10]||(l[10]=e("label",null,"知识点:",-1)),p(e("input",{type:"text","onUpdate:modelValue":l[4]||(l[4]=t=>y.value=t),style:{width:"340px"}},null,512),[[g,y.value]]),e("button",{class:"btn primary",style:{"margin-left":"auto"},onClick:c},"🔍 开始搜索")]),i.value?(u(),a("div",H,[B(" 当前按章节过滤:章节ID "+s(i.value)+" ",1),e("button",{class:"btn small",onClick:A},"清除章节过滤")])):U("",!0)]),e("div",J,[e("div",O,[e("table",W,[e("thead",null,[e("tr",null,[(u(),a(m,null,x(D,t=>e("th",{key:t.key,onClick:C=>S(t.key)},s(t.label)+s(j(t.key)),9,X)),64))])]),e("tbody",null,[(u(!0),a(m,null,x(b.value,t=>(u(),a("tr",{key:t.kp_id},[e("td",Y,s(t.kp_id),1),e("td",Z,s(t.subject),1),e("td",null,s(t.chapter_info),1),e("td",null,s(t.knowledge_content),1),e("td",{class:"center link",onClick:C=>f(t.kp_id,null)},s(t.total_questions),9,tt),e("td",{class:"center link",onClick:C=>f(t.kp_id,">=1")},s(t.correct_questions),9,et),e("td",{class:"center link",onClick:C=>f(t.kp_id,"=0")},s(t.not_correct_questions),9,lt)]))),128))])])])])]))}},ut=z(nt,[["__scopeId","data-v-2b42a9e8"]]);export{ut as default};
diff --git a/frontend/dist/assets/AnalysisPending-BIK4LK4c.js b/frontend/dist/assets/AnalysisPending-BIK4LK4c.js
new file mode 100644 (file)
index 0000000..fcbff5e
--- /dev/null
@@ -0,0 +1 @@
+import{b as V,d as C,c as s,a as t,w as f,v as j,F as c,r as v,k as h,h as w,t as i,l as U,e as y,x as B,y as E,o as a}from"./index-PW167vf4.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],R=["onClick"],G={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=y([]),p=y(""),r=y("legacy"),o=y(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function k(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return V(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:k},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[j,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:k},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:k},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,R)]))),128)),t("tr",null,[t("td",G,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/AnalysisPending-BdWh_fJz.js b/frontend/dist/assets/AnalysisPending-BdWh_fJz.js
new file mode 100644 (file)
index 0000000..b712dd0
--- /dev/null
@@ -0,0 +1 @@
+import{b as j,d as C,c as s,a as t,w as f,v as V,F as c,r as v,j as h,h as w,t as i,k as U,e as k,G as B,s as E,o as a}from"./index-DOeeTpNX.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],G=["onClick"],R={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=k([]),p=k(""),r=k("legacy"),o=k(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function y(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return j(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:y},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[V,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,G)]))),128)),t("tr",null,[t("td",R,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/AnalysisPending-BsSZykh0.js b/frontend/dist/assets/AnalysisPending-BsSZykh0.js
new file mode 100644 (file)
index 0000000..41d4ec5
--- /dev/null
@@ -0,0 +1 @@
+import{b as j,d as C,c as s,a as t,w as f,v as V,F as c,r as v,j as h,h as w,t as i,k as U,e as k,G as B,s as E,o as a}from"./index-BrIQ4kjW.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],G=["onClick"],R={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=k([]),p=k(""),r=k("legacy"),o=k(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function y(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return j(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:y},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[V,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,G)]))),128)),t("tr",null,[t("td",R,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/AnalysisPending-CdmlatHf.js b/frontend/dist/assets/AnalysisPending-CdmlatHf.js
new file mode 100644 (file)
index 0000000..9fd2354
--- /dev/null
@@ -0,0 +1 @@
+import{b as j,d as C,c as s,a as t,w as f,v as V,F as c,r as v,j as h,h as w,t as i,k as U,e as k,G as B,s as E,o as a}from"./index-DibvQ1e4.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],G=["onClick"],R={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=k([]),p=k(""),r=k("legacy"),o=k(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function y(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return j(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:y},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[V,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,G)]))),128)),t("tr",null,[t("td",R,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/AnalysisPending-ChIZdm2W.js b/frontend/dist/assets/AnalysisPending-ChIZdm2W.js
new file mode 100644 (file)
index 0000000..88e4bc5
--- /dev/null
@@ -0,0 +1 @@
+import{b as j,d as C,c as s,a as t,w as f,v as V,F as c,r as v,j as h,h as w,t as i,k as U,e as k,s as B,x as E,o as a}from"./index-BOMJE6pT.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],R=["onClick"],G={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=k([]),p=k(""),r=k("legacy"),o=k(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function y(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return j(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:y},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[V,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,R)]))),128)),t("tr",null,[t("td",G,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/AnalysisPending-CoYKTBIo.js b/frontend/dist/assets/AnalysisPending-CoYKTBIo.js
new file mode 100644 (file)
index 0000000..bf9df3d
--- /dev/null
@@ -0,0 +1 @@
+import{b as j,d as C,c as s,a as t,w as f,v as V,F as c,r as v,j as h,h as w,t as i,k as U,e as k,s as B,x as E,o as a}from"./index-DkiXflk7.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"page-header"},L={class:"filter-panel"},M=["value"],N={class:"content-area"},T={key:0,class:"card",style:{overflow:"auto",padding:"0"}},A={class:"data-table",style:{"min-width":"760px"}},D={class:"stage-cell"},F=["onClick"],R=["onClick"],G={class:"total-cell"},I=["onClick"],z={class:"paper-cell"},H=["onClick"],J=["onClick"],K={__name:"AnalysisPending",setup(O){const x=E(),g=k([]),p=k(""),r=k("legacy"),o=k(null),S=B(()=>o.value?["阶段",...o.value.subjects.map(u=>u.name),"总数"]:[]);async function y(){const u=new URLSearchParams({term:p.value,mode:r.value});o.value=await C("/analysis/pending?"+u.toString())}function m(u,l,e){const n={question_nature:"错题",term:p.value,status:"全部",archive_status:"全部"},d=o.value.subjects.find(b=>b.id===u);d&&(n.subject=d.name);const _=o.value.stages.find(b=>b.id===l);_&&(n.stage=_.name),e!=null&&(n.paper_count=e),r.value==="legacy"&&(n.right_times="=0"),x.push({path:"/questions",query:n})}async function $(){if(!o.value)return;const l="/StudyBase/api/analysis/pending/export-excel?"+new URLSearchParams({term:p.value,mode:r.value}).toString(),e=document.createElement("a");e.href=l,e.download="",document.body.appendChild(e),e.click(),e.remove()}return j(async()=>{const u=await C("/analysis/pending?mode=legacy");g.value=u.terms,p.value=u.current_term,o.value=u}),(u,l)=>(a(),s("div",null,[t("div",q,[l[5]||(l[5]=t("span",{class:"title"},"遗留分析汇总",-1)),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=e=>u.$router.push("/subject-portal"))},"返回科目首页"),t("button",{class:"btn orange",onClick:$},"📥 导出Excel")]),t("div",L,[l[8]||(l[8]=t("label",null,"选择学期:",-1)),f(t("select",{"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),onChange:y},[(a(!0),s(c,null,v(g.value,e=>(a(),s("option",{key:e,value:e},i(e),9,M))),128))],544),[[V,p.value]]),l[9]||(l[9]=t("label",{style:{"margin-left":"25px"}},"统计范围:",-1)),t("label",null,[f(t("input",{type:"radio",value:"legacy","onUpdate:modelValue":l[2]||(l[2]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[6]||(l[6]=w(" 遗留错题",-1))]),t("label",null,[f(t("input",{type:"radio",value:"all","onUpdate:modelValue":l[3]||(l[3]=e=>r.value=e),onChange:y},null,544),[[h,r.value]]),l[7]||(l[7]=w(" 全部错题",-1))])]),t("div",N,[o.value?(a(),s("div",T,[t("table",A,[t("thead",null,[t("tr",null,[(a(!0),s(c,null,v(S.value,e=>(a(),s("th",{key:e},i(e),1))),128))])]),t("tbody",null,[(a(!0),s(c,null,v(o.value.stage_rows,e=>(a(),s("tr",{key:e.label},[t("td",D,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,n.st_id,null)},i(n.count),9,F))),128)),t("td",{class:"link bold",onClick:n=>m(null,e.cells[0]?e.cells[0].st_id:null,null)},i(e.sum),9,R)]))),128)),t("tr",null,[t("td",G,i(o.value.total_row.label),1),(a(!0),s(c,null,v(o.value.total_row.cells,(e,n)=>(a(),s("td",{key:n,class:"link total-cell bold",onClick:d=>m(e.sub_id,null,null)},i(e.count),9,I))),128)),t("td",{class:"link total-cell bold",onClick:l[4]||(l[4]=e=>m(null,null,null))},i(o.value.total_row.sum),1)]),(a(!0),s(c,null,v(o.value.paper_rows,e=>(a(),s("tr",{key:e.label},[t("td",z,i(e.label),1),(a(!0),s(c,null,v(e.cells,(n,d)=>(a(),s("td",{key:d,class:"link",onClick:_=>m(n.sub_id,null,e.paper_count)},i(n.count),9,H))),128)),t("td",{class:"link bold",onClick:n=>m(null,null,e.paper_count)},i(e.sum),9,J)]))),128))])])])):U("",!0)])]))}},X=P(K,[["__scopeId","data-v-9df751f3"]]);export{X as default};
diff --git a/frontend/dist/assets/FileImport--I9YWVLX.js b/frontend/dist/assets/FileImport--I9YWVLX.js
new file mode 100644 (file)
index 0000000..793895b
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as oe,d as ue,c as r,a as l,w as m,v as S,F as V,r as U,h as ie,t as g,C as re,i as _,k as de,e as s,n as f,p as Z,f as K,D as ve,x as pe,o as d}from"./index-BOMJE6pT.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"content-area"},ce={class:"card"},ge={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},ye=["value"],be=["value"],we=["value"],ke=["value"],xe=["value"],Se=["value"],$e={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Ce=["disabled"],Te=["disabled"],De=["disabled"],Ve={key:0,class:"modal-mask"},Ue={class:"modal"},je={class:"modal-body"},qe={class:"form-row"},Ie={class:"form-row"},Ae={class:"form-row"},Ne={class:"form-row"},Ee={class:"toolbar"},Fe={class:"toolbar"},Q="自组WORD范本.docx",Me=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Oe={__name:"FileImport",setup(Be){const X=pe(),h="/StudyBase/word-template.docx",v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),j=s(""),C=s(""),q=s("错题"),I=s(""),A=s(""),N=s(""),M=s(""),O=s(null),E=s(!1),p=s(null),B=s(!1),T=s(""),F=s("错题"),b=s(""),w=s(""),k=s(""),x=s(""),R=s(null),J=s(null),D=s(0),Y=s("");function o(a){M.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ve(()=>{O.value&&(O.value.scrollTop=O.value.scrollHeight)})}function P(){return{subject:j.value,source:C.value,type:q.value,term:I.value,stage:A.value,origin:N.value}}function ee(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Me))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;M.value="",E.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",j.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",I.value),n.append("stage",A.value),n.append("origin",N.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const y=await u.json();typeof y.detail=="string"?$=y.detail:Array.isArray(y.detail)&&($=y.detail.map(L=>`${(L.loc||[]).slice(1).join(".")}: ${L.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{E.value=!1}},e.click()}function te(){M.value="",o("正在手动添加试题..."),B.value=!0,T.value="",F.value="错题",b.value="",w.value="",k.value="",x.value="",D.value=0,Y.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function le(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function ae(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!x.value.trim()){f("答案解析不能为空。");return}const a=D.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P()});c||(c=[]),c.push(e),D.value=a,o(`添加一条试题。当前已添加 ${D.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P(),force:!0});c.push(t),D.value=a,o(`添加一条试题。当前已添加 ${D.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function se(){o("手动添加试题窗口已关闭。"),B.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function G(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function W(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function z(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await G(t),u=`[[IMG:${n}]]`,i=a;i&&(W(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function H(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await G(u),$=`[[IMG:${i}]]`,y=e==="stem"?R.value:J.value;y&&(W(y,$),y.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ne(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),X.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return oe(async()=>{v.value=await ue("/import/options"),j.value=v.value.subject.default,C.value=v.value.source.default,I.value=v.value.term.default,A.value=v.value.stage.default,N.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[35]||(e[35]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",fe,[l("div",ce,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",ge,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>j.value=t)},[(d(!0),r(V,null,U(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ye))),128))],512),[[S,j.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>I.value=t)},[(d(!0),r(V,null,U(v.value.term.options,t=>(d(),r("option",{key:t,value:t},g(t),9,be))),128))],512),[[S,I.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(V,null,U(v.value.source.options,t=>(d(),r("option",{key:t,value:t},g(t),9,we))),128))],512),[[S,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>A.value=t)},[(d(!0),r(V,null,U(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ke))),128))],512),[[S,A.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(V,null,U(v.value.type.options,t=>(d(),r("option",{key:t,value:t},g(t),9,xe))),128))],512),[[S,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>N.value=t)},[(d(!0),r(V,null,U(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},g(t),9,Se))),128))],512),[[S,N.value]])])]),l("div",$e,[l("div",{style:{width:"100%","font-size":"13px",color:"#555","margin-bottom":"2px"}},[e[24]||(e[24]=ie(" 如需使用「自组 Word 模式」上传,请先下载模板并按格式填写: ",-1)),l("a",{href:h,download:Q,style:{color:"#4A90E2","text-decoration":"underline",cursor:"pointer"}},g(Q))]),l("button",{class:"btn",disabled:E.value,style:{"font-weight":"bold"},onClick:ee},g(E.value?"解析中...":"第一步:选择文件并解析"),9,Ce),l("button",{class:"btn orange",disabled:E.value,style:{"font-weight":"bold"},onClick:te},g(B.value?"手动添加中...":"第一步:手动添加试题"),9,Te),l("button",{class:"btn",disabled:!p.value,style:re([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ne}," 第二步:预览并确定导入 ",12,De),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[25]||(e[25]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:O},g(M.value),513)]),B.value?(d(),r("div",Ve,[l("div",Ue,[e[34]||(e[34]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",je,[l("div",qe,[e[27]||(e[27]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[26]||(e[26]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[S,T.value]])]),l("div",Ie,[e[29]||(e[29]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>F.value=t)},[...e[28]||(e[28]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[S,F.value]])]),l("div",Ae,[e[30]||(e[30]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",Ne,[e[31]||(e[31]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:le},"填入今天")]),e[32]||(e[32]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ee,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>z(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>H(t,"stem"))},null,544),[[_,k.value]]),e[33]||(e[33]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Fe,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>z(J.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:J,"onUpdate:modelValue":e[15]||(e[15]=t=>x.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>H(t,"analysis"))},null,544),[[_,x.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:ae},"继续添加"),l("button",{class:"btn primary",onClick:se},"确定返回")])])])):de("",!0)]))}},Re=me(Oe,[["__scopeId","data-v-dfda1b64"]]);export{Re as default};
diff --git a/frontend/dist/assets/FileImport-BnZT11gH.css b/frontend/dist/assets/FileImport-BnZT11gH.css
new file mode 100644 (file)
index 0000000..8b2db5b
--- /dev/null
@@ -0,0 +1 @@
+.modal-mask[data-v-dfda1b64]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-dfda1b64]{background:#f0f2f5;width:760px;max-height:90vh;overflow:auto;border-radius:6px;box-shadow:0 4px 20px #00000040}.modal-header[data-v-dfda1b64]{background:#4a90e2;color:#000;font-size:17px;font-weight:700;padding:10px 16px}.modal-body[data-v-dfda1b64]{padding:14px 18px}.modal-footer[data-v-dfda1b64]{display:flex;justify-content:space-between;padding:12px 40px 18px}.form-row[data-v-dfda1b64]{display:flex;align-items:center;gap:8px;margin:8px 0}.form-row label[data-v-dfda1b64]{white-space:nowrap;font-size:13px}.section-label[data-v-dfda1b64]{font-weight:700;font-size:13px;margin:12px 0 4px}.toolbar[data-v-dfda1b64]{margin-bottom:4px}
diff --git a/frontend/dist/assets/FileImport-Dbzgpqjb.js b/frontend/dist/assets/FileImport-Dbzgpqjb.js
new file mode 100644 (file)
index 0000000..2213c85
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as se,d as ne,c as r,a as l,w as m,v as x,F as D,r as j,t as y,A as oe,i as _,k as ue,e as s,n as f,p as Z,f as K,B as ie,s as re,o as d}from"./index-DOeeTpNX.js";import{_ as de}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ve={class:"content-area"},pe={class:"card"},me={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},fe=["value"],ce=["value"],ge=["value"],ye=["value"],be=["value"],we=["value"],ke={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Se=["disabled"],xe=["disabled"],$e=["disabled"],Ce={key:0,class:"modal-mask"},Te={class:"modal"},Ve={class:"modal-body"},De={class:"form-row"},je={class:"form-row"},Ue={class:"form-row"},qe={class:"form-row"},Ie={class:"toolbar"},Ae={class:"toolbar"},Fe=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Me={__name:"FileImport",setup(Be){const Q=re(),v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),U=s(""),C=s(""),q=s("错题"),I=s(""),A=s(""),F=s(""),E=s(""),N=s(null),M=s(!1),p=s(null),O=s(!1),T=s(""),B=s("错题"),b=s(""),w=s(""),k=s(""),S=s(""),R=s(null),J=s(null),V=s(0),Y=s("");function o(a){E.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ie(()=>{N.value&&(N.value.scrollTop=N.value.scrollHeight)})}function P(){return{subject:U.value,source:C.value,type:q.value,term:I.value,stage:A.value,origin:F.value}}function X(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Fe))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;E.value="",M.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",U.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",I.value),n.append("stage",A.value),n.append("origin",F.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const g=await u.json();typeof g.detail=="string"?$=g.detail:Array.isArray(g.detail)&&($=g.detail.map(W=>`${(W.loc||[]).slice(1).join(".")}: ${W.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{M.value=!1}},e.click()}function h(){E.value="",o("正在手动添加试题..."),O.value=!0,T.value="",B.value="错题",b.value="",w.value="",k.value="",S.value="",V.value=0,Y.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function ee(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function te(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!S.value.trim()){f("答案解析不能为空。");return}const a=V.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:B.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:S.value,question_no:a,session_timestamp:Y.value,meta:P()});c||(c=[]),c.push(e),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",S.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:B.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:S.value,question_no:a,session_timestamp:Y.value,meta:P(),force:!0});c.push(t),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",S.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function le(){o("手动添加试题窗口已关闭。"),O.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function G(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function z(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function H(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await G(t),u=`[[IMG:${n}]]`,i=a;i&&(z(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function L(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await G(u),$=`[[IMG:${i}]]`,g=e==="stem"?R.value:J.value;g&&(z(g,$),g.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ae(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),Q.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return se(async()=>{v.value=await ne("/import/options"),U.value=v.value.subject.default,C.value=v.value.source.default,I.value=v.value.term.default,A.value=v.value.stage.default,F.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[34]||(e[34]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",ve,[l("div",pe,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",me,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>U.value=t)},[(d(!0),r(D,null,j(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},y(t),9,fe))),128))],512),[[x,U.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>I.value=t)},[(d(!0),r(D,null,j(v.value.term.options,t=>(d(),r("option",{key:t,value:t},y(t),9,ce))),128))],512),[[x,I.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(D,null,j(v.value.source.options,t=>(d(),r("option",{key:t,value:t},y(t),9,ge))),128))],512),[[x,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>A.value=t)},[(d(!0),r(D,null,j(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},y(t),9,ye))),128))],512),[[x,A.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(D,null,j(v.value.type.options,t=>(d(),r("option",{key:t,value:t},y(t),9,be))),128))],512),[[x,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>F.value=t)},[(d(!0),r(D,null,j(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},y(t),9,we))),128))],512),[[x,F.value]])])]),l("div",ke,[l("button",{class:"btn",disabled:M.value,style:{"font-weight":"bold"},onClick:X},y(M.value?"解析中...":"第一步:选择文件并解析"),9,Se),l("button",{class:"btn orange",disabled:M.value,style:{"font-weight":"bold"},onClick:h},y(O.value?"手动添加中...":"第一步:手动添加试题"),9,xe),l("button",{class:"btn",disabled:!p.value,style:oe([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ae}," 第二步:预览并确定导入 ",12,$e),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[24]||(e[24]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:N},y(E.value),513)]),O.value?(d(),r("div",Ce,[l("div",Te,[e[33]||(e[33]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",Ve,[l("div",De,[e[26]||(e[26]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[25]||(e[25]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[x,T.value]])]),l("div",je,[e[28]||(e[28]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>B.value=t)},[...e[27]||(e[27]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[x,B.value]])]),l("div",Ue,[e[29]||(e[29]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",qe,[e[30]||(e[30]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:ee},"填入今天")]),e[31]||(e[31]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ie,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>H(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>L(t,"stem"))},null,544),[[_,k.value]]),e[32]||(e[32]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ae,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>H(J.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:J,"onUpdate:modelValue":e[15]||(e[15]=t=>S.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>L(t,"analysis"))},null,544),[[_,S.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:te},"继续添加"),l("button",{class:"btn primary",onClick:le},"确定返回")])])])):ue("",!0)]))}},Oe=de(Me,[["__scopeId","data-v-cd4fb841"]]);export{Oe as default};
diff --git a/frontend/dist/assets/FileImport-Djr7oKXh.css b/frontend/dist/assets/FileImport-Djr7oKXh.css
new file mode 100644 (file)
index 0000000..afebe0e
--- /dev/null
@@ -0,0 +1 @@
+.modal-mask[data-v-cd4fb841]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-cd4fb841]{background:#f0f2f5;width:760px;max-height:90vh;overflow:auto;border-radius:6px;box-shadow:0 4px 20px #00000040}.modal-header[data-v-cd4fb841]{background:#4a90e2;color:#000;font-size:17px;font-weight:700;padding:10px 16px}.modal-body[data-v-cd4fb841]{padding:14px 18px}.modal-footer[data-v-cd4fb841]{display:flex;justify-content:space-between;padding:12px 40px 18px}.form-row[data-v-cd4fb841]{display:flex;align-items:center;gap:8px;margin:8px 0}.form-row label[data-v-cd4fb841]{white-space:nowrap;font-size:13px}.section-label[data-v-cd4fb841]{font-weight:700;font-size:13px;margin:12px 0 4px}.toolbar[data-v-cd4fb841]{margin-bottom:4px}
diff --git a/frontend/dist/assets/FileImport-Dqhg5lPG.js b/frontend/dist/assets/FileImport-Dqhg5lPG.js
new file mode 100644 (file)
index 0000000..3a3ae55
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as oe,d as ue,c as r,a as l,w as m,v as S,F as D,r as j,h as ie,t as g,E as re,j as _,l as de,e as s,p as f,q as Z,f as K,G as ve,y as pe,o as d}from"./index-PW167vf4.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"content-area"},ce={class:"card"},ge={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},ye=["value"],be=["value"],we=["value"],ke=["value"],xe=["value"],Se=["value"],$e={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Ce=["disabled"],Te=["disabled"],Ve=["disabled"],De={key:0,class:"modal-mask"},je={class:"modal"},Ue={class:"modal-body"},qe={class:"form-row"},Ie={class:"form-row"},Ae={class:"form-row"},Ee={class:"form-row"},Ne={class:"toolbar"},Fe={class:"toolbar"},Q="自组WORD范本.docx",Me=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Oe={__name:"FileImport",setup(Be){const X=pe(),h="/StudyBase/word-template.docx",v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),U=s(""),C=s(""),q=s("错题"),I=s(""),A=s(""),E=s(""),M=s(""),O=s(null),N=s(!1),p=s(null),B=s(!1),T=s(""),F=s("错题"),b=s(""),w=s(""),k=s(""),x=s(""),R=s(null),G=s(null),V=s(0),J=s("");function o(a){M.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ve(()=>{O.value&&(O.value.scrollTop=O.value.scrollHeight)})}function P(){return{subject:U.value,source:C.value,type:q.value,term:I.value,stage:A.value,origin:E.value}}function ee(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Me))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;M.value="",N.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",U.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",I.value),n.append("stage",A.value),n.append("origin",E.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const y=await u.json();typeof y.detail=="string"?$=y.detail:Array.isArray(y.detail)&&($=y.detail.map(L=>`${(L.loc||[]).slice(1).join(".")}: ${L.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{N.value=!1}},e.click()}function te(){M.value="",o("正在手动添加试题..."),B.value=!0,T.value="",F.value="错题",b.value="",w.value="",k.value="",x.value="",V.value=0,J.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function le(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function ae(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!x.value.trim()){f("答案解析不能为空。");return}const a=V.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:J.value,meta:P()});c||(c=[]),c.push(e),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:J.value,meta:P(),force:!0});c.push(t),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function se(){o("手动添加试题窗口已关闭。"),B.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function Y(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function W(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function z(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await Y(t),u=`[[IMG:${n}]]`,i=a;i&&(W(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function H(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await Y(u),$=`[[IMG:${i}]]`,y=e==="stem"?R.value:G.value;y&&(W(y,$),y.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ne(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),X.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return oe(async()=>{v.value=await ue("/import/options"),U.value=v.value.subject.default,C.value=v.value.source.default,I.value=v.value.term.default,A.value=v.value.stage.default,E.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[35]||(e[35]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",fe,[l("div",ce,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",ge,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>U.value=t)},[(d(!0),r(D,null,j(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ye))),128))],512),[[S,U.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>I.value=t)},[(d(!0),r(D,null,j(v.value.term.options,t=>(d(),r("option",{key:t,value:t},g(t),9,be))),128))],512),[[S,I.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(D,null,j(v.value.source.options,t=>(d(),r("option",{key:t,value:t},g(t),9,we))),128))],512),[[S,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>A.value=t)},[(d(!0),r(D,null,j(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ke))),128))],512),[[S,A.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(D,null,j(v.value.type.options,t=>(d(),r("option",{key:t,value:t},g(t),9,xe))),128))],512),[[S,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>E.value=t)},[(d(!0),r(D,null,j(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},g(t),9,Se))),128))],512),[[S,E.value]])])]),l("div",$e,[l("div",{style:{width:"100%","font-size":"13px",color:"#555","margin-bottom":"2px"}},[e[24]||(e[24]=ie(" 如需使用「自组 Word 模式」上传,请先下载模板并按格式填写: ",-1)),l("a",{href:h,download:Q,style:{color:"#4A90E2","text-decoration":"underline",cursor:"pointer"}},g(Q))]),l("button",{class:"btn",disabled:N.value,style:{"font-weight":"bold"},onClick:ee},g(N.value?"解析中...":"第一步:选择文件并解析"),9,Ce),l("button",{class:"btn orange",disabled:N.value,style:{"font-weight":"bold"},onClick:te},g(B.value?"手动添加中...":"第一步:手动添加试题"),9,Te),l("button",{class:"btn",disabled:!p.value,style:re([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ne}," 第二步:预览并确定导入 ",12,Ve),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[25]||(e[25]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:O},g(M.value),513)]),B.value?(d(),r("div",De,[l("div",je,[e[34]||(e[34]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",Ue,[l("div",qe,[e[27]||(e[27]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[26]||(e[26]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[S,T.value]])]),l("div",Ie,[e[29]||(e[29]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>F.value=t)},[...e[28]||(e[28]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[S,F.value]])]),l("div",Ae,[e[30]||(e[30]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",Ee,[e[31]||(e[31]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:le},"填入今天")]),e[32]||(e[32]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ne,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>z(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>H(t,"stem"))},null,544),[[_,k.value]]),e[33]||(e[33]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Fe,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>z(G.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:G,"onUpdate:modelValue":e[15]||(e[15]=t=>x.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>H(t,"analysis"))},null,544),[[_,x.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:ae},"继续添加"),l("button",{class:"btn primary",onClick:se},"确定返回")])])])):de("",!0)]))}},Re=me(Oe,[["__scopeId","data-v-dfda1b64"]]);export{Re as default};
diff --git a/frontend/dist/assets/FileImport-HzpQjtqM.js b/frontend/dist/assets/FileImport-HzpQjtqM.js
new file mode 100644 (file)
index 0000000..a2fcf30
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as oe,d as ue,c as r,a as l,w as m,v as S,F as D,r as U,h as ie,t as g,A as re,i as _,k as de,e as s,n as f,p as Z,f as K,B as ve,s as pe,o as d}from"./index-BrIQ4kjW.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"content-area"},ce={class:"card"},ge={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},ye=["value"],be=["value"],we=["value"],ke=["value"],xe=["value"],Se=["value"],$e={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Ce=["disabled"],Te=["disabled"],Ve=["disabled"],De={key:0,class:"modal-mask"},Ue={class:"modal"},je={class:"modal-body"},qe={class:"form-row"},Ae={class:"form-row"},Ie={class:"form-row"},Ne={class:"form-row"},Be={class:"toolbar"},Ee={class:"toolbar"},Q="自组WORD范本.docx",Fe=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Me={__name:"FileImport",setup(Oe){const X=pe(),h="/StudyBase/word-template.docx",v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),j=s(""),C=s(""),q=s("错题"),A=s(""),I=s(""),N=s(""),F=s(""),M=s(null),B=s(!1),p=s(null),O=s(!1),T=s(""),E=s("错题"),b=s(""),w=s(""),k=s(""),x=s(""),R=s(null),J=s(null),V=s(0),Y=s("");function o(a){F.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ve(()=>{M.value&&(M.value.scrollTop=M.value.scrollHeight)})}function P(){return{subject:j.value,source:C.value,type:q.value,term:A.value,stage:I.value,origin:N.value}}function ee(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Fe))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;F.value="",B.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",j.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",A.value),n.append("stage",I.value),n.append("origin",N.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const y=await u.json();typeof y.detail=="string"?$=y.detail:Array.isArray(y.detail)&&($=y.detail.map(L=>`${(L.loc||[]).slice(1).join(".")}: ${L.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{B.value=!1}},e.click()}function te(){F.value="",o("正在手动添加试题..."),O.value=!0,T.value="",E.value="错题",b.value="",w.value="",k.value="",x.value="",V.value=0,Y.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function le(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function ae(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!x.value.trim()){f("答案解析不能为空。");return}const a=V.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:E.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P()});c||(c=[]),c.push(e),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:E.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P(),force:!0});c.push(t),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function se(){o("手动添加试题窗口已关闭。"),O.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function G(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function W(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function z(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await G(t),u=`[[IMG:${n}]]`,i=a;i&&(W(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function H(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await G(u),$=`[[IMG:${i}]]`,y=e==="stem"?R.value:J.value;y&&(W(y,$),y.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ne(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),X.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return oe(async()=>{v.value=await ue("/import/options"),j.value=v.value.subject.default,C.value=v.value.source.default,A.value=v.value.term.default,I.value=v.value.stage.default,N.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[35]||(e[35]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",fe,[l("div",ce,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",ge,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>j.value=t)},[(d(!0),r(D,null,U(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ye))),128))],512),[[S,j.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>A.value=t)},[(d(!0),r(D,null,U(v.value.term.options,t=>(d(),r("option",{key:t,value:t},g(t),9,be))),128))],512),[[S,A.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(D,null,U(v.value.source.options,t=>(d(),r("option",{key:t,value:t},g(t),9,we))),128))],512),[[S,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>I.value=t)},[(d(!0),r(D,null,U(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ke))),128))],512),[[S,I.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(D,null,U(v.value.type.options,t=>(d(),r("option",{key:t,value:t},g(t),9,xe))),128))],512),[[S,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>N.value=t)},[(d(!0),r(D,null,U(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},g(t),9,Se))),128))],512),[[S,N.value]])])]),l("div",$e,[l("div",{style:{width:"100%","font-size":"13px",color:"#555","margin-bottom":"2px"}},[e[24]||(e[24]=ie(" 如需使用「自组 Word 模式」上传,请先下载模板并按格式填写: ",-1)),l("a",{href:h,download:Q,style:{color:"#4A90E2","text-decoration":"underline",cursor:"pointer"}},g(Q))]),l("button",{class:"btn",disabled:B.value,style:{"font-weight":"bold"},onClick:ee},g(B.value?"解析中...":"第一步:选择文件并解析"),9,Ce),l("button",{class:"btn orange",disabled:B.value,style:{"font-weight":"bold"},onClick:te},g(O.value?"手动添加中...":"第一步:手动添加试题"),9,Te),l("button",{class:"btn",disabled:!p.value,style:re([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ne}," 第二步:预览并确定导入 ",12,Ve),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[25]||(e[25]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:M},g(F.value),513)]),O.value?(d(),r("div",De,[l("div",Ue,[e[34]||(e[34]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",je,[l("div",qe,[e[27]||(e[27]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[26]||(e[26]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[S,T.value]])]),l("div",Ae,[e[29]||(e[29]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>E.value=t)},[...e[28]||(e[28]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[S,E.value]])]),l("div",Ie,[e[30]||(e[30]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",Ne,[e[31]||(e[31]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:le},"填入今天")]),e[32]||(e[32]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Be,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>z(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>H(t,"stem"))},null,544),[[_,k.value]]),e[33]||(e[33]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ee,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>z(J.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:J,"onUpdate:modelValue":e[15]||(e[15]=t=>x.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>H(t,"analysis"))},null,544),[[_,x.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:ae},"继续添加"),l("button",{class:"btn primary",onClick:se},"确定返回")])])])):de("",!0)]))}},Re=me(Me,[["__scopeId","data-v-dfda1b64"]]);export{Re as default};
diff --git a/frontend/dist/assets/FileImport-TrxH8VB7.js b/frontend/dist/assets/FileImport-TrxH8VB7.js
new file mode 100644 (file)
index 0000000..3dc67a0
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as oe,d as ue,c as r,a as l,w as m,v as S,F as V,r as U,h as ie,t as g,C as re,i as _,k as de,e as s,n as f,p as Z,f as K,D as ve,x as pe,o as d}from"./index-DkiXflk7.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"content-area"},ce={class:"card"},ge={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},ye=["value"],be=["value"],we=["value"],ke=["value"],xe=["value"],Se=["value"],$e={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Ce=["disabled"],Te=["disabled"],De=["disabled"],Ve={key:0,class:"modal-mask"},Ue={class:"modal"},je={class:"modal-body"},qe={class:"form-row"},Ie={class:"form-row"},Ae={class:"form-row"},Ne={class:"form-row"},Ee={class:"toolbar"},Fe={class:"toolbar"},Q="自组WORD范本.docx",Me=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Oe={__name:"FileImport",setup(Be){const X=pe(),h="/StudyBase/word-template.docx",v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),j=s(""),C=s(""),q=s("错题"),I=s(""),A=s(""),N=s(""),M=s(""),O=s(null),E=s(!1),p=s(null),B=s(!1),T=s(""),F=s("错题"),b=s(""),w=s(""),k=s(""),x=s(""),R=s(null),J=s(null),D=s(0),Y=s("");function o(a){M.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ve(()=>{O.value&&(O.value.scrollTop=O.value.scrollHeight)})}function P(){return{subject:j.value,source:C.value,type:q.value,term:I.value,stage:A.value,origin:N.value}}function ee(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Me))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;M.value="",E.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",j.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",I.value),n.append("stage",A.value),n.append("origin",N.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const y=await u.json();typeof y.detail=="string"?$=y.detail:Array.isArray(y.detail)&&($=y.detail.map(L=>`${(L.loc||[]).slice(1).join(".")}: ${L.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{E.value=!1}},e.click()}function te(){M.value="",o("正在手动添加试题..."),B.value=!0,T.value="",F.value="错题",b.value="",w.value="",k.value="",x.value="",D.value=0,Y.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function le(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function ae(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!x.value.trim()){f("答案解析不能为空。");return}const a=D.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P()});c||(c=[]),c.push(e),D.value=a,o(`添加一条试题。当前已添加 ${D.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:F.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P(),force:!0});c.push(t),D.value=a,o(`添加一条试题。当前已添加 ${D.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function se(){o("手动添加试题窗口已关闭。"),B.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function G(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function W(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function z(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await G(t),u=`[[IMG:${n}]]`,i=a;i&&(W(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function H(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await G(u),$=`[[IMG:${i}]]`,y=e==="stem"?R.value:J.value;y&&(W(y,$),y.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ne(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),X.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return oe(async()=>{v.value=await ue("/import/options"),j.value=v.value.subject.default,C.value=v.value.source.default,I.value=v.value.term.default,A.value=v.value.stage.default,N.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[35]||(e[35]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",fe,[l("div",ce,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",ge,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>j.value=t)},[(d(!0),r(V,null,U(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ye))),128))],512),[[S,j.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>I.value=t)},[(d(!0),r(V,null,U(v.value.term.options,t=>(d(),r("option",{key:t,value:t},g(t),9,be))),128))],512),[[S,I.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(V,null,U(v.value.source.options,t=>(d(),r("option",{key:t,value:t},g(t),9,we))),128))],512),[[S,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>A.value=t)},[(d(!0),r(V,null,U(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ke))),128))],512),[[S,A.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(V,null,U(v.value.type.options,t=>(d(),r("option",{key:t,value:t},g(t),9,xe))),128))],512),[[S,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>N.value=t)},[(d(!0),r(V,null,U(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},g(t),9,Se))),128))],512),[[S,N.value]])])]),l("div",$e,[l("div",{style:{width:"100%","font-size":"13px",color:"#555","margin-bottom":"2px"}},[e[24]||(e[24]=ie(" 如需使用「自组 Word 模式」上传,请先下载模板并按格式填写: ",-1)),l("a",{href:h,download:Q,style:{color:"#4A90E2","text-decoration":"underline",cursor:"pointer"}},g(Q))]),l("button",{class:"btn",disabled:E.value,style:{"font-weight":"bold"},onClick:ee},g(E.value?"解析中...":"第一步:选择文件并解析"),9,Ce),l("button",{class:"btn orange",disabled:E.value,style:{"font-weight":"bold"},onClick:te},g(B.value?"手动添加中...":"第一步:手动添加试题"),9,Te),l("button",{class:"btn",disabled:!p.value,style:re([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ne}," 第二步:预览并确定导入 ",12,De),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[25]||(e[25]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:O},g(M.value),513)]),B.value?(d(),r("div",Ve,[l("div",Ue,[e[34]||(e[34]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",je,[l("div",qe,[e[27]||(e[27]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[26]||(e[26]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[S,T.value]])]),l("div",Ie,[e[29]||(e[29]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>F.value=t)},[...e[28]||(e[28]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[S,F.value]])]),l("div",Ae,[e[30]||(e[30]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",Ne,[e[31]||(e[31]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:le},"填入今天")]),e[32]||(e[32]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ee,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>z(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>H(t,"stem"))},null,544),[[_,k.value]]),e[33]||(e[33]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Fe,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>z(J.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:J,"onUpdate:modelValue":e[15]||(e[15]=t=>x.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>H(t,"analysis"))},null,544),[[_,x.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:ae},"继续添加"),l("button",{class:"btn primary",onClick:se},"确定返回")])])])):de("",!0)]))}},Re=me(Oe,[["__scopeId","data-v-dfda1b64"]]);export{Re as default};
diff --git a/frontend/dist/assets/FileImport-ZNTNIRXY.js b/frontend/dist/assets/FileImport-ZNTNIRXY.js
new file mode 100644 (file)
index 0000000..1ec15d4
--- /dev/null
@@ -0,0 +1,21 @@
+import{b as oe,d as ue,c as r,a as l,w as m,v as S,F as D,r as U,h as ie,t as g,A as re,i as _,k as de,e as s,n as f,p as Z,f as K,B as ve,s as pe,o as d}from"./index-DibvQ1e4.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"content-area"},ce={class:"card"},ge={style:{display:"grid","grid-template-columns":"110px 240px 110px 240px",gap:"10px 14px","align-items":"center"}},ye=["value"],be=["value"],we=["value"],ke=["value"],xe=["value"],Se=["value"],$e={class:"card",style:{display:"flex",gap:"18px","align-items":"center","flex-wrap":"wrap"}},Ce=["disabled"],Te=["disabled"],Ve=["disabled"],De={key:0,class:"modal-mask"},Ue={class:"modal"},je={class:"modal-body"},qe={class:"form-row"},Ae={class:"form-row"},Ie={class:"form-row"},Ne={class:"form-row"},Be={class:"toolbar"},Ee={class:"toolbar"},Q="自组WORD范本.docx",Fe=`智学网文件解析请注意以下格式:
+!!请确定组卷网下载文件包括了【知识点】信息!!
+1. 题目开始格式:
+   【错题】/【推题】【客观题】/【主观题】[题号]
+    
+    例如:
+   【错题】【客观题】1.豌豆(雌雄同花)和玉米(雌雄同株异花)都是良好的遗传学材料。利用这两种材料进行遗传学实验时,操作正确的是(  )
+
+2. 答案开始格式:
+   【答案】[题号]
+   
+   例如:
+   【答案】2.B
+   【知识点】孟德尔一对相对性状的杂交实验
+   【分析】孟德尔一对相对性状的杂交试验中,实现3:1的分离比必须同时满足的条件是:F1形成的配子数目相等且生活力相同,雌、雄配子结合的机会相等;F2不同的基因型的个体的存活率相等;等位基因间的显隐性关系是完全的;观察的子代样本数目足够多。
+
+请点击“确定”开始解析。
+`,Me={__name:"FileImport",setup(Oe){const X=pe(),h="/StudyBase/word-template.docx",v=s({subject:{options:[],default:""},source:{options:[],default:""},term:{options:[],default:""},stage:{options:[],default:""},origin:{options:[],default:""},type:{options:["错题","推题","补充提高"],default:"错题"}}),j=s(""),C=s(""),q=s("错题"),A=s(""),I=s(""),N=s(""),F=s(""),M=s(null),B=s(!1),p=s(null),O=s(!1),T=s(""),E=s("错题"),b=s(""),w=s(""),k=s(""),x=s(""),R=s(null),J=s(null),V=s(0),Y=s("");function o(a){F.value+=`[${new Date().toTimeString().slice(0,8)}] ${a}
+`,ve(()=>{M.value&&(M.value.scrollTop=M.value.scrollHeight)})}function P(){return{subject:j.value,source:C.value,type:q.value,term:A.value,stage:I.value,origin:N.value}}function ee(){const a=P();if(!Object.values(a).every(Boolean)){f("请确保所有导入参数都已选择!");return}if(C.value==="组卷网"&&!Z(Fe))return;const e=document.createElement("input");e.type="file",e.accept=".docx",e.onchange=async()=>{const t=e.files[0];if(!t)return;F.value="",B.value=!0,p.value=null;const n=new FormData;n.append("file",t),n.append("subject",j.value),n.append("source",C.value),n.append("q_type",q.value),n.append("term",A.value),n.append("stage",I.value),n.append("origin",N.value);try{const u=await fetch("/StudyBase/api/import/parse",{method:"POST",body:n});if(!u.ok){let $=`HTTP ${u.status}`;try{const y=await u.json();typeof y.detail=="string"?$=y.detail:Array.isArray(y.detail)&&($=y.detail.map(L=>`${(L.loc||[]).slice(1).join(".")}: ${L.msg}`).join("; "))}catch{}o(`解析失败: ${$}`),p.value=null;return}const i=await u.json();for(const $ of i.log||[])o($.replace(/^\[\d{2}:\d{2}:\d{2}\]\s?/,""));i.error?p.value=null:i.questions?p.value=i.questions:p.value=null}catch(u){o(`解析过程中发生未预期错误: ${u.message}`),p.value=null}finally{B.value=!1}},e.click()}function te(){F.value="",o("正在手动添加试题..."),O.value=!0,T.value="",E.value="错题",b.value="",w.value="",k.value="",x.value="",V.value=0,Y.value=new Date().toISOString().replace(/[-:TZ.]/g,"").slice(0,14)}function le(){const a=new Date,e=t=>String(t).padStart(2,"0");w.value=`${a.getFullYear()}-${e(a.getMonth()+1)}-${e(a.getDate())}`}async function ae(){if(!T.value){f("请先选择题目分类(客观题或主观题)。");return}if(!b.value.trim()){f("题目知识点为必填项。");return}if(!k.value.trim()){f("题干内容不能为空。");return}if(!x.value.trim()){f("答案解析不能为空。");return}const a=V.value+1;try{const e=await K("/import/manual-add",{category:T.value,q_type:E.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P()});c||(c=[]),c.push(e),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(e){if(e.needConfirm){if(Z("答题时间格式不是标准日期(YYYY-MM-DD),仍要按原样保存吗?"))try{const t=await K("/import/manual-add",{category:T.value,q_type:E.value,kp_text:b.value.trim(),answer_time:w.value,stem_raw:k.value,analysis_raw:x.value,question_no:a,session_timestamp:Y.value,meta:P(),force:!0});c.push(t),V.value=a,o(`添加一条试题。当前已添加 ${V.value} 条。`),f("当前试题已保存,可以继续添加下一题。"),b.value="",w.value="",k.value="",x.value=""}catch(t){f(t.message)}}else f(e.message)}}let c=[];function se(){o("手动添加试题窗口已关闭。"),O.value=!1,c&&c.length?(p.value=c,o(`手动添加已完成。共添加 ${c.length} 道题目。`),o(`
+--- 手动添加题目预览 ---`),o(JSON.stringify(c,null,4)),o(`--- 预览结束 ---
+`)):(p.value=null,o("手动添加已取消或未添加任何题目。")),c=[]}async function G(a){const e=new FormData;e.append("file",a,a.name||"pasted.png");const t=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:e});if(!t.ok){let u="上传失败";try{u=(await t.json()).detail||u}catch{}throw new Error(u)}return(await t.json()).path}function W(a,e){if(a&&a.selectionStart!=null){const t=a.selectionStart,n=a.value;return a.value=n.slice(0,t)+e+n.slice(a.selectionEnd),a.value}return null}function z(a){const e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/bmp,image/gif",e.onchange=async()=>{const t=e.files[0];if(t)try{const n=await G(t),u=`[[IMG:${n}]]`,i=a;i&&(W(i,u),i.dispatchEvent(new Event("input"))),o(`已选取图片: ${n}`)}catch(n){f(n.message)}},e.click()}async function H(a,e){const t=a.clipboardData&&a.clipboardData.items;if(t){for(const n of t)if(n.type&&n.type.startsWith("image/")){a.preventDefault();const u=n.getAsFile();try{const i=await G(u),$=`[[IMG:${i}]]`,y=e==="stem"?R.value:J.value;y&&(W(y,$),y.dispatchEvent(new Event("input"))),o(`从剪贴板插入图片: ${i}`)}catch(i){o(`保存剪贴板图片失败: ${i.message}`)}return}}}function ne(){p.value?(sessionStorage.setItem("sb_import_data",JSON.stringify(p.value)),sessionStorage.setItem("sb_import_meta",JSON.stringify({...P(),import_time:new Date().toLocaleString("sv-PR")})),X.push("/questions/import/preview")):f("请先解析文件或选择手动添加,没有可预览的数据。")}return oe(async()=>{v.value=await ue("/import/options"),j.value=v.value.subject.default,C.value=v.value.source.default,A.value=v.value.term.default,I.value=v.value.stage.default,N.value=v.value.origin.default,q.value=v.value.type.default}),(a,e)=>(d(),r("div",null,[e[35]||(e[35]=l("div",{class:"page-header"},[l("span",{class:"title"},"文件导入题目")],-1)),l("div",fe,[l("div",ce,[e[23]||(e[23]=l("div",{style:{"font-weight":"bold","margin-bottom":"10px"}},"导入参数设置",-1)),l("div",ge,[e[17]||(e[17]=l("label",null,"所属科目:",-1)),m(l("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>j.value=t)},[(d(!0),r(D,null,U(v.value.subject.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ye))),128))],512),[[S,j.value]]),e[18]||(e[18]=l("label",null,"学期:",-1)),m(l("select",{"onUpdate:modelValue":e[1]||(e[1]=t=>A.value=t)},[(d(!0),r(D,null,U(v.value.term.options,t=>(d(),r("option",{key:t,value:t},g(t),9,be))),128))],512),[[S,A.value]]),e[19]||(e[19]=l("label",null,"题目来源:",-1)),m(l("select",{"onUpdate:modelValue":e[2]||(e[2]=t=>C.value=t)},[(d(!0),r(D,null,U(v.value.source.options,t=>(d(),r("option",{key:t,value:t},g(t),9,we))),128))],512),[[S,C.value]]),e[20]||(e[20]=l("label",null,"阶段:",-1)),m(l("select",{"onUpdate:modelValue":e[3]||(e[3]=t=>I.value=t)},[(d(!0),r(D,null,U(v.value.stage.options,t=>(d(),r("option",{key:t,value:t},g(t),9,ke))),128))],512),[[S,I.value]]),e[21]||(e[21]=l("label",null,"题目类型:",-1)),m(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>q.value=t)},[(d(!0),r(D,null,U(v.value.type.options,t=>(d(),r("option",{key:t,value:t},g(t),9,xe))),128))],512),[[S,q.value]]),e[22]||(e[22]=l("label",null,"题目出处:",-1)),m(l("select",{"onUpdate:modelValue":e[5]||(e[5]=t=>N.value=t)},[(d(!0),r(D,null,U(v.value.origin.options,t=>(d(),r("option",{key:t,value:t},g(t),9,Se))),128))],512),[[S,N.value]])])]),l("div",$e,[l("div",{style:{width:"100%","font-size":"13px",color:"#555","margin-bottom":"2px"}},[e[24]||(e[24]=ie(" 如需使用「自组 Word 模式」上传,请先下载模板并按格式填写: ",-1)),l("a",{href:h,download:Q,style:{color:"#4A90E2","text-decoration":"underline",cursor:"pointer"}},g(Q))]),l("button",{class:"btn",disabled:B.value,style:{"font-weight":"bold"},onClick:ee},g(B.value?"解析中...":"第一步:选择文件并解析"),9,Ce),l("button",{class:"btn orange",disabled:B.value,style:{"font-weight":"bold"},onClick:te},g(O.value?"手动添加中...":"第一步:手动添加试题"),9,Te),l("button",{class:"btn",disabled:!p.value,style:re([{"font-weight":"bold"},p.value?"":"color:#999;"]),onClick:ne}," 第二步:预览并确定导入 ",12,Ve),l("button",{class:"btn",style:{"margin-left":"auto"},onClick:e[6]||(e[6]=t=>a.$router.push("/questions"))},"返回")]),e[25]||(e[25]=l("div",{style:{"font-size":"13px",margin:"6px 2px"}},"解析进度与JSON预览:",-1)),l("div",{class:"log-box",ref_key:"logBox",ref:M},g(F.value),513)]),O.value?(d(),r("div",De,[l("div",Ue,[e[34]||(e[34]=l("div",{class:"modal-header"},"手动添加试题",-1)),l("div",je,[l("div",qe,[e[27]||(e[27]=l("label",null,"题目分类(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[7]||(e[7]=t=>T.value=t)},[...e[26]||(e[26]=[l("option",{value:"",disabled:""},"请选择",-1),l("option",null,"客观题",-1),l("option",null,"主观题",-1)])],512),[[S,T.value]])]),l("div",Ae,[e[29]||(e[29]=l("label",null,"题目类型(必选):",-1)),m(l("select",{"onUpdate:modelValue":e[8]||(e[8]=t=>E.value=t)},[...e[28]||(e[28]=[l("option",null,"错题",-1),l("option",null,"推题",-1)])],512),[[S,E.value]])]),l("div",Ie,[e[30]||(e[30]=l("label",null,"题目知识点(必填):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[9]||(e[9]=t=>b.value=t),style:{width:"320px"}},null,512),[[_,b.value]])]),l("div",Ne,[e[31]||(e[31]=l("label",null,"答题时间(选填,例:2026-03-16):",-1)),m(l("input",{type:"text","onUpdate:modelValue":e[10]||(e[10]=t=>w.value=t),style:{width:"150px"}},null,512),[[_,w.value]]),l("button",{class:"btn small",onClick:le},"填入今天")]),e[32]||(e[32]=l("div",{class:"section-label"},"题干内容(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Be,[l("button",{class:"btn small",onClick:e[11]||(e[11]=t=>z(R.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mStemRef",ref:R,"onUpdate:modelValue":e[12]||(e[12]=t=>k.value=t),rows:"6",style:{width:"100%"},onPaste:e[13]||(e[13]=t=>H(t,"stem"))},null,544),[[_,k.value]]),e[33]||(e[33]=l("div",{class:"section-label"},"答案解析(必填,支持插入图片;可使用 Ctrl+V 粘贴)",-1)),l("div",Ee,[l("button",{class:"btn small",onClick:e[14]||(e[14]=t=>z(J.value))},"从本地选择图片")]),m(l("textarea",{ref_key:"mAnalysisRef",ref:J,"onUpdate:modelValue":e[15]||(e[15]=t=>x.value=t),rows:"5",style:{width:"100%"},onPaste:e[16]||(e[16]=t=>H(t,"analysis"))},null,544),[[_,x.value]])]),l("div",{class:"modal-footer"},[l("button",{class:"btn",onClick:ae},"继续添加"),l("button",{class:"btn primary",onClick:se},"确定返回")])])])):de("",!0)]))}},Re=me(Me,[["__scopeId","data-v-dfda1b64"]]);export{Re as default};
diff --git a/frontend/dist/assets/Home-B9QDHPAs.js b/frontend/dist/assets/Home-B9QDHPAs.js
new file mode 100644 (file)
index 0000000..10f6ea5
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-BrIQ4kjW.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/Home-D8EnOka7.js b/frontend/dist/assets/Home-D8EnOka7.js
new file mode 100644 (file)
index 0000000..1831c89
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-PW167vf4.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/Home-DMNX57-P.js b/frontend/dist/assets/Home-DMNX57-P.js
new file mode 100644 (file)
index 0000000..ed26e7e
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-DibvQ1e4.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/Home-DSZHIi8n.js b/frontend/dist/assets/Home-DSZHIi8n.js
new file mode 100644 (file)
index 0000000..6cb8b8d
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-BOMJE6pT.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/Home-XSrtt66f.js b/frontend/dist/assets/Home-XSrtt66f.js
new file mode 100644 (file)
index 0000000..a4f8eeb
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-DkiXflk7.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/Home-o4G6oH13.js b/frontend/dist/assets/Home-o4G6oH13.js
new file mode 100644 (file)
index 0000000..86af95f
--- /dev/null
@@ -0,0 +1 @@
+import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as t,o as l}from"./index-DOeeTpNX.js";const a={},i={class:"home"},u={class:"btn-frame"};function p(o,s){return l(),r("div",i,[s[4]||(s[4]=t("div",{class:"header"},[t("span",{class:"title"},"错题智能整理系统")],-1)),t("div",u,[t("button",{class:"main-btn",style:{color:"#1A73E8"},onClick:s[0]||(s[0]=e=>o.$router.push("/subject-portal"))},"① 科目面板"),t("button",{class:"main-btn",style:{color:"#28A745"},onClick:s[1]||(s[1]=e=>o.$router.push("/questions"))},"② 题目管理"),t("button",{class:"main-btn",style:{color:"#E67E22"},onClick:s[2]||(s[2]=e=>o.$router.push("/papers"))},"③ 试卷管理"),t("button",{class:"main-btn",style:{color:"#6C757D"},onClick:s[3]||(s[3]=e=>o.$router.push("/settings"))},"④ 系统设定")])])}const b=n(a,[["render",p],["__scopeId","data-v-0c1f45b2"]]);export{b as default};
diff --git a/frontend/dist/assets/ImportPreview-BPXTOPlY.js b/frontend/dist/assets/ImportPreview-BPXTOPlY.js
new file mode 100644 (file)
index 0000000..1929cfa
--- /dev/null
@@ -0,0 +1 @@
+import{b as F,c as l,a as t,k as c,F as C,r as I,e as v,p as g,n as u,f as N,x as S,o as r,t as n,w as b,i as f,A as x}from"./index-BOMJE6pT.js";import{R as y}from"./RichContent-Cq46Yax7.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},B={class:"meta-grid"},U={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},q=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],L=["onClick"],Q={__name:"ImportPreview",setup(j){const m=S(),a=v([]),_=v({}),p=v({});F(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function A(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(C,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",B,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",U,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,q),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[x(y,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[x(y,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,L)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:A},"确认全部入库")])]))}},W=V(Q,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/ImportPreview-Ctkpm2mZ.js b/frontend/dist/assets/ImportPreview-Ctkpm2mZ.js
new file mode 100644 (file)
index 0000000..d02d0e1
--- /dev/null
@@ -0,0 +1 @@
+import{b as F,c as l,a as t,k as c,F as C,r as I,e as v,p as g,n as u,f as N,x as S,o as r,t as n,w as b,i as f,A as x}from"./index-DkiXflk7.js";import{R as y}from"./RichContent-DzYi85z4.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},B={class:"meta-grid"},U={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},q=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],L=["onClick"],Q={__name:"ImportPreview",setup(j){const m=S(),a=v([]),_=v({}),p=v({});F(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function A(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(C,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",B,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",U,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,q),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[x(y,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[x(y,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,L)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:A},"确认全部入库")])]))}},W=V(Q,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/ImportPreview-D4ykaXHk.js b/frontend/dist/assets/ImportPreview-D4ykaXHk.js
new file mode 100644 (file)
index 0000000..9db7aa9
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as l,a as t,k as c,F as C,r as I,e as v,p as g,n as u,f as N,s as S,o as r,t as n,w as b,i as f,y}from"./index-DOeeTpNX.js";import{R as x}from"./RichContent-rGkUG2Zf.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},B={class:"meta-grid"},U={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},q=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],L=["onClick"],Q={__name:"ImportPreview",setup(j){const m=S(),a=v([]),_=v({}),p=v({});A(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function F(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(C,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",B,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",U,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,q),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[y(x,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[y(x,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,L)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:F},"确认全部入库")])]))}},W=V(Q,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/ImportPreview-DF9sYEXR.js b/frontend/dist/assets/ImportPreview-DF9sYEXR.js
new file mode 100644 (file)
index 0000000..c5b072b
--- /dev/null
@@ -0,0 +1 @@
+import{b as F,c as l,a as t,l as c,F as A,r as I,e as v,q as g,p as u,f as N,y as S,o as r,t as n,w as b,j as f,C as y}from"./index-PW167vf4.js";import{R as x}from"./RichContent-Dt890otn.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},q={class:"meta-grid"},B={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},U=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],j=["onClick"],L={__name:"ImportPreview",setup(Q){const m=S(),a=v([]),_=v({}),p=v({});F(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function C(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(A,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",q,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",B,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,U),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[y(x,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[y(x,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,j)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:C},"确认全部入库")])]))}},W=V(L,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/ImportPreview-DuS-uuNM.js b/frontend/dist/assets/ImportPreview-DuS-uuNM.js
new file mode 100644 (file)
index 0000000..f409ad8
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as l,a as t,k as c,F as C,r as I,e as v,p as g,n as u,f as N,s as S,o as r,t as n,w as b,i as f,y}from"./index-DibvQ1e4.js";import{R as x}from"./RichContent-Bto3YWrJ.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},B={class:"meta-grid"},U={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},q=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],L=["onClick"],Q={__name:"ImportPreview",setup(j){const m=S(),a=v([]),_=v({}),p=v({});A(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function F(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(C,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",B,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",U,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,q),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[y(x,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[y(x,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,L)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:F},"确认全部入库")])]))}},W=V(Q,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/ImportPreview-gsUpoP1-.js b/frontend/dist/assets/ImportPreview-gsUpoP1-.js
new file mode 100644 (file)
index 0000000..ff1a10e
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as l,a as t,k as c,F as C,r as I,e as v,p as g,n as u,f as N,s as S,o as r,t as n,w as b,i as f,y}from"./index-BrIQ4kjW.js";import{R as x}from"./RichContent-B7hRqciS.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={class:"content-area",style:{"padding-bottom":"90px"}},D={key:0,class:"card",style:{"text-align":"center",padding:"50px"}},E={style:{"font-weight":"bold",color:"#1976D2","font-size":"13px","border-bottom":"1px solid #E8E8E8","padding-bottom":"6px","margin-bottom":"8px"}},B={class:"meta-grid"},U={style:{display:"flex",gap:"8px","align-items":"flex-start",margin:"10px 0"}},q=["onUpdate:modelValue"],P={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},R={key:0,style:{color:"#999"}},$={style:{background:"#FAFAFA",padding:"10px","border-radius":"3px",margin:"4px 0"}},J={key:0,style:{color:"#999"}},M={style:{display:"flex","align-items":"center",gap:"8px","margin-top":"10px"}},O=["onUpdate:modelValue"],T=["onClick"],L=["onClick"],Q={__name:"ImportPreview",setup(j){const m=S(),a=v([]),_=v({}),p=v({});A(()=>{try{a.value=JSON.parse(sessionStorage.getItem("sb_import_data")||"[]"),_.value=JSON.parse(sessionStorage.getItem("sb_import_meta")||"{}")}catch{a.value=[]}});function h(o){const s=(p.value[o]||"").trim();if(!s)return;const e=parseInt(s);if(isNaN(e)){u("请输入整数");return}a.value[o].是否有小题=e>0,a.value[o].小题个数=e,p.value[o]=""}function k(o){g("确定删除此题吗?")&&a.value.splice(o,1)}function w(){g("确定返回吗?所有未入库的修改将丢失!")&&m.push("/questions/import")}async function F(){if(!a.value.length){u("没有题目可以入库。");return}try{const o=await N("/import/save",{questions:a.value,meta:_.value});u(`成功入库 ${o.inserted} 道题目并建立知识点关联`),sessionStorage.removeItem("sb_import_data"),sessionStorage.removeItem("sb_import_meta"),m.push("/questions")}catch(o){u(o.message)}}return(o,s)=>(r(),l("div",null,[s[4]||(s[4]=t("div",{class:"page-header"},[t("span",{class:"title"},"导入题目预览与确认")],-1)),t("div",z,[a.value.length?c("",!0):(r(),l("div",D,"暂无题目数据")),(r(!0),l(C,null,I(a.value,(e,i)=>(r(),l("div",{key:i,class:"card"},[t("div",E," 题号: "+n(e.题号),1),t("div",B,[t("span",null,"科目: "+n(e.科目),1),t("span",null,"类型: "+n(e.题目类型),1),t("span",null,"来源: "+n(e.题目来源),1),t("span",null,"答题时间: "+n(e.答题时间),1),t("span",null,"科目分类: "+n(e.题目分类),1),t("span",null,"输入时间: "+n(e.输入时间),1),t("span",null,"有无小题: "+n(e.是否有小题?"是":"否"),1),t("span",null,"小题个数: "+n(e.小题个数||0),1),t("span",null,"题目分值: "+n(e.分值!==void 0?e.分值:"未设置"),1)]),t("div",U,[s[0]||(s[0]=t("label",{style:{"font-weight":"bold","font-size":"13px","white-space":"nowrap","margin-top":"4px"}},"知识点:",-1)),b(t("textarea",{"onUpdate:modelValue":d=>e.题目知识点=d,rows:"2",style:{flex:"1",background:"#FAFAFA",border:"1px solid #eee"}},null,8,q),[[f,e.题目知识点]])]),s[2]||(s[2]=t("div",{style:{"font-weight":"bold","font-size":"13px"}},"【题干内容】",-1)),t("div",P,[y(x,{content:e.题干内容||"","max-width":750},null,8,["content"]),e.题干内容?c("",!0):(r(),l("div",R,"(无内容)"))]),s[3]||(s[3]=t("div",{style:{"font-weight":"bold","font-size":"13px",color:"#2E7D32"}},"【答案解析】",-1)),t("div",$,[y(x,{content:e.答案解析||"","max-width":750},null,8,["content"]),e.答案解析?c("",!0):(r(),l("div",J,"(无内容)"))]),t("div",M,[s[1]||(s[1]=t("label",{style:{"font-size":"13px"}},"小题个数:",-1)),b(t("input",{type:"text","onUpdate:modelValue":d=>p.value[i]=d,style:{width:"60px"}},null,8,O),[[f,p.value[i]]]),t("button",{class:"btn small",onClick:d=>h(i)},"确认修改",8,T),t("button",{class:"btn small",style:{color:"red"},onClick:d=>k(i)},"删除此题",8,L)])]))),128))]),t("div",{class:"bottom-bar"},[t("button",{class:"btn",onClick:w},"返回修改"),t("button",{class:"btn primary",style:{"font-weight":"bold"},onClick:F},"确认全部入库")])]))}},W=V(Q,[["__scopeId","data-v-2c16a3ae"]]);export{W as default};
diff --git a/frontend/dist/assets/PapersCreateById-7LJOQfCM.js b/frontend/dist/assets/PapersCreateById-7LJOQfCM.js
new file mode 100644 (file)
index 0000000..1edef1c
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,j as u,e as m,p as o,d as c,q as f,y as g,o as v}from"./index-PW167vf4.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersCreateById-C-cpdHZC.js b/frontend/dist/assets/PapersCreateById-C-cpdHZC.js
new file mode 100644 (file)
index 0000000..44a57d0
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,i as u,e as m,n as o,d as c,p as f,x as g,o as v}from"./index-BOMJE6pT.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersCreateById-CqGt0Tt2.js b/frontend/dist/assets/PapersCreateById-CqGt0Tt2.js
new file mode 100644 (file)
index 0000000..f264aed
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,i as u,e as m,n as o,d as c,p as f,x as g,o as v}from"./index-DkiXflk7.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersCreateById-DCn-Qen6.js b/frontend/dist/assets/PapersCreateById-DCn-Qen6.js
new file mode 100644 (file)
index 0000000..ebeb1a1
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,i as u,e as m,n as o,d as c,p as f,s as g,o as v}from"./index-BrIQ4kjW.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersCreateById-RmHkf4pF.js b/frontend/dist/assets/PapersCreateById-RmHkf4pF.js
new file mode 100644 (file)
index 0000000..41e1989
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,i as u,e as m,n as o,d as c,p as f,s as g,o as v}from"./index-DOeeTpNX.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersCreateById-pgJ1dk5p.js b/frontend/dist/assets/PapersCreateById-pgJ1dk5p.js
new file mode 100644 (file)
index 0000000..19db051
--- /dev/null
@@ -0,0 +1 @@
+import{c as p,a as e,w as d,i as u,e as m,n as o,d as c,p as f,s as g,o as v}from"./index-DibvQ1e4.js";const x={class:"page-header"},y={class:"content-area",style:{"padding-top":"16px"}},w={__name:"PapersCreateById",setup(I){const r=g(),i=m("");async function l(){const s=i.value.trim();if(!s){o("请输入至少一个试题ID。");return}let t;try{const n=new URLSearchParams({ids:s});t=await c("/questions/validate-ids?"+n.toString())}catch(n){o(n.message);return}const a=t.valid_ids;t.missing_ids.length&&!f(`部分试题ID (${t.missing_ids.join(", ")}) 不存在于数据库中,是否继续只使用有效ID生成试卷?`)||(sessionStorage.setItem("sb_selected_ids",JSON.stringify(a)),r.push("/papers/preview"))}return(s,t)=>(v(),p("div",null,[e("div",x,[t[2]||(t[2]=e("span",{class:"title"},"根据ID生成试卷",-1)),e("button",{class:"btn",style:{"margin-left":"16px"},onClick:t[0]||(t[0]=a=>s.$router.push("/papers"))},"返回")]),e("div",y,[t[3]||(t[3]=e("div",{style:{"margin-bottom":"10px","font-size":"14px"}},"请输入试题ID(多个ID请用逗号、空格或换行符分隔):",-1)),d(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),style:{width:"100%",height:"320px","font-family":"Consolas,monospace","font-size":"13px"}},null,512),[[u,i.value]]),e("div",{style:{"margin-top":"16px"}},[e("button",{class:"btn green",style:{"font-weight":"bold","font-size":"14px",padding:"10px 22px"},onClick:l},"生成试卷")])])]))}};export{w as default};
diff --git a/frontend/dist/assets/PapersDetail-B5OSgObT.js b/frontend/dist/assets/PapersDetail-B5OSgObT.js
new file mode 100644 (file)
index 0000000..21af6c5
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,l as c,e as m,o as x}from"./index-BrIQ4kjW.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersDetail-C01UhBmx.js b/frontend/dist/assets/PapersDetail-C01UhBmx.js
new file mode 100644 (file)
index 0000000..43427df
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,m as c,e as m,o as x}from"./index-PW167vf4.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersDetail-C06OG--t.js b/frontend/dist/assets/PapersDetail-C06OG--t.js
new file mode 100644 (file)
index 0000000..fb3f188
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,l as c,e as m,o as x}from"./index-DOeeTpNX.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersDetail-CQNWx-3c.js b/frontend/dist/assets/PapersDetail-CQNWx-3c.js
new file mode 100644 (file)
index 0000000..412bace
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,l as c,e as m,o as x}from"./index-BOMJE6pT.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersDetail-Ch6he0gI.js b/frontend/dist/assets/PapersDetail-Ch6he0gI.js
new file mode 100644 (file)
index 0000000..fb3e80c
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,l as c,e as m,o as x}from"./index-DkiXflk7.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersDetail-D8UcrTf8.js b/frontend/dist/assets/PapersDetail-D8UcrTf8.js
new file mode 100644 (file)
index 0000000..14a6549
--- /dev/null
@@ -0,0 +1 @@
+import{b as r,d as i,c as l,a as t,t as d,u,l as c,e as m,o as x}from"./index-DibvQ1e4.js";const g={class:"page-header"},b={class:"title"},v={class:"content-area",style:{"padding-top":"30px","text-align":"center"}},y={__name:"PapersDetail",setup(_){const p=c(),a=parseInt(p.params.id),n=m("未命名");return r(async()=>{const e=await i(`/papers/${a}/basic`);n.value=e.paper_name}),(e,s)=>(x(),l("div",null,[t("div",g,[t("span",b,"试卷详情: "+d(n.value),1)]),t("div",v,[s[2]||(s[2]=t("p",{style:{margin:"30px 0","font-size":"15px"}},"这里是试卷题目配置与执行区域",-1)),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[0]||(s[0]=o=>e.$router.push(`/papers/${u(a)}/result`))},"生成并查看结果反馈"),t("button",{class:"btn",style:{width:"200px",padding:"10px",margin:"10px"},onClick:s[1]||(s[1]=o=>e.$router.push("/papers"))},"返回列表")])]))}};export{y as default};
diff --git a/frontend/dist/assets/PapersList-CDtu9QV9.js b/frontend/dist/assets/PapersList-CDtu9QV9.js
new file mode 100644 (file)
index 0000000..c5c1010
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as E,c as d,a as e,w as k,v as A,i as V,G as B,F as f,r as y,d as _,e as c,n as C,q as F,x as L,o as b,t as l,p as M,H as U}from"./index-BOMJE6pT.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},K={class:"filter-panel"},R={class:"content-area"},H={class:"card",style:{padding:"0",overflow:"auto"}},N={class:"data-table"},T=["onClick"],z={class:"center"},J=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),r=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function h(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function D(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),i()}function g(){r.value="",i()}async function i(){const n=new URLSearchParams({status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function x(n){m.push("/papers/preview?paper_id="+n)}function I(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,q=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(q)&&(await U(`/papers/${n}`),await i())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function P(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value})}return E(i),(n,s)=>(b(),d("div",null,[e("div",G,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",K,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>r.value=t),style:{width:"150px"},onKeyup:B(i,["enter"])},null,544),[[V,r.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:i},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:P},"📥 导出Excel")]),e("div",R,[e("div",H,[e("table",N,[e("thead",null,[e("tr",null,[(b(),d(f,null,y($,t=>e("th",{key:t.key,onClick:a=>t.db&&D(t.db)},l(t.label)+l(h(t.db)),9,T)),64))])]),e("tbody",null,[(b(!0),d(f,null,y(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",z,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,J),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>x(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>I(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},ie=j(ne,[["__scopeId","data-v-baad42d8"]]);export{ie as default};
diff --git a/frontend/dist/assets/PapersList-CUAn5bjm.js b/frontend/dist/assets/PapersList-CUAn5bjm.js
new file mode 100644 (file)
index 0000000..5e631ef
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as E,c as d,a as e,w as k,v as A,i as V,G as B,F as f,r as y,d as _,e as c,n as C,q as F,x as L,o as b,t as l,p as M,H as U}from"./index-DkiXflk7.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"page-header"},K={class:"filter-panel"},R={class:"content-area"},H={class:"card",style:{padding:"0",overflow:"auto"}},N={class:"data-table"},T=["onClick"],z={class:"center"},J=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),r=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function h(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function D(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),i()}function g(){r.value="",i()}async function i(){const n=new URLSearchParams({status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function x(n){m.push("/papers/preview?paper_id="+n)}function I(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,q=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(q)&&(await U(`/papers/${n}`),await i())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function P(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value})}return E(i),(n,s)=>(b(),d("div",null,[e("div",G,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",K,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>r.value=t),style:{width:"150px"},onKeyup:B(i,["enter"])},null,544),[[V,r.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:i},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:P},"📥 导出Excel")]),e("div",R,[e("div",H,[e("table",N,[e("thead",null,[e("tr",null,[(b(),d(f,null,y($,t=>e("th",{key:t.key,onClick:a=>t.db&&D(t.db)},l(t.label)+l(h(t.db)),9,T)),64))])]),e("tbody",null,[(b(!0),d(f,null,y(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",z,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,J),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>x(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>I(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},ie=j(ne,[["__scopeId","data-v-baad42d8"]]);export{ie as default};
diff --git a/frontend/dist/assets/PapersList-DyQQH-a_.js b/frontend/dist/assets/PapersList-DyQQH-a_.js
new file mode 100644 (file)
index 0000000..fd81da6
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as E,c as d,a as e,w as k,v as A,j as V,I as B,F as y,r as f,d as _,e as c,p as C,s as F,y as L,o as b,t as l,q as M,J as j}from"./index-PW167vf4.js";import{_ as U}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},R={class:"filter-panel"},G={class:"content-area"},J={class:"card",style:{padding:"0",overflow:"auto"}},N={class:"data-table"},T=["onClick"],z={class:"center"},H=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),i=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function h(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function D(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),r()}function g(){i.value="",r()}async function r(){const n=new URLSearchParams({status:p.value,paper_id:i.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function I(n){m.push("/papers/preview?paper_id="+n)}function x(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,q=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(q)&&(await j(`/papers/${n}`),await r())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function P(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:i.value,sort_col:u.value,sort_dir:o.value})}return E(r),(n,s)=>(b(),d("div",null,[e("div",K,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",R,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>i.value=t),style:{width:"150px"},onKeyup:B(r,["enter"])},null,544),[[V,i.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:r},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:P},"📥 导出Excel")]),e("div",G,[e("div",J,[e("table",N,[e("thead",null,[e("tr",null,[(b(),d(y,null,f($,t=>e("th",{key:t.key,onClick:a=>t.db&&D(t.db)},l(t.label)+l(h(t.db)),9,T)),64))])]),e("tbody",null,[(b(!0),d(y,null,f(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",z,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,H),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>I(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>x(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},re=U(ne,[["__scopeId","data-v-baad42d8"]]);export{re as default};
diff --git a/frontend/dist/assets/PapersList-FkiEg_WZ.js b/frontend/dist/assets/PapersList-FkiEg_WZ.js
new file mode 100644 (file)
index 0000000..c66ca01
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as q,c as d,a as e,w as k,v as A,i as V,D as B,F as f,r as y,d as _,e as c,n as C,q as F,s as L,o as b,t as l,p as M,E as U}from"./index-DOeeTpNX.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},R={class:"filter-panel"},G={class:"content-area"},N={class:"card",style:{padding:"0",overflow:"auto"}},T={class:"data-table"},z=["onClick"],H={class:"center"},J=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),r=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function D(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function h(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),i()}function g(){r.value="",i()}async function i(){const n=new URLSearchParams({status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function I(n){m.push("/papers/preview?paper_id="+n)}function x(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,P=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(P)&&(await U(`/papers/${n}`),await i())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function E(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value})}return q(i),(n,s)=>(b(),d("div",null,[e("div",K,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",R,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>r.value=t),style:{width:"150px"},onKeyup:B(i,["enter"])},null,544),[[V,r.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:i},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:E},"📥 导出Excel")]),e("div",G,[e("div",N,[e("table",T,[e("thead",null,[e("tr",null,[(b(),d(f,null,y($,t=>e("th",{key:t.key,onClick:a=>t.db&&h(t.db)},l(t.label)+l(D(t.db)),9,z)),64))])]),e("tbody",null,[(b(!0),d(f,null,y(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",H,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,J),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>I(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>x(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},ie=j(ne,[["__scopeId","data-v-baad42d8"]]);export{ie as default};
diff --git a/frontend/dist/assets/PapersList-bZN94MuR.js b/frontend/dist/assets/PapersList-bZN94MuR.js
new file mode 100644 (file)
index 0000000..67eb0d6
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as q,c as d,a as e,w as k,v as A,i as V,D as B,F as f,r as y,d as _,e as c,n as C,q as F,s as L,o as b,t as l,p as M,E as U}from"./index-DibvQ1e4.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},R={class:"filter-panel"},G={class:"content-area"},N={class:"card",style:{padding:"0",overflow:"auto"}},T={class:"data-table"},z=["onClick"],H={class:"center"},J=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),r=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function D(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function h(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),i()}function g(){r.value="",i()}async function i(){const n=new URLSearchParams({status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function I(n){m.push("/papers/preview?paper_id="+n)}function x(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,P=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(P)&&(await U(`/papers/${n}`),await i())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function E(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value})}return q(i),(n,s)=>(b(),d("div",null,[e("div",K,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",R,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>r.value=t),style:{width:"150px"},onKeyup:B(i,["enter"])},null,544),[[V,r.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:i},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:E},"📥 导出Excel")]),e("div",G,[e("div",N,[e("table",T,[e("thead",null,[e("tr",null,[(b(),d(f,null,y($,t=>e("th",{key:t.key,onClick:a=>t.db&&h(t.db)},l(t.label)+l(D(t.db)),9,z)),64))])]),e("tbody",null,[(b(!0),d(f,null,y(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",H,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,J),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>I(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>x(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},ie=j(ne,[["__scopeId","data-v-baad42d8"]]);export{ie as default};
diff --git a/frontend/dist/assets/PapersList-xSOP8Txr.js b/frontend/dist/assets/PapersList-xSOP8Txr.js
new file mode 100644 (file)
index 0000000..dc72b9e
--- /dev/null
@@ -0,0 +1,7 @@
+import{b as q,c as d,a as e,w as k,v as A,i as V,D as B,F as f,r as y,d as _,e as c,n as C,q as F,s as L,o as b,t as l,p as M,E as U}from"./index-BrIQ4kjW.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},R={class:"filter-panel"},G={class:"content-area"},N={class:"card",style:{padding:"0",overflow:"auto"}},T={class:"data-table"},z=["onClick"],H={class:"center"},J=["onDblclick"],O={class:"center"},Q={class:"center"},W={class:"center"},X={class:"center"},Y={class:"center nowrap"},Z=["onClick"],ee=["onClick"],te=["onClick"],se=["onClick"],ne={__name:"PapersList",setup(ae){const m=L(),p=c("未完成"),r=c(""),v=c([]),u=c("p.create_time"),o=c("DESC"),$=[{key:"id",label:"ID",db:"p.id"},{key:"name",label:"试卷名称",db:"p.paper_name"},{key:"subject",label:"科目",db:"p.subject"},{key:"count",label:"题数",db:"question_count"},{key:"time",label:"创建时间",db:"p.create_time"},{key:"status",label:"状态",db:"ps.status_name"},{key:"actions",label:"操作",db:null}];function D(n){return!n||n!==u.value?"":o.value==="ASC"?" ▲":" ▼"}function h(n){u.value===n?o.value=o.value==="ASC"?"DESC":"ASC":(u.value=n,o.value="ASC"),i()}function g(){r.value="",i()}async function i(){const n=new URLSearchParams({status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value}),s=await _("/papers/list?"+n.toString());v.value=s.rows}function I(n){m.push("/papers/preview?paper_id="+n)}function x(n){m.push(`/papers/${n}/result`)}async function w(n){const s=await _(`/papers/${n}/basic`),t=s.question_ids,a=s.paper_name,P=`确定要永久删除该试卷吗?
+
+试卷ID:${n}
+试卷名称:${a}
+题目数量:${t.length} 道
+
+注意:删除后将同步扣减相关题目的组卷及对错统计次数!`;M(P)&&(await U(`/papers/${n}`),await i())}async function S(n){const s=await _(`/papers/${n}/basic`);if(!s.question_ids.length){C(`试卷 ${n} 暂无题目,无法下载。`);return}const t=`/StudyBase/api/papers/${n}/download`,a=document.createElement("a");a.href=t,a.download=`${s.paper_name}_${n}.docx`.replace(/\//g,"_"),document.body.appendChild(a),a.click(),a.remove()}async function E(){if(!v.value.length){C("当前列表没有数据可以导出");return}await F("/papers/list/export-excel",{status:p.value,paper_id:r.value,sort_col:u.value,sort_dir:o.value})}return q(i),(n,s)=>(b(),d("div",null,[e("div",K,[s[5]||(s[5]=e("span",{class:"title"},"试卷管理列表",-1)),e("button",{class:"btn",onClick:s[0]||(s[0]=t=>n.$router.push("/"))},"返回主页"),e("button",{class:"btn orange",style:{"margin-left":"10px"},onClick:s[1]||(s[1]=t=>n.$router.push("/papers/create-by-id"))},"💡 根据ID生成试卷"),e("button",{class:"btn green",style:{"margin-left":"10px"},onClick:s[2]||(s[2]=t=>n.$router.push("/questions?from_paper_creation=1"))},"➕ 进入题目列表选题")]),e("div",R,[s[7]||(s[7]=e("label",null,"试卷状态:",-1)),k(e("select",{"onUpdate:modelValue":s[3]||(s[3]=t=>p.value=t),onChange:g},[...s[6]||(s[6]=[e("option",null,"全部",-1),e("option",null,"未完成",-1),e("option",null,"已完成",-1),e("option",null,"部分完成",-1),e("option",null,"归档",-1)])],544),[[A,p.value]]),s[8]||(s[8]=e("label",{style:{"margin-left":"20px"}},"试卷ID:",-1)),k(e("input",{type:"text","onUpdate:modelValue":s[4]||(s[4]=t=>r.value=t),style:{width:"150px"},onKeyup:B(i,["enter"])},null,544),[[V,r.value]]),e("button",{class:"btn primary",style:{"margin-left":"10px"},onClick:i},"🔍 搜索"),e("button",{class:"btn orange",style:{"margin-left":"6px"},onClick:E},"📥 导出Excel")]),e("div",G,[e("div",N,[e("table",T,[e("thead",null,[e("tr",null,[(b(),d(f,null,y($,t=>e("th",{key:t.key,onClick:a=>t.db&&h(t.db)},l(t.label)+l(D(t.db)),9,z)),64))])]),e("tbody",null,[(b(!0),d(f,null,y(v.value,t=>(b(),d("tr",{key:t.ID},[e("td",H,l(t.ID),1),e("td",{onDblclick:a=>n.$router.push(`/papers/${t.ID}/detail`),style:{cursor:"pointer"}},l(t.试卷名称),41,J),e("td",O,l(t.科目),1),e("td",Q,l(t.题数),1),e("td",W,l((t.创建时间||"").slice(0,10)||"-"),1),e("td",X,l(t.状态),1),e("td",Y,[e("button",{class:"btn small",onClick:a=>I(t.ID)},"预览",8,Z),e("button",{class:"btn small",onClick:a=>x(t.ID)},"反馈",8,ee),e("button",{class:"btn small",onClick:a=>w(t.ID)},"删除",8,te),e("button",{class:"btn small",onClick:a=>S(t.ID)},"下载",8,se)])]))),128))])])])])]))}},ie=j(ne,[["__scopeId","data-v-baad42d8"]]);export{ie as default};
diff --git a/frontend/dist/assets/PapersPreview-B0iBi3zz.js b/frontend/dist/assets/PapersPreview-B0iBi3zz.js
new file mode 100644 (file)
index 0000000..2d1eeb0
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,i as B,t as o,F as I,r as P,k as V,l as N,e as d,n as v,x as T,o as p,A as j}from"./index-DkiXflk7.js";import{R as A}from"./RichContent-DzYi85z4.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"page-header"},Q=["disabled"],z={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=N(),w=T(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",E,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,Q)]),a("div",z,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),j(A,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersPreview-BPahPm51.js b/frontend/dist/assets/PapersPreview-BPahPm51.js
new file mode 100644 (file)
index 0000000..d3c4f92
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,j as B,t as o,F as I,r as P,l as V,m as j,e as d,p as v,y as N,o as p,C as T}from"./index-PW167vf4.js";import{R as E}from"./RichContent-Dt890otn.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={class:"page-header"},z=["disabled"],A={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=j(),w=N(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",Q,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,z)]),a("div",A,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),T(E,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersPreview-C1fAILla.js b/frontend/dist/assets/PapersPreview-C1fAILla.js
new file mode 100644 (file)
index 0000000..7e323a6
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,i as B,t as o,F as I,r as P,k as V,l as N,e as d,n as v,s as T,o as p,y as j}from"./index-DOeeTpNX.js";import{R as E}from"./RichContent-rGkUG2Zf.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={class:"page-header"},z=["disabled"],A={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=N(),w=T(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",Q,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,z)]),a("div",A,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),j(E,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersPreview-SChxY8nQ.js b/frontend/dist/assets/PapersPreview-SChxY8nQ.js
new file mode 100644 (file)
index 0000000..e5f7d3d
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,i as B,t as o,F as I,r as P,k as V,l as N,e as d,n as v,s as T,o as p,y as j}from"./index-DibvQ1e4.js";import{R as E}from"./RichContent-Bto3YWrJ.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={class:"page-header"},z=["disabled"],A={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=N(),w=T(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",Q,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,z)]),a("div",A,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),j(E,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersPreview-eG23FHGP.js b/frontend/dist/assets/PapersPreview-eG23FHGP.js
new file mode 100644 (file)
index 0000000..f82d65e
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,i as B,t as o,F as I,r as P,k as V,l as N,e as d,n as v,x as T,o as p,A as j}from"./index-BOMJE6pT.js";import{R as A}from"./RichContent-Cq46Yax7.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"page-header"},Q=["disabled"],z={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=N(),w=T(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",E,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,Q)]),a("div",z,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),j(A,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersPreview-gYTo304q.js b/frontend/dist/assets/PapersPreview-gYTo304q.js
new file mode 100644 (file)
index 0000000..65a0452
--- /dev/null
@@ -0,0 +1,5 @@
+import{b as D,f as r,c as u,a,w as R,i as B,t as o,F as I,r as P,k as V,l as N,e as d,n as v,s as T,o as p,y as j}from"./index-BrIQ4kjW.js";import{R as E}from"./RichContent-B7hRqciS.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={class:"page-header"},z=["disabled"],A={class:"content-area",style:{"padding-top":"12px"}},F={class:"card",style:{display:"flex","align-items":"center",gap:"8px"}},L={class:"card"},M={style:{"font-weight":"bold","margin-bottom":"8px"}},G={style:{"font-size":"12px",color:"#555","margin-bottom":"4px"}},J={key:0,style:{color:"#999"}},O={class:"log-box",style:{height:"120px"}},U={style:{display:"flex","justify-content":"flex-end",gap:"12px",margin:"12px 0 30px"}},H=["disabled"],Z={__name:"PapersPreview",setup(K){const _=N(),w=T(),i=d(null),n=d([]),l=d(""),c=d(""),y=d(!1),m=d([]);function f(){return new Date().toTimeString().slice(0,8)}function h(){w.push("/questions?from_paper_creation=1")}async function b(){if(!n.value.length){m.value=[];return}const t=await r("/questions/search",{filters:{},mode:"preview",id_input:n.value.join(" ")}),e={};for(const s of t.rows)e[s.id]=s;m.value=n.value.map(s=>e[s]).filter(Boolean)}async function g(){if(!n.value.length){c.value+=`[${f()}] 未选择题目,无法预览。
+`;return}try{const t=await r("/papers/preview-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});c.value+=`[${f()}] 预览已生成:${t.path}
+`}catch(t){c.value+=`[${f()}] 生成预览失败: ${t.message}
+`}}async function x(){if(!n.value.length){v("未选择题目,无法生成复习卷。");return}try{const t=await r("/papers/review-docx",{selected_ids:n.value,title:l.value,paper_id:i.value});y.value=!0,c.value+=`[${f()}] 复习卷已生成:${t.path}
+`}catch(t){v("生成复习卷失败:"+t.message)}}function k(){const t="/StudyBase/api/papers/temp-file?name=preview",e=document.createElement("a");e.href=t,e.download="temp_preview.docx",document.body.appendChild(e),e.click(),e.remove()}function C(){const t="/StudyBase/api/papers/temp-file?name=review",e=document.createElement("a");e.href=t,e.download="temp_review_preview.docx",document.body.appendChild(e),e.click(),e.remove()}async function $(){if(!n.value.length){v("未选择题目,无法生成试卷。");return}if(i.value===null)try{const t=await r("/papers/save",{selected_ids:n.value,title:l.value});i.value=t.paper_id,v(`试卷已成功保存!ID: ${t.paper_id}`),await g()}catch(t){v("保存失败:"+t.message)}}return D(async()=>{if(_.query.paper_id){i.value=parseInt(_.query.paper_id);const t=await r("/papers/preview-info",{paper_id:i.value});l.value=t.title,n.value=t.selected_ids}else{try{n.value=JSON.parse(sessionStorage.getItem("sb_selected_ids")||"[]")}catch{n.value=[]}const t=await r("/papers/preview-info",{selected_ids:n.value});l.value=t.title}await b(),await g()}),(t,e)=>(p(),u("div",null,[a("div",Q,[e[2]||(e[2]=a("span",{class:"title"},"试卷预览",-1)),i.value!==null?(p(),u("button",{key:0,class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=s=>t.$router.push("/papers"))},"返回试卷列表")):(p(),u("button",{key:1,class:"btn",style:{"margin-left":"16px"},onClick:h},"返回选题列表")),a("button",{class:"btn",onClick:k},"打开文档"),a("button",{class:"btn green",style:{"font-weight":"bold"},disabled:i.value!==null,onClick:$},"💾 确认生成试卷",8,z)]),a("div",A,[a("div",F,[e[3]||(e[3]=a("label",{style:{"font-weight":"bold"}},"试卷标题:",-1)),R(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"420px"}},null,512),[[B,l.value]]),e[4]||(e[4]=a("span",{style:{color:"gray","font-size":"12px"}},"(可手动修改标题)",-1))]),a("div",L,[a("div",M,"试卷内容预览(共 "+o(n.value.length)+" 道题)",1),(p(!0),u(I,null,P(m.value,(s,S)=>(p(),u("div",{key:s.id,style:{"border-bottom":"1px solid #eee",padding:"10px 0"}},[a("div",G,o(S+1)+". ID:"+o(s.id)+" | "+o(s.question_type||"题目")+" | "+o(s.Subject)+" | "+o(s.source_description)+" | 组卷次数:"+o(s.paper_count)+" | 正确次数:"+o(s.right_times)+" | 错误次数:"+o(s.wrong_times)+" | 部分正确次数:"+o(s.half_right_times),1),j(E,{content:s.content,"max-width":800},null,8,["content"])]))),128)),m.value.length?V("",!0):(p(),u("div",J,"未选择题目,无法预览。"))]),a("div",O,o(c.value),1),a("div",U,[a("button",{class:"btn",disabled:!y.value,onClick:C},"打开复习卷",8,H),a("button",{class:"btn green",style:{"font-weight":"bold"},onClick:x},"生成复习卷")])])]))}};export{Z as default};
diff --git a/frontend/dist/assets/PapersResult-BCK-wuV4.js b/frontend/dist/assets/PapersResult-BCK-wuV4.js
new file mode 100644 (file)
index 0000000..15f418f
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,m as C,d as $,e as c,f as g,p as _,q as P,y as j,o,t as r,w as i,k as d,h as p,j as B,l as D}from"./index-PW167vf4.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ae={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(a){return a===1?"正确":a===0?"未判定/未选择":a===2?"部分错误":a===3?"错误":""}async function V(){const a=await $(`/papers/${y}/result`);v.value=a.causes,f.value=a.has_pending,m.value=a.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(a){_("归档失败:"+a.message)}}return R(V),(a,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,n=>(o(),l("label",{key:n,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:n},null,8,F),[[d,e._error]]),p(" "+r(n),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":n=>e._result=n,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":n=>e._result=n,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":n=>e._result=n,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":n=>e._result=n,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":n=>e._partial=n,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>a.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ae as default};
diff --git a/frontend/dist/assets/PapersResult-BFAnzswa.js b/frontend/dist/assets/PapersResult-BFAnzswa.js
new file mode 100644 (file)
index 0000000..a4df00f
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,l as C,d as $,e as c,f as g,n as _,p as P,x as j,o,t as r,w as i,j as d,h as p,i as B,k as D}from"./index-BOMJE6pT.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ne={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(n){return n===1?"正确":n===0?"未判定/未选择":n===2?"部分错误":n===3?"错误":""}async function V(){const n=await $(`/papers/${y}/result`);v.value=n.causes,f.value=n.has_pending,m.value=n.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(n){_("归档失败:"+n.message)}}return R(V),(n,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,a=>(o(),l("label",{key:a,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:a},null,8,F),[[d,e._error]]),p(" "+r(a),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":a=>e._partial=a,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>n.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ne as default};
diff --git a/frontend/dist/assets/PapersResult-CQuYTyEd.js b/frontend/dist/assets/PapersResult-CQuYTyEd.js
new file mode 100644 (file)
index 0000000..3e57831
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,l as C,d as $,e as c,f as g,n as _,p as P,x as j,o,t as r,w as i,j as d,h as p,i as B,k as D}from"./index-DkiXflk7.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ne={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(n){return n===1?"正确":n===0?"未判定/未选择":n===2?"部分错误":n===3?"错误":""}async function V(){const n=await $(`/papers/${y}/result`);v.value=n.causes,f.value=n.has_pending,m.value=n.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(n){_("归档失败:"+n.message)}}return R(V),(n,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,a=>(o(),l("label",{key:a,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:a},null,8,F),[[d,e._error]]),p(" "+r(a),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":a=>e._partial=a,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>n.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ne as default};
diff --git a/frontend/dist/assets/PapersResult-CWgDV26I.js b/frontend/dist/assets/PapersResult-CWgDV26I.js
new file mode 100644 (file)
index 0000000..fdffe9f
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,l as C,d as $,e as c,f as g,n as _,p as P,s as j,o,t as r,w as i,j as d,h as p,i as B,k as D}from"./index-BrIQ4kjW.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ne={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(n){return n===1?"正确":n===0?"未判定/未选择":n===2?"部分错误":n===3?"错误":""}async function V(){const n=await $(`/papers/${y}/result`);v.value=n.causes,f.value=n.has_pending,m.value=n.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(n){_("归档失败:"+n.message)}}return R(V),(n,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,a=>(o(),l("label",{key:a,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:a},null,8,F),[[d,e._error]]),p(" "+r(a),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":a=>e._partial=a,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>n.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ne as default};
diff --git a/frontend/dist/assets/PapersResult-DnFnwbrT.js b/frontend/dist/assets/PapersResult-DnFnwbrT.js
new file mode 100644 (file)
index 0000000..086840c
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,l as C,d as $,e as c,f as g,n as _,p as P,s as j,o,t as r,w as i,j as d,h as p,i as B,k as D}from"./index-DOeeTpNX.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ne={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(n){return n===1?"正确":n===0?"未判定/未选择":n===2?"部分错误":n===3?"错误":""}async function V(){const n=await $(`/papers/${y}/result`);v.value=n.causes,f.value=n.has_pending,m.value=n.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(n){_("归档失败:"+n.message)}}return R(V),(n,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,a=>(o(),l("label",{key:a,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:a},null,8,F),[[d,e._error]]),p(" "+r(a),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":a=>e._partial=a,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>n.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ne as default};
diff --git a/frontend/dist/assets/PapersResult-_qHzB7a6.js b/frontend/dist/assets/PapersResult-_qHzB7a6.js
new file mode 100644 (file)
index 0000000..aa453b3
--- /dev/null
@@ -0,0 +1 @@
+import{b as R,c as l,a as t,F as u,r as b,l as C,d as $,e as c,f as g,n as _,p as P,s as j,o,t as r,w as i,j as d,h as p,i as B,k as D}from"./index-DibvQ1e4.js";const M={class:"content-area",style:{"padding-top":"16px"}},N={style:{"font-weight":"bold",color:"blue","font-size":"13px"}},T={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap",margin:"8px 0"}},F=["name","onUpdate:modelValue","value"],I={style:{display:"flex","align-items":"center",gap:"14px","flex-wrap":"wrap"}},A={style:{"font-size":"13px"}},E=["name","onUpdate:modelValue"],G={style:{"font-size":"13px"}},L=["name","onUpdate:modelValue"],S={style:{"font-size":"13px"}},H=["name","onUpdate:modelValue"],J={style:{"font-size":"13px"}},K=["name","onUpdate:modelValue"],O=["onUpdate:modelValue"],Q={style:{display:"flex","align-items":"center",gap:"8px",margin:"8px 0"}},W={style:{"font-size":"13px"}},X={style:{display:"flex","align-items":"center",gap:"8px"}},Y={style:{"font-size":"13px"}},Z={style:{display:"flex",gap:"12px","justify-content":"center",margin:"20px 0 40px"}},q=["disabled"],ee=["disabled"],ne={__name:"PapersResult",setup(te){const h=C(),x=j(),y=parseInt(h.params.id),m=c([]),v=c([]),f=c(!1);function w(n){return n===1?"正确":n===0?"未判定/未选择":n===2?"部分错误":n===3?"错误":""}async function V(){const n=await $(`/papers/${y}/result`);v.value=n.causes,f.value=n.has_pending,m.value=n.questions.map(s=>({...s,_result:"无",_error:"无",_partial:""}))}async function k(){const s=m.value.filter(e=>e.result_type===0).map(e=>({question_id:e.question_id,result:e._result,error_cause:e._error,partial_desc:e._partial}));try{await g(`/papers/${y}/result/confirm`,{results:s}),_("结果已保存到数据库中!"),x.push("/papers")}catch(e){_("保存失败:"+e.message)}}async function z(){if(P("确定要归档此试卷吗?"))try{await g(`/papers/${y}/archive`),_("试卷已归档!"),x.push("/papers")}catch(n){_("归档失败:"+n.message)}}return R(V),(n,s)=>(o(),l("div",null,[s[9]||(s[9]=t("div",{class:"page-header"},[t("span",{class:"title"},"试卷结果反馈")],-1)),t("div",M,[(o(!0),l(u,null,b(m.value,e=>(o(),l("div",{key:e.question_id,class:"card"},[t("div",N," 试题ID: "+r(e.question_id)+", 科目: "+r(e.subject),1),e.result_type===0?(o(),l(u,{key:0},[t("div",T,[s[1]||(s[1]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),(o(!0),l(u,null,b(v.value,a=>(o(),l("label",{key:a,style:{"font-size":"13px"}},[i(t("input",{type:"radio",name:"err_"+e.question_id,"onUpdate:modelValue":U=>e._error=U,value:a},null,8,F),[[d,e._error]]),p(" "+r(a),1)]))),128))]),t("div",I,[s[6]||(s[6]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("label",A,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"正确"},null,8,E),[[d,e._result]]),s[2]||(s[2]=p(" 正确",-1))]),t("label",G,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"错误"},null,8,L),[[d,e._result]]),s[3]||(s[3]=p(" 错误",-1))]),t("label",S,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"未完成"},null,8,H),[[d,e._result]]),s[4]||(s[4]=p(" 未完成",-1))]),t("label",J,[i(t("input",{type:"radio",name:"res_"+e.question_id,"onUpdate:modelValue":a=>e._result=a,value:"部分错误"},null,8,K),[[d,e._result]]),s[5]||(s[5]=p(" 部分错误",-1))]),e._result==="部分错误"?i((o(),l("input",{key:0,type:"text","onUpdate:modelValue":a=>e._partial=a,placeholder:"错误小题描述",style:{width:"260px"}},null,8,O)),[[B,e._partial]]):D("",!0)])],64)):(o(),l(u,{key:1},[t("div",Q,[s[7]||(s[7]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"错误原因反馈:",-1)),t("span",W,r(e.error_cause_text),1)]),t("div",X,[s[8]||(s[8]=t("span",{style:{"font-weight":"bold","font-size":"13px"}},"试题结果:",-1)),t("span",Y,r(w(e.result_type)),1)])],64))]))),128)),t("div",Z,[t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:k},"确定结果",8,q),t("button",{class:"btn",style:{width:"130px"},disabled:!f.value,onClick:z},"试卷归档",8,ee),t("button",{class:"btn",style:{width:"130px"},onClick:s[0]||(s[0]=e=>n.$router.push("/papers"))},"返回试卷列表")])])]))}};export{ne as default};
diff --git a/frontend/dist/assets/QuestionAdd-BN8O3VX0.js b/frontend/dist/assets/QuestionAdd-BN8O3VX0.js
new file mode 100644 (file)
index 0000000..18e2384
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-PW167vf4.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionAdd-BR6jXQ0j.js b/frontend/dist/assets/QuestionAdd-BR6jXQ0j.js
new file mode 100644 (file)
index 0000000..a7db693
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-BrIQ4kjW.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionAdd-C5kEDZ7W.js b/frontend/dist/assets/QuestionAdd-C5kEDZ7W.js
new file mode 100644 (file)
index 0000000..0920832
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-DOeeTpNX.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionAdd-D0KqaGXB.js b/frontend/dist/assets/QuestionAdd-D0KqaGXB.js
new file mode 100644 (file)
index 0000000..6658b43
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-BOMJE6pT.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionAdd-D4C83SXW.js b/frontend/dist/assets/QuestionAdd-D4C83SXW.js
new file mode 100644 (file)
index 0000000..ecb6834
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-DibvQ1e4.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionAdd-DUl-pEZC.js b/frontend/dist/assets/QuestionAdd-DUl-pEZC.js
new file mode 100644 (file)
index 0000000..3621649
--- /dev/null
@@ -0,0 +1 @@
+import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as t,o as l}from"./index-DkiXflk7.js";const d={},p={class:"nav-bar"},r={style:{padding:"20px"}},a={class:"card",style:{"max-width":"560px"}},u={style:{display:"flex","flex-direction":"column",gap:"14px","margin-top":"24px"}};function x(n,s){return l(),i("div",null,[t("div",p,[t("button",{class:"btn",onClick:s[0]||(s[0]=e=>n.$router.push("/questions"))},"< 返回"),s[3]||(s[3]=t("span",{class:"nav-title"},"新增题目",-1))]),t("div",r,[t("div",a,[s[4]||(s[4]=t("div",{style:{display:"flex","align-items":"center",gap:"10px",margin:"10px 0"}},[t("label",null,"题目内容:"),t("input",{type:"text",style:{flex:"1"}})],-1)),t("div",u,[t("button",{class:"btn",style:{background:"#E1E1E1",padding:"8px",width:"180px"},onClick:s[1]||(s[1]=e=>n.$router.push("/questions/import"))},"文件导入"),t("button",{class:"btn",style:{padding:"8px",width:"180px"},onClick:s[2]||(s[2]=e=>n.$router.push("/questions"))},"取消返回")])])])])}const v=o(d,[["render",x]]);export{v as default};
diff --git a/frontend/dist/assets/QuestionDetail-C8ZhQ6VQ.js b/frontend/dist/assets/QuestionDetail-C8ZhQ6VQ.js
new file mode 100644 (file)
index 0000000..a946de9
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as u,a as e,t as C,u as Q,w as i,v as E,F as j,r as L,i as y,y as I,k as O,l as W,d as Y,e as a,n as b,p as z,C as H,o as d}from"./index-BrIQ4kjW.js";import{R as U}from"./RichContent-B7hRqciS.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=W(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await Y(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){z("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function G(){try{await H(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function M(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function h(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const q=l.getAsFile();try{const $=await R(q),N=t==="stem"?_.value:k.value;S(N,`[[IMG:${$}]]`)}catch($){b($.message)}return}}}return A(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+C(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(j,null,L(V.value,s=>(d(),u("option",{key:s,value:s},C(s),9,nt))),128))],8,st),[[E,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[E,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[E,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(j,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>M(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>h(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>M(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>h(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(j,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):O("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?G():T())},C(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},Ct=J(xt,[["__scopeId","data-v-88827f0e"]]);export{Ct as default};
diff --git a/frontend/dist/assets/QuestionDetail-CtnPZLa4.js b/frontend/dist/assets/QuestionDetail-CtnPZLa4.js
new file mode 100644 (file)
index 0000000..0c4df4d
--- /dev/null
@@ -0,0 +1 @@
+import{b as N,c as u,a as e,t as $,u as Q,w as i,v as j,F as C,r as L,i as y,A as I,k as O,l as W,d as Y,e as a,n as b,p as z,E as H,o as d}from"./index-BOMJE6pT.js";import{R as U}from"./RichContent-Cq46Yax7.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=W(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await Y(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){z("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function A(){try{await H(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function M(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function h(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const q=l.getAsFile();try{const E=await R(q),G=t==="stem"?_.value:k.value;S(G,`[[IMG:${E}]]`)}catch(E){b(E.message)}return}}}return N(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+$(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(C,null,L(V.value,s=>(d(),u("option",{key:s,value:s},$(s),9,nt))),128))],8,st),[[j,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[j,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[j,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(C,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>M(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>h(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>M(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>h(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(C,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):O("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?A():T())},$(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},$t=J(xt,[["__scopeId","data-v-88827f0e"]]);export{$t as default};
diff --git a/frontend/dist/assets/QuestionDetail-D-lWwUJ0.js b/frontend/dist/assets/QuestionDetail-D-lWwUJ0.js
new file mode 100644 (file)
index 0000000..fdddee5
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as u,a as e,t as C,u as Q,w as i,v as E,F as j,r as L,i as y,y as I,k as O,l as W,d as Y,e as a,n as b,p as z,C as H,o as d}from"./index-DOeeTpNX.js";import{R as U}from"./RichContent-rGkUG2Zf.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=W(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await Y(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){z("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function G(){try{await H(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function M(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function h(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const q=l.getAsFile();try{const $=await R(q),N=t==="stem"?_.value:k.value;S(N,`[[IMG:${$}]]`)}catch($){b($.message)}return}}}return A(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+C(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(j,null,L(V.value,s=>(d(),u("option",{key:s,value:s},C(s),9,nt))),128))],8,st),[[E,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[E,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[E,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(j,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>M(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>h(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>M(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>h(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(j,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):O("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?G():T())},C(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},Ct=J(xt,[["__scopeId","data-v-88827f0e"]]);export{Ct as default};
diff --git a/frontend/dist/assets/QuestionDetail-Dlh9T_-X.js b/frontend/dist/assets/QuestionDetail-Dlh9T_-X.js
new file mode 100644 (file)
index 0000000..e468794
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as u,a as e,t as C,u as Q,w as i,v as E,F as j,r as L,i as y,y as I,k as O,l as W,d as Y,e as a,n as b,p as z,C as H,o as d}from"./index-DibvQ1e4.js";import{R as U}from"./RichContent-Bto3YWrJ.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=W(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await Y(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){z("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function G(){try{await H(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function M(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function h(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const q=l.getAsFile();try{const $=await R(q),N=t==="stem"?_.value:k.value;S(N,`[[IMG:${$}]]`)}catch($){b($.message)}return}}}return A(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+C(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(j,null,L(V.value,s=>(d(),u("option",{key:s,value:s},C(s),9,nt))),128))],8,st),[[E,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[E,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[E,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(j,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>M(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>h(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>M(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>h(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(j,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):O("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?G():T())},C(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},Ct=J(xt,[["__scopeId","data-v-88827f0e"]]);export{Ct as default};
diff --git a/frontend/dist/assets/QuestionDetail-Q0IGvDsj.js b/frontend/dist/assets/QuestionDetail-Q0IGvDsj.js
new file mode 100644 (file)
index 0000000..ac65dcb
--- /dev/null
@@ -0,0 +1 @@
+import{b as A,c as u,a as e,t as j,u as Q,w as i,v as C,F as E,r as H,j as y,C as I,l as L,m as O,d as W,e as a,p as b,q as Y,H as z,o as d}from"./index-PW167vf4.js";import{R as U}from"./RichContent-Dt890otn.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=O(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await W(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){Y("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function G(){try{await z(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function q(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function M(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const h=l.getAsFile();try{const $=await R(h),N=t==="stem"?_.value:k.value;S(N,`[[IMG:${$}]]`)}catch($){b($.message)}return}}}return A(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+j(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(E,null,H(V.value,s=>(d(),u("option",{key:s,value:s},j(s),9,nt))),128))],8,st),[[C,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[C,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[C,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(E,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>q(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>M(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>q(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>M(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(E,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):L("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?G():T())},j(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},jt=J(xt,[["__scopeId","data-v-88827f0e"]]);export{jt as default};
diff --git a/frontend/dist/assets/QuestionDetail-V17aZHia.js b/frontend/dist/assets/QuestionDetail-V17aZHia.js
new file mode 100644 (file)
index 0000000..2f71853
--- /dev/null
@@ -0,0 +1 @@
+import{b as N,c as u,a as e,t as $,u as Q,w as i,v as j,F as C,r as L,i as y,A as I,k as O,l as W,d as Y,e as a,n as b,p as z,E as H,o as d}from"./index-DkiXflk7.js";import{R as U}from"./RichContent-DzYi85z4.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-header"},X={class:"title"},Z={class:"content-area",style:{"padding-top":"14px","max-width":"980px"}},tt={class:"card"},et={class:"form-row"},st=["disabled"],nt=["value"],lt={class:"form-row"},ot=["disabled"],at={class:"form-row"},it=["disabled"],ut={class:"form-row"},dt=["disabled"],rt={class:"form-row"},vt=["disabled"],pt=["disabled"],mt={class:"card"},ct={class:"card"},ft={class:"card"},yt={style:{"margin-bottom":"6px"}},bt={class:"card"},gt={style:{"margin-bottom":"6px"}},wt={style:{display:"flex","justify-content":"flex-end",gap:"10px",margin:"14px 0 30px"}},xt={__name:"QuestionDetail",setup(_t){const F=W(),g=parseInt(F.params.id),w=a({}),V=a([]),v=a(""),p=a("客观题"),m=a("错题"),x=a(""),r=a(""),c=a(""),f=a(""),o=a(!1),_=a(null),k=a(null);async function D(){const n=await Y(`/questions/${g}`);w.value=n,V.value=n.subject_options||[],v.value=n.Subject||"",p.value=n.is_subjective===1?"主观题":"客观题",m.value=n.question_type||"错题",x.value=n.knowledge_points_desc||"",r.value=n.answer_time||"",c.value=n.content||"",f.value=n.analysis||""}function T(){o.value=!0}async function P(){z("确定取消编辑吗?")&&(await D(),o.value=!1)}function B(){const n=new Date,t=s=>String(s).padStart(2,"0");r.value=`${n.getFullYear()}-${t(n.getMonth()+1)}-${t(n.getDate())}`}async function A(){try{await H(`/questions/${g}`,{subject:v.value,question_type:m.value,answer_time:r.value,is_subjective:p.value==="主观题",content_raw:c.value.trim(),analysis_raw:f.value.trim()}),b("已更新!"),await D(),o.value=!1}catch(n){b("错误:"+n.message)}}async function R(n){const t=new FormData;t.append("file",n,n.name||"pasted.png");const s=await fetch("/StudyBase/api/import/upload-image",{method:"POST",body:t});if(!s.ok){let l="上传失败";try{l=(await s.json()).detail||l}catch{}throw new Error(l)}return(await s.json()).path}function S(n,t){if(n&&n.selectionStart!=null){const s=n.selectionStart,l=n.value;n.value=l.slice(0,s)+t+l.slice(n.selectionEnd),n.dispatchEvent(new Event("input"))}else n&&(n.value+=t,n.dispatchEvent(new Event("input")))}function M(n){const t=document.createElement("input");t.type="file",t.accept="image/png,image/jpeg,image/bmp,image/gif",t.onchange=async()=>{const s=t.files[0];if(s)try{const l=await R(s);S(n.value||n,`[[IMG:${l}]]`)}catch(l){b(l.message)}},t.click()}async function h(n,t){const s=n.clipboardData&&n.clipboardData.items;if(s){for(const l of s)if(l.type&&l.type.startsWith("image/")){n.preventDefault();const q=l.getAsFile();try{const E=await R(q),G=t==="stem"?_.value:k.value;S(G,`[[IMG:${E}]]`)}catch(E){b(E.message)}return}}}return N(D),(n,t)=>(d(),u("div",null,[e("div",K,[e("span",X,"修改题目信息 (ID: "+$(Q(g))+")",1)]),e("div",Z,[e("div",tt,[e("div",et,[t[13]||(t[13]=e("label",null,"所属科目:",-1)),i(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>v.value=s),disabled:!o.value},[(d(!0),u(C,null,L(V.value,s=>(d(),u("option",{key:s,value:s},$(s),9,nt))),128))],8,st),[[j,v.value]])]),e("div",lt,[t[15]||(t[15]=e("label",null,"题目分类(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),disabled:!o.value},[...t[14]||(t[14]=[e("option",null,"客观题",-1),e("option",null,"主观题",-1)])],8,ot),[[j,p.value]])]),e("div",at,[t[17]||(t[17]=e("label",null,"题目类型(必选):",-1)),i(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>m.value=s),disabled:!o.value},[...t[16]||(t[16]=[e("option",null,"错题",-1),e("option",null,"推题",-1)])],8,it),[[j,m.value]])]),e("div",ut,[t[18]||(t[18]=e("label",null,"题目知识点(必填):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[3]||(t[3]=s=>x.value=s),style:{width:"420px"},disabled:!o.value},null,8,dt),[[y,x.value]])]),e("div",rt,[t[19]||(t[19]=e("label",null,"答题时间(选填,例:2026-03-16):",-1)),i(e("input",{type:"text","onUpdate:modelValue":t[4]||(t[4]=s=>r.value=s),style:{width:"150px"},disabled:!o.value},null,8,vt),[[y,r.value]]),e("button",{class:"btn small",disabled:!o.value,onClick:B},"填入今天",8,pt)])]),o.value?(d(),u(C,{key:1},[e("div",ft,[t[22]||(t[22]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"题干内容",-1)),e("div",yt,[e("button",{class:"btn small",onClick:t[5]||(t[5]=s=>M(_.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"stemRef",ref:_,"onUpdate:modelValue":t[6]||(t[6]=s=>c.value=s),rows:"8",style:{width:"100%"},onPaste:t[7]||(t[7]=s=>h(s,"stem"))},null,544),[[y,c.value]])]),e("div",bt,[t[23]||(t[23]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"答案解析",-1)),e("div",gt,[e("button",{class:"btn small",onClick:t[8]||(t[8]=s=>M(k.value))},"从本地选择图片")]),i(e("textarea",{ref_key:"analysisRef",ref:k,"onUpdate:modelValue":t[9]||(t[9]=s=>f.value=s),rows:"6",style:{width:"100%"},onPaste:t[10]||(t[10]=s=>h(s,"analysis"))},null,544),[[y,f.value]])])],64)):(d(),u(C,{key:0},[e("div",mt,[t[20]||(t[20]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px"}},"【题干】",-1)),I(U,{content:w.value.content,"max-width":850},null,8,["content"])]),e("div",ct,[t[21]||(t[21]=e("div",{style:{"font-weight":"bold","margin-bottom":"6px",color:"#2E7D32"}},"【答案解析】",-1)),I(U,{content:w.value.analysis,"max-width":850},null,8,["content"])])],64)),e("div",wt,[o.value?(d(),u("button",{key:0,class:"btn",onClick:P},"取消")):O("",!0),e("button",{class:"btn primary",onClick:t[11]||(t[11]=s=>o.value?A():T())},$(o.value?"确定保存":"编辑"),1),e("button",{class:"btn",onClick:t[12]||(t[12]=s=>n.$router.push("/questions"))},"返回列表")])])]))}},$t=J(xt,[["__scopeId","data-v-88827f0e"]]);export{$t as default};
diff --git a/frontend/dist/assets/QuestionList-BMvUZeaY.js b/frontend/dist/assets/QuestionList-BMvUZeaY.js
new file mode 100644 (file)
index 0000000..ba0a005
--- /dev/null
@@ -0,0 +1 @@
+import{b as ie,c as o,a as s,t as n,u as U,F as v,r as x,w as k,i as M,j as N,h as R,k as E,l as oe,m as V,e as p,f as O,n as _,p as A,q as ae,s as ue,o as a,v as re,x as de,g as ce,y as B,z as pe}from"./index-DibvQ1e4.js";import{R as K}from"./RichContent-Bto3YWrJ.js";import{_ as _e}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"page-header"},be={class:"title"},ye={class:"filter-panel"},ve={class:"row"},he=["onUpdate:modelValue"],ke=["value"],me={class:"row"},ge={class:"row",style:{"justify-content":"space-between"}},xe={style:{display:"flex","align-items":"center",gap:"14px"}},we={style:{display:"flex","align-items":"center",gap:"10px"}},Ce={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},qe={class:"content-area"},Ie={key:0,class:"card",style:{padding:"0",overflow:"auto"}},je={class:"data-table"},De=["onClick"],Se=["onClick","onDblclick"],Fe={class:"center"},Ve={class:"center"},Oe={class:"center"},$e={class:"center"},ze={class:"center"},Ue={class:"center"},Me={class:"center"},Ne={class:"center"},Re={class:"center"},Ee={class:"center"},Ae={class:"center"},Be={class:"center"},Ke={key:1},Le={style:{display:"flex"}},Te={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},Pe=["onUpdate:modelValue"],Qe=["onClick"],Je={style:{flex:"1","min-width":"0"}},Ge={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},He={__name:"QuestionList",setup(We){const f=oe(),L=ue(),T=f.query.from_paper_creation==="1"||f.query.from_paper_creation==="true",w=["全部","0","1","2","3","4次及以上"],$=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:w},{key:"right_times",label:"正确次数",type:"fixed",options:w},{key:"wrong_times",label:"错误次数",type:"fixed",options:w},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:w}],P=$,u=V({});for(const e of $)u[e.key]="全部";u.archive_status="未归档";const Q={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function J(e){return e.type==="fixed"?e.options:["全部",...pe[Q[e.key]]||[]]}const C=p(""),q=p(""),d=p("table"),c=p([]),I=p(0),b=V({}),i=V(new Set),j=p(null),D=p(null),S=p(null),m=p("q.id"),h=p(!1),F=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function z(e){return{right:"正确",wrong:"错误",half_right:"部分正确"}[e]||"未完成"}function g(){return d.value==="table"&&typeof window<"u"?[...i]:Object.entries(b).filter(([,e])=>e).map(([e])=>parseInt(e))}function G(e,l){if(l&&(l.ctrlKey||l.metaKey||l.shiftKey))i.has(e)?i.delete(e):i.add(e);else{const t=i.size===1&&i.has(e);i.clear(),t||i.add(e)}}function H(e){const l=F.find(t=>t.key===e);!l||!l.db||(m.value===l.db?h.value=!h.value:(m.value=l.db,h.value=!1),y())}function W(e){const l=F.find(t=>t.key===e);return!l||l.db!==m.value?"":h.value?" ▼":" ▲"}async function y(){const e={filters:{...u},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:d.value,sort_col:m.value,sort_desc:h.value},l=await O("/questions/search",e);c.value=l.rows,I.value=l.count,i.clear();for(const t of Object.keys(b))delete b[t]}function X(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.add(e.id);else for(const e of c.value)b[e.id]=!0}function Y(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.has(e.id)?i.delete(e.id):i.add(e.id);else for(const e of c.value)b[e.id]=!b[e.id]}function Z(){const e=g();if(!e.length){_("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(e)),L.push("/papers/preview")}async function ee(){if(d.value==="table"&&typeof window<"u"){_("表格模式下不支持批量删除,请切换到预览模式通过复选框操作。");return}const e=g();if(!e.length){_("请勾选题目");return}A(`确定删除选中的 ${e.length} 道题吗?`)&&(await O("/questions/delete",{ids:e}),await y())}async function te(){const e=g();if(!e.length){_("请选择要归档的题目");return}A("确定要将选中的题目归档吗?")&&(await O("/questions/bulk-archive",{ids:e}),_(`成功归档 ${e.length} 道题目。`),await y())}async function se(){const e=g();if(!e.length){_("请选择题目");return}try{await navigator.clipboard.writeText(e.join(",")),_("ID已复制到剪贴板")}catch(l){_("复制失败:"+l.message)}}function le(){const e=new Set(g());if(!e.size){_("请先选择要从列表中移除的题目");return}c.value=c.value.filter(l=>!e.has(l.id)),I.value=c.value.length,i.clear();for(const l of e)delete b[l]}async function ne(){if(!c.value.length){_("当前列表没有数据可以导出");return}await ae("/questions/export-excel",{filters:{...u},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:"table",sort_col:m.value,sort_desc:h.value})}return ie(async()=>{f.query.chapter_id&&(j.value=parseInt(f.query.chapter_id)),f.query.kp_id&&(D.value=parseInt(f.query.kp_id)),f.query.right_times&&(S.value=f.query.right_times);const e=f.query;e.subject&&(u.subject=e.subject),e.stage&&(u.stage=e.stage),e.term&&(u.term=e.term),e.status&&(u.status=e.status),e.archive_status&&(u.archive_status=e.archive_status),e.question_nature&&(u.question_nature=e.question_nature),e.paper_count&&(u.paper_count=e.paper_count),await y()}),(e,l)=>(a(),o("div",null,[s("div",fe,[s("span",be,n(U(T)?"选择题目创建试卷":"题目列表管理"),1),s("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>e.$router.push("/"))},"返回主页"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:Z},"➕ 创建试卷"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:l[1]||(l[1]=t=>e.$router.push("/questions/import"))},"➕ 新增题目")]),s("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[s("button",{class:"btn small",onClick:X},"全选"),s("button",{class:"btn small",onClick:Y},"反选"),s("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:ee},"❗️ 从数据库中删除"),s("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:te},"📦 批量归档"),s("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:se},"📋 复制选中题目ID"),s("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:le},"❎ 从列表中移除")]),s("div",ye,[s("div",ve,[(a(!0),o(v,null,x(U(P),t=>(a(),o(v,{key:t.key},[s("label",null,n(t.label)+":",1),k(s("select",{"onUpdate:modelValue":r=>u[t.key]=r},[(a(!0),o(v,null,x(J(t),r=>(a(),o("option",{key:r,value:r},n(r),9,ke))),128))],8,he),[[re,u[t.key]]])],64))),128))]),s("div",me,[l[6]||(l[6]=s("label",null,"ID:",-1)),k(s("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>C.value=t),style:{width:"150px"}},null,512),[[M,C.value]]),l[7]||(l[7]=s("label",{style:{"margin-left":"10px"}},"知识点:",-1)),k(s("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>q.value=t),style:{width:"200px"}},null,512),[[M,q.value]])]),s("div",ge,[s("div",xe,[s("label",null,[k(s("input",{type:"radio",value:"table","onUpdate:modelValue":l[4]||(l[4]=t=>d.value=t),onChange:y},null,544),[[N,d.value]]),l[8]||(l[8]=R(" 表格模式",-1))]),s("label",null,[k(s("input",{type:"radio",value:"preview","onUpdate:modelValue":l[5]||(l[5]=t=>d.value=t),onChange:y},null,544),[[N,d.value]]),l[9]||(l[9]=R(" 预览模式",-1))])]),s("div",we,[s("span",Ce,"共找到 "+n(I.value)+" 道题目",1),s("button",{class:"btn primary",onClick:y},"🔍 开始搜索"),d.value==="table"?(a(),o("button",{key:0,class:"btn orange",onClick:ne},"📥 导出Excel")):E("",!0)])])]),s("div",qe,[d.value==="table"?(a(),o("div",Ie,[s("table",je,[s("thead",null,[s("tr",null,[(a(),o(v,null,x(F,t=>s("th",{key:t.key,onClick:r=>H(t.key)},n(t.label)+n(W(t.key)),9,De)),64))])]),s("tbody",null,[(a(!0),o(v,null,x(c.value,t=>(a(),o("tr",{key:t.id,class:de(["clickable",{selected:i.has(t.id)}]),onClick:r=>G(t.id,r),onDblclick:r=>e.$router.push("/questions/"+t.id)},[s("td",Fe,n(t.Subject),1),s("td",Ve,n(t.id),1),s("td",Oe,n(z(t.latest_status)),1),s("td",$e,n(t.question_type),1),s("td",null,n(t.knowledge_points_desc),1),s("td",ze,n(t.answer_time),1),s("td",Ue,n(t.input_time),1),s("td",Me,n(t.paper_count),1),s("td",Ne,n(t.right_times),1),s("td",Re,n(t.wrong_times),1),s("td",Ee,n(t.half_right_times),1),s("td",Ae,n(t.last_right_time),1),s("td",Be,n(t.paper_ids),1)],42,Se))),128))])])])):(a(),o("div",Ke,[(a(!0),o(v,null,x(c.value,t=>(a(),o("div",{class:"card",key:t.id},[s("div",Le,[s("div",Te,[k(s("input",{type:"checkbox","onUpdate:modelValue":r=>b[t.id]=r},null,8,Pe),[[ce,b[t.id]]]),s("button",{class:"btn small",onClick:r=>e.$router.push("/questions/"+t.id)},"详情",8,Qe)]),s("div",Je,[s("div",Ge," ID: "+n(t.id)+" | 科目: "+n(t.Subject)+" | 状态: "+n(z(t.latest_status))+" | 归档: "+n(t.StatusName||"未归档")+" | 知识点: "+n(t.knowledge_points_desc),1),l[11]||(l[11]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),B(K,{content:t.content,"max-width":800},null,8,["content"]),t.analysis?(a(),o(v,{key:0},[l[10]||(l[10]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),B(K,{content:t.analysis,"max-width":800},null,8,["content"])],64)):E("",!0)])])]))),128))]))])]))}},lt=_e(He,[["__scopeId","data-v-e8217be5"]]);export{lt as default};
diff --git a/frontend/dist/assets/QuestionList-BWKnkbQ3.css b/frontend/dist/assets/QuestionList-BWKnkbQ3.css
new file mode 100644 (file)
index 0000000..5b66b4f
--- /dev/null
@@ -0,0 +1 @@
+.center[data-v-3e194854]{text-align:center}
diff --git a/frontend/dist/assets/QuestionList-Bs9oEJQF.js b/frontend/dist/assets/QuestionList-Bs9oEJQF.js
new file mode 100644 (file)
index 0000000..9e4e74d
--- /dev/null
@@ -0,0 +1,4 @@
+import{b as be,d as ye,c as u,a as t,t as l,u as A,F as h,r as w,w as k,i as P,j as R,h as E,k as L,l as ve,m as O,e as f,f as z,n as p,p as T,q as he,s as me,x as ke,o as c,v as ge,y as xe,z as we,g as Ce,A as Q,B as qe}from"./index-BOMJE6pT.js";import{R as G}from"./RichContent-Cq46Yax7.js";import{_ as je}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Se={class:"page-header"},Ie={class:"title"},$e={class:"filter-panel"},De={class:"row"},Fe=["onUpdate:modelValue"],Ve=["value"],Oe={class:"row"},ze={class:"row",style:{"justify-content":"space-between"}},Ne={style:{display:"flex","align-items":"center",gap:"14px"}},Ue={style:{display:"flex","align-items":"center",gap:"10px"}},Be={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},Me={class:"content-area"},Ae={key:0,class:"card",style:{padding:"0",overflow:"auto"}},Pe={class:"data-table"},Re={style:{width:"36px"}},Ee=["checked"],Le=["onClick"],Te=["onDblclick"],Qe=["checked","onChange"],Ge={class:"center"},Je={class:"center"},Ke={class:"center"},He={class:"center"},We={class:"center"},Xe={class:"center"},Ye={class:"center"},Ze={class:"center"},et={class:"center"},tt={class:"center"},st={class:"center"},nt={class:"center"},lt={key:1},ot={style:{display:"flex"}},it={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},at=["onUpdate:modelValue"],rt=["onClick"],dt={style:{flex:"1","min-width":"0"}},ut={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},ct={__name:"QuestionList",setup(pt){const b=ve(),J=ke(),K=b.query.from_paper_creation==="1"||b.query.from_paper_creation==="true",C=["全部","0","1","2","3","4次及以上"],N=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:C},{key:"right_times",label:"正确次数",type:"fixed",options:C},{key:"wrong_times",label:"错误次数",type:"fixed",options:C},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:C}],H=N,a=O({});for(const e of N)a[e.key]="全部";a.archive_status="未归档";const W={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function X(e){return e.type==="fixed"?e.options:["全部",...qe[W[e.key]]||[]]}const q=f(""),j=f(""),_=f("table"),i=f([]),I=f(0),y=O({}),r=O(new Set),$=f(null),D=f(null),F=f(null),g=f("q.id"),m=f(!1),V=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function U(e){return{right:"正确",wrong:"错误",half_right:"部分正确"}[e]||"未完成"}function x(){return _.value==="table"&&typeof window<"u"?[...r]:Object.entries(y).filter(([,e])=>e).map(([e])=>parseInt(e))}function Y(e,n){n.target.checked?r.add(e):r.delete(e)}const Z=me(()=>i.value.length>0&&i.value.every(e=>r.has(e.id)));function ee(e){if(e.target.checked)for(const n of i.value)r.add(n.id);else r.clear()}function te(e){const n=V.find(s=>s.key===e);!n||!n.db||(g.value===n.db?m.value=!m.value:(g.value=n.db,m.value=!1),v())}function se(e){const n=V.find(s=>s.key===e);return!n||n.db!==g.value?"":m.value?" ▼":" ▲"}async function v(){const e={filters:{...a},id_input:q.value,kp_input:j.value,chapter_id_filter:$.value,kp_id_filter:D.value,right_times_filter:F.value,mode:_.value,sort_col:g.value,sort_desc:m.value},n=await z("/questions/search",e);i.value=n.rows,I.value=n.count,r.clear();for(const s of Object.keys(y))delete y[s]}function ne(){if(_.value==="table"&&typeof window<"u")for(const e of i.value)r.add(e.id);else for(const e of i.value)y[e.id]=!0}function le(){if(_.value==="table"&&typeof window<"u")for(const e of i.value)r.has(e.id)?r.delete(e.id):r.add(e.id);else for(const e of i.value)y[e.id]=!y[e.id]}function oe(){const e=x();if(!e.length){p("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(e)),J.push("/papers/preview")}async function ie(){const e=x();if(!e.length){p("请勾选题目");return}const n=i.value.filter(o=>e.includes(o.id)),s=[...new Set(n.map(o=>o.Subject).filter(Boolean))],d=[...new Set(n.map(o=>o.stage_name).filter(Boolean))],B=new Set;for(const o of n){const S=(o.knowledge_points_desc||"").trim();if(S)for(const fe of S.split("、")){const M=fe.trim();M&&B.add(M)}}const ce=n.reduce((o,S)=>o+(Number(S.paper_count)||0),0),pe=n.filter(o=>(Number(o.paper_count)||0)>0).length,_e=[`即将从数据库删除 ${e.length} 道题目,删除后不可恢复:`,`科目:${s.join("、")||"未指定"}`,`阶段:${d.join("、")||"未指定"}`,`涉及知识点:${B.size} 个`,`组卷次数:共 ${ce} 次(其中 ${pe} 道已加入试卷)`].join(`
+`);if(T(_e+`
+
+确定删除吗?`))try{const o=await z("/questions/delete",{ids:e});p(`已成功删除 ${o.deleted!=null?o.deleted:e.length} 道题目。`),await v()}catch(o){p("删除失败:"+o.message)}}async function ae(){const e=x();if(!e.length){p("请选择要归档的题目");return}T("确定要将选中的题目归档吗?")&&(await z("/questions/bulk-archive",{ids:e}),p(`成功归档 ${e.length} 道题目。`),await v())}async function re(){const e=x();if(!e.length){p("请选择题目");return}try{await navigator.clipboard.writeText(e.join(",")),p("ID已复制到剪贴板")}catch(n){p("复制失败:"+n.message)}}function de(){const e=new Set(x());if(!e.size){p("请先选择要从列表中移除的题目");return}i.value=i.value.filter(n=>!e.has(n.id)),I.value=i.value.length,r.clear();for(const n of e)delete y[n]}async function ue(){if(!i.value.length){p("当前列表没有数据可以导出");return}await he("/questions/export-excel",{filters:{...a},id_input:q.value,kp_input:j.value,chapter_id_filter:$.value,kp_id_filter:D.value,right_times_filter:F.value,mode:"table",sort_col:g.value,sort_desc:m.value})}return be(async()=>{b.query.chapter_id&&($.value=parseInt(b.query.chapter_id)),b.query.kp_id&&(D.value=parseInt(b.query.kp_id)),b.query.right_times&&(F.value=b.query.right_times);try{const n=await ye("/settings/default-params");n&&n.term&&n.term.default&&(a.term=n.term.default)}catch{}const e=b.query;e.subject&&(a.subject=e.subject),e.stage&&(a.stage=e.stage),e.term&&(a.term=e.term),e.status&&(a.status=e.status),e.archive_status&&(a.archive_status=e.archive_status),e.question_nature&&(a.question_nature=e.question_nature),e.paper_count&&(a.paper_count=e.paper_count),await v()}),(e,n)=>(c(),u("div",null,[t("div",Se,[t("span",Ie,l(A(K)?"选择题目创建试卷":"题目列表管理"),1),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:n[0]||(n[0]=s=>e.$router.push("/"))},"返回主页"),t("button",{class:"btn green",style:{"margin-left":"10px"},onClick:oe},"➕ 创建试卷"),t("button",{class:"btn green",style:{"margin-left":"10px"},onClick:n[1]||(n[1]=s=>e.$router.push("/questions/import"))},"➕ 新增题目")]),t("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[t("button",{class:"btn small",onClick:ne},"全选"),t("button",{class:"btn small",onClick:le},"反选"),t("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:ie},"❗️ 从数据库中删除"),t("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:ae},"📦 批量归档"),t("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:re},"📋 复制选中题目ID"),t("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:de},"❎ 从列表中移除")]),t("div",$e,[t("div",De,[(c(!0),u(h,null,w(A(H),s=>(c(),u(h,{key:s.key},[t("label",null,l(s.label)+":",1),k(t("select",{"onUpdate:modelValue":d=>a[s.key]=d},[(c(!0),u(h,null,w(X(s),d=>(c(),u("option",{key:d,value:d},l(d),9,Ve))),128))],8,Fe),[[ge,a[s.key]]])],64))),128))]),t("div",Oe,[n[7]||(n[7]=t("label",null,"ID:",-1)),k(t("input",{type:"text","onUpdate:modelValue":n[2]||(n[2]=s=>q.value=s),style:{width:"150px"}},null,512),[[P,q.value]]),n[8]||(n[8]=t("label",{style:{"margin-left":"10px"}},"知识点:",-1)),k(t("input",{type:"text","onUpdate:modelValue":n[3]||(n[3]=s=>j.value=s),style:{width:"200px"}},null,512),[[P,j.value]])]),t("div",ze,[t("div",Ne,[t("label",null,[k(t("input",{type:"radio",value:"table","onUpdate:modelValue":n[4]||(n[4]=s=>_.value=s),onChange:v},null,544),[[R,_.value]]),n[9]||(n[9]=E(" 表格模式",-1))]),t("label",null,[k(t("input",{type:"radio",value:"preview","onUpdate:modelValue":n[5]||(n[5]=s=>_.value=s),onChange:v},null,544),[[R,_.value]]),n[10]||(n[10]=E(" 预览模式",-1))])]),t("div",Ue,[t("span",Be,"共找到 "+l(I.value)+" 道题目",1),t("button",{class:"btn primary",onClick:v},"🔍 开始搜索"),_.value==="table"?(c(),u("button",{key:0,class:"btn orange",onClick:ue},"📥 导出Excel")):L("",!0)])])]),t("div",Me,[_.value==="table"?(c(),u("div",Ae,[t("table",Pe,[t("thead",null,[t("tr",null,[t("th",Re,[t("input",{type:"checkbox",checked:Z.value,onChange:ee,title:"全选"},null,40,Ee)]),(c(),u(h,null,w(V,s=>t("th",{key:s.key,onClick:d=>te(s.key)},l(s.label)+l(se(s.key)),9,Le)),64))])]),t("tbody",null,[(c(!0),u(h,null,w(i.value,s=>(c(),u("tr",{key:s.id,class:xe(["clickable",{selected:r.has(s.id)}]),onDblclick:d=>e.$router.push("/questions/"+s.id)},[t("td",{class:"center",onClick:n[6]||(n[6]=we(()=>{},["stop"]))},[t("input",{type:"checkbox",checked:r.has(s.id),onChange:d=>Y(s.id,d)},null,40,Qe)]),t("td",Ge,l(s.Subject),1),t("td",Je,l(s.id),1),t("td",Ke,l(U(s.latest_status)),1),t("td",He,l(s.question_type),1),t("td",null,l(s.knowledge_points_desc),1),t("td",We,l(s.answer_time),1),t("td",Xe,l(s.input_time),1),t("td",Ye,l(s.paper_count),1),t("td",Ze,l(s.right_times),1),t("td",et,l(s.wrong_times),1),t("td",tt,l(s.half_right_times),1),t("td",st,l(s.last_right_time),1),t("td",nt,l(s.paper_ids),1)],42,Te))),128))])])])):(c(),u("div",lt,[(c(!0),u(h,null,w(i.value,s=>(c(),u("div",{class:"card",key:s.id},[t("div",ot,[t("div",it,[k(t("input",{type:"checkbox","onUpdate:modelValue":d=>y[s.id]=d},null,8,at),[[Ce,y[s.id]]]),t("button",{class:"btn small",onClick:d=>e.$router.push("/questions/"+s.id)},"详情",8,rt)]),t("div",dt,[t("div",ut," ID: "+l(s.id)+" | 科目: "+l(s.Subject)+" | 状态: "+l(U(s.latest_status))+" | 归档: "+l(s.StatusName||"未归档")+" | 知识点: "+l(s.knowledge_points_desc),1),n[12]||(n[12]=t("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),Q(G,{content:s.content,"max-width":800},null,8,["content"]),s.analysis?(c(),u(h,{key:0},[n[11]||(n[11]=t("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),Q(G,{content:s.analysis,"max-width":800},null,8,["content"])],64)):L("",!0)])])]))),128))]))])]))}},mt=je(ct,[["__scopeId","data-v-6d2454e9"]]);export{mt as default};
diff --git a/frontend/dist/assets/QuestionList-Bsgm7r51.css b/frontend/dist/assets/QuestionList-Bsgm7r51.css
new file mode 100644 (file)
index 0000000..fc873b3
--- /dev/null
@@ -0,0 +1 @@
+.center[data-v-fe13e58c]{text-align:center}
diff --git a/frontend/dist/assets/QuestionList-CA8Qsvpt.css b/frontend/dist/assets/QuestionList-CA8Qsvpt.css
new file mode 100644 (file)
index 0000000..e109884
--- /dev/null
@@ -0,0 +1 @@
+.center[data-v-6d2454e9]{text-align:center}
diff --git a/frontend/dist/assets/QuestionList-CHB_8bx9.css b/frontend/dist/assets/QuestionList-CHB_8bx9.css
new file mode 100644 (file)
index 0000000..55f2cc8
--- /dev/null
@@ -0,0 +1 @@
+.center[data-v-f4283dde]{text-align:center}
diff --git a/frontend/dist/assets/QuestionList-CL1vCa2l.js b/frontend/dist/assets/QuestionList-CL1vCa2l.js
new file mode 100644 (file)
index 0000000..33c01c7
--- /dev/null
@@ -0,0 +1 @@
+import{b as ie,c as o,a as s,t as n,u as U,F as v,r as x,w as k,i as M,j as N,h as R,k as E,l as oe,m as V,e as p,f as O,n as _,p as A,q as ae,s as ue,o as a,v as re,x as de,g as ce,y as B,z as pe}from"./index-DOeeTpNX.js";import{R as K}from"./RichContent-rGkUG2Zf.js";import{_ as _e}from"./_plugin-vue_export-helper-DlAUqK2U.js";const fe={class:"page-header"},be={class:"title"},ye={class:"filter-panel"},ve={class:"row"},he=["onUpdate:modelValue"],ke=["value"],me={class:"row"},ge={class:"row",style:{"justify-content":"space-between"}},xe={style:{display:"flex","align-items":"center",gap:"14px"}},we={style:{display:"flex","align-items":"center",gap:"10px"}},Ce={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},qe={class:"content-area"},Ie={key:0,class:"card",style:{padding:"0",overflow:"auto"}},je={class:"data-table"},De=["onClick"],Se=["onClick","onDblclick"],Fe={class:"center"},Ve={class:"center"},Oe={class:"center"},$e={class:"center"},ze={class:"center"},Ue={class:"center"},Me={class:"center"},Ne={class:"center"},Re={class:"center"},Ee={class:"center"},Ae={class:"center"},Be={class:"center"},Ke={key:1},Le={style:{display:"flex"}},Te={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},Pe=["onUpdate:modelValue"],Qe=["onClick"],Je={style:{flex:"1","min-width":"0"}},Ge={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},He={__name:"QuestionList",setup(We){const f=oe(),L=ue(),T=f.query.from_paper_creation==="1"||f.query.from_paper_creation==="true",w=["全部","0","1","2","3","4次及以上"],$=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:w},{key:"right_times",label:"正确次数",type:"fixed",options:w},{key:"wrong_times",label:"错误次数",type:"fixed",options:w},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:w}],P=$,u=V({});for(const e of $)u[e.key]="全部";u.archive_status="未归档";const Q={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function J(e){return e.type==="fixed"?e.options:["全部",...pe[Q[e.key]]||[]]}const C=p(""),q=p(""),d=p("table"),c=p([]),I=p(0),b=V({}),i=V(new Set),j=p(null),D=p(null),S=p(null),m=p("q.id"),h=p(!1),F=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function z(e){return{right:"正确",wrong:"错误",half_right:"部分正确"}[e]||"未完成"}function g(){return d.value==="table"&&typeof window<"u"?[...i]:Object.entries(b).filter(([,e])=>e).map(([e])=>parseInt(e))}function G(e,l){if(l&&(l.ctrlKey||l.metaKey||l.shiftKey))i.has(e)?i.delete(e):i.add(e);else{const t=i.size===1&&i.has(e);i.clear(),t||i.add(e)}}function H(e){const l=F.find(t=>t.key===e);!l||!l.db||(m.value===l.db?h.value=!h.value:(m.value=l.db,h.value=!1),y())}function W(e){const l=F.find(t=>t.key===e);return!l||l.db!==m.value?"":h.value?" ▼":" ▲"}async function y(){const e={filters:{...u},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:d.value,sort_col:m.value,sort_desc:h.value},l=await O("/questions/search",e);c.value=l.rows,I.value=l.count,i.clear();for(const t of Object.keys(b))delete b[t]}function X(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.add(e.id);else for(const e of c.value)b[e.id]=!0}function Y(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.has(e.id)?i.delete(e.id):i.add(e.id);else for(const e of c.value)b[e.id]=!b[e.id]}function Z(){const e=g();if(!e.length){_("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(e)),L.push("/papers/preview")}async function ee(){if(d.value==="table"&&typeof window<"u"){_("表格模式下不支持批量删除,请切换到预览模式通过复选框操作。");return}const e=g();if(!e.length){_("请勾选题目");return}A(`确定删除选中的 ${e.length} 道题吗?`)&&(await O("/questions/delete",{ids:e}),await y())}async function te(){const e=g();if(!e.length){_("请选择要归档的题目");return}A("确定要将选中的题目归档吗?")&&(await O("/questions/bulk-archive",{ids:e}),_(`成功归档 ${e.length} 道题目。`),await y())}async function se(){const e=g();if(!e.length){_("请选择题目");return}try{await navigator.clipboard.writeText(e.join(",")),_("ID已复制到剪贴板")}catch(l){_("复制失败:"+l.message)}}function le(){const e=new Set(g());if(!e.size){_("请先选择要从列表中移除的题目");return}c.value=c.value.filter(l=>!e.has(l.id)),I.value=c.value.length,i.clear();for(const l of e)delete b[l]}async function ne(){if(!c.value.length){_("当前列表没有数据可以导出");return}await ae("/questions/export-excel",{filters:{...u},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:"table",sort_col:m.value,sort_desc:h.value})}return ie(async()=>{f.query.chapter_id&&(j.value=parseInt(f.query.chapter_id)),f.query.kp_id&&(D.value=parseInt(f.query.kp_id)),f.query.right_times&&(S.value=f.query.right_times);const e=f.query;e.subject&&(u.subject=e.subject),e.stage&&(u.stage=e.stage),e.term&&(u.term=e.term),e.status&&(u.status=e.status),e.archive_status&&(u.archive_status=e.archive_status),e.question_nature&&(u.question_nature=e.question_nature),e.paper_count&&(u.paper_count=e.paper_count),await y()}),(e,l)=>(a(),o("div",null,[s("div",fe,[s("span",be,n(U(T)?"选择题目创建试卷":"题目列表管理"),1),s("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>e.$router.push("/"))},"返回主页"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:Z},"➕ 创建试卷"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:l[1]||(l[1]=t=>e.$router.push("/questions/import"))},"➕ 新增题目")]),s("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[s("button",{class:"btn small",onClick:X},"全选"),s("button",{class:"btn small",onClick:Y},"反选"),s("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:ee},"❗️ 从数据库中删除"),s("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:te},"📦 批量归档"),s("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:se},"📋 复制选中题目ID"),s("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:le},"❎ 从列表中移除")]),s("div",ye,[s("div",ve,[(a(!0),o(v,null,x(U(P),t=>(a(),o(v,{key:t.key},[s("label",null,n(t.label)+":",1),k(s("select",{"onUpdate:modelValue":r=>u[t.key]=r},[(a(!0),o(v,null,x(J(t),r=>(a(),o("option",{key:r,value:r},n(r),9,ke))),128))],8,he),[[re,u[t.key]]])],64))),128))]),s("div",me,[l[6]||(l[6]=s("label",null,"ID:",-1)),k(s("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>C.value=t),style:{width:"150px"}},null,512),[[M,C.value]]),l[7]||(l[7]=s("label",{style:{"margin-left":"10px"}},"知识点:",-1)),k(s("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>q.value=t),style:{width:"200px"}},null,512),[[M,q.value]])]),s("div",ge,[s("div",xe,[s("label",null,[k(s("input",{type:"radio",value:"table","onUpdate:modelValue":l[4]||(l[4]=t=>d.value=t),onChange:y},null,544),[[N,d.value]]),l[8]||(l[8]=R(" 表格模式",-1))]),s("label",null,[k(s("input",{type:"radio",value:"preview","onUpdate:modelValue":l[5]||(l[5]=t=>d.value=t),onChange:y},null,544),[[N,d.value]]),l[9]||(l[9]=R(" 预览模式",-1))])]),s("div",we,[s("span",Ce,"共找到 "+n(I.value)+" 道题目",1),s("button",{class:"btn primary",onClick:y},"🔍 开始搜索"),d.value==="table"?(a(),o("button",{key:0,class:"btn orange",onClick:ne},"📥 导出Excel")):E("",!0)])])]),s("div",qe,[d.value==="table"?(a(),o("div",Ie,[s("table",je,[s("thead",null,[s("tr",null,[(a(),o(v,null,x(F,t=>s("th",{key:t.key,onClick:r=>H(t.key)},n(t.label)+n(W(t.key)),9,De)),64))])]),s("tbody",null,[(a(!0),o(v,null,x(c.value,t=>(a(),o("tr",{key:t.id,class:de(["clickable",{selected:i.has(t.id)}]),onClick:r=>G(t.id,r),onDblclick:r=>e.$router.push("/questions/"+t.id)},[s("td",Fe,n(t.Subject),1),s("td",Ve,n(t.id),1),s("td",Oe,n(z(t.latest_status)),1),s("td",$e,n(t.question_type),1),s("td",null,n(t.knowledge_points_desc),1),s("td",ze,n(t.answer_time),1),s("td",Ue,n(t.input_time),1),s("td",Me,n(t.paper_count),1),s("td",Ne,n(t.right_times),1),s("td",Re,n(t.wrong_times),1),s("td",Ee,n(t.half_right_times),1),s("td",Ae,n(t.last_right_time),1),s("td",Be,n(t.paper_ids),1)],42,Se))),128))])])])):(a(),o("div",Ke,[(a(!0),o(v,null,x(c.value,t=>(a(),o("div",{class:"card",key:t.id},[s("div",Le,[s("div",Te,[k(s("input",{type:"checkbox","onUpdate:modelValue":r=>b[t.id]=r},null,8,Pe),[[ce,b[t.id]]]),s("button",{class:"btn small",onClick:r=>e.$router.push("/questions/"+t.id)},"详情",8,Qe)]),s("div",Je,[s("div",Ge," ID: "+n(t.id)+" | 科目: "+n(t.Subject)+" | 状态: "+n(z(t.latest_status))+" | 归档: "+n(t.StatusName||"未归档")+" | 知识点: "+n(t.knowledge_points_desc),1),l[11]||(l[11]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),B(K,{content:t.content,"max-width":800},null,8,["content"]),t.analysis?(a(),o(v,{key:0},[l[10]||(l[10]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),B(K,{content:t.analysis,"max-width":800},null,8,["content"])],64)):E("",!0)])])]))),128))]))])]))}},lt=_e(He,[["__scopeId","data-v-e8217be5"]]);export{lt as default};
diff --git a/frontend/dist/assets/QuestionList-CTnhn5OM.js b/frontend/dist/assets/QuestionList-CTnhn5OM.js
new file mode 100644 (file)
index 0000000..a98db0d
--- /dev/null
@@ -0,0 +1 @@
+import{b as oe,d as de,c as d,a as t,t as n,u as z,F as v,r as x,w as k,i as M,j as A,h as N,k as B,l as ue,m as V,e as p,f as O,n as _,p as E,q as re,s as ce,x as pe,o as u,v as _e,y as fe,z as be,g as ye,A as R,B as ve}from"./index-DkiXflk7.js";import{R as L}from"./RichContent-DzYi85z4.js";import{_ as he}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ke={class:"page-header"},me={class:"title"},ge={class:"filter-panel"},xe={class:"row"},we=["onUpdate:modelValue"],Ce=["value"],qe={class:"row"},Ie={class:"row",style:{"justify-content":"space-between"}},je={style:{display:"flex","align-items":"center",gap:"14px"}},Se={style:{display:"flex","align-items":"center",gap:"10px"}},De={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},Fe={class:"content-area"},Ve={key:0,class:"card",style:{padding:"0",overflow:"auto"}},Oe={class:"data-table"},$e={style:{width:"36px"}},Ue=["checked"],ze=["onClick"],Me=["onDblclick"],Ae=["checked","onChange"],Ne={class:"center"},Be={class:"center"},Ee={class:"center"},Re={class:"center"},Le={class:"center"},Pe={class:"center"},Te={class:"center"},Qe={class:"center"},Ge={class:"center"},Je={class:"center"},Ke={class:"center"},He={class:"center"},We={key:1},Xe={style:{display:"flex"}},Ye={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},Ze=["onUpdate:modelValue"],et=["onClick"],tt={style:{flex:"1","min-width":"0"}},st={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},lt={__name:"QuestionList",setup(nt){const f=ue(),P=pe(),T=f.query.from_paper_creation==="1"||f.query.from_paper_creation==="true",w=["全部","0","1","2","3","4次及以上"],$=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:w},{key:"right_times",label:"正确次数",type:"fixed",options:w},{key:"wrong_times",label:"错误次数",type:"fixed",options:w},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:w}],Q=$,i=V({});for(const e of $)i[e.key]="全部";i.archive_status="未归档";const G={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function J(e){return e.type==="fixed"?e.options:["全部",...ve[G[e.key]]||[]]}const C=p(""),q=p(""),c=p("table"),a=p([]),I=p(0),b=V({}),o=V(new Set),j=p(null),S=p(null),D=p(null),m=p("q.id"),h=p(!1),F=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function U(e){return{right:"正确",wrong:"错误",half_right:"部分正确"}[e]||"未完成"}function g(){return c.value==="table"&&typeof window<"u"?[...o]:Object.entries(b).filter(([,e])=>e).map(([e])=>parseInt(e))}function K(e,l){l.target.checked?o.add(e):o.delete(e)}const H=ce(()=>a.value.length>0&&a.value.every(e=>o.has(e.id)));function W(e){if(e.target.checked)for(const l of a.value)o.add(l.id);else o.clear()}function X(e){const l=F.find(s=>s.key===e);!l||!l.db||(m.value===l.db?h.value=!h.value:(m.value=l.db,h.value=!1),y())}function Y(e){const l=F.find(s=>s.key===e);return!l||l.db!==m.value?"":h.value?" ▼":" ▲"}async function y(){const e={filters:{...i},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:S.value,right_times_filter:D.value,mode:c.value,sort_col:m.value,sort_desc:h.value},l=await O("/questions/search",e);a.value=l.rows,I.value=l.count,o.clear();for(const s of Object.keys(b))delete b[s]}function Z(){if(c.value==="table"&&typeof window<"u")for(const e of a.value)o.add(e.id);else for(const e of a.value)b[e.id]=!0}function ee(){if(c.value==="table"&&typeof window<"u")for(const e of a.value)o.has(e.id)?o.delete(e.id):o.add(e.id);else for(const e of a.value)b[e.id]=!b[e.id]}function te(){const e=g();if(!e.length){_("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(e)),P.push("/papers/preview")}async function se(){if(c.value==="table"&&typeof window<"u"){_("表格模式下不支持批量删除,请切换到预览模式通过复选框操作。");return}const e=g();if(!e.length){_("请勾选题目");return}E(`确定删除选中的 ${e.length} 道题吗?`)&&(await O("/questions/delete",{ids:e}),await y())}async function le(){const e=g();if(!e.length){_("请选择要归档的题目");return}E("确定要将选中的题目归档吗?")&&(await O("/questions/bulk-archive",{ids:e}),_(`成功归档 ${e.length} 道题目。`),await y())}async function ne(){const e=g();if(!e.length){_("请选择题目");return}try{await navigator.clipboard.writeText(e.join(",")),_("ID已复制到剪贴板")}catch(l){_("复制失败:"+l.message)}}function ie(){const e=new Set(g());if(!e.size){_("请先选择要从列表中移除的题目");return}a.value=a.value.filter(l=>!e.has(l.id)),I.value=a.value.length,o.clear();for(const l of e)delete b[l]}async function ae(){if(!a.value.length){_("当前列表没有数据可以导出");return}await re("/questions/export-excel",{filters:{...i},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:S.value,right_times_filter:D.value,mode:"table",sort_col:m.value,sort_desc:h.value})}return oe(async()=>{f.query.chapter_id&&(j.value=parseInt(f.query.chapter_id)),f.query.kp_id&&(S.value=parseInt(f.query.kp_id)),f.query.right_times&&(D.value=f.query.right_times);try{const l=await de("/settings/default-params");l&&l.term&&l.term.default&&(i.term=l.term.default)}catch{}const e=f.query;e.subject&&(i.subject=e.subject),e.stage&&(i.stage=e.stage),e.term&&(i.term=e.term),e.status&&(i.status=e.status),e.archive_status&&(i.archive_status=e.archive_status),e.question_nature&&(i.question_nature=e.question_nature),e.paper_count&&(i.paper_count=e.paper_count),await y()}),(e,l)=>(u(),d("div",null,[t("div",ke,[t("span",me,n(z(T)?"选择题目创建试卷":"题目列表管理"),1),t("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=s=>e.$router.push("/"))},"返回主页"),t("button",{class:"btn green",style:{"margin-left":"10px"},onClick:te},"➕ 创建试卷"),t("button",{class:"btn green",style:{"margin-left":"10px"},onClick:l[1]||(l[1]=s=>e.$router.push("/questions/import"))},"➕ 新增题目")]),t("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[t("button",{class:"btn small",onClick:Z},"全选"),t("button",{class:"btn small",onClick:ee},"反选"),t("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:se},"❗️ 从数据库中删除"),t("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:le},"📦 批量归档"),t("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:ne},"📋 复制选中题目ID"),t("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:ie},"❎ 从列表中移除")]),t("div",ge,[t("div",xe,[(u(!0),d(v,null,x(z(Q),s=>(u(),d(v,{key:s.key},[t("label",null,n(s.label)+":",1),k(t("select",{"onUpdate:modelValue":r=>i[s.key]=r},[(u(!0),d(v,null,x(J(s),r=>(u(),d("option",{key:r,value:r},n(r),9,Ce))),128))],8,we),[[_e,i[s.key]]])],64))),128))]),t("div",qe,[l[7]||(l[7]=t("label",null,"ID:",-1)),k(t("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=s=>C.value=s),style:{width:"150px"}},null,512),[[M,C.value]]),l[8]||(l[8]=t("label",{style:{"margin-left":"10px"}},"知识点:",-1)),k(t("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=s=>q.value=s),style:{width:"200px"}},null,512),[[M,q.value]])]),t("div",Ie,[t("div",je,[t("label",null,[k(t("input",{type:"radio",value:"table","onUpdate:modelValue":l[4]||(l[4]=s=>c.value=s),onChange:y},null,544),[[A,c.value]]),l[9]||(l[9]=N(" 表格模式",-1))]),t("label",null,[k(t("input",{type:"radio",value:"preview","onUpdate:modelValue":l[5]||(l[5]=s=>c.value=s),onChange:y},null,544),[[A,c.value]]),l[10]||(l[10]=N(" 预览模式",-1))])]),t("div",Se,[t("span",De,"共找到 "+n(I.value)+" 道题目",1),t("button",{class:"btn primary",onClick:y},"🔍 开始搜索"),c.value==="table"?(u(),d("button",{key:0,class:"btn orange",onClick:ae},"📥 导出Excel")):B("",!0)])])]),t("div",Fe,[c.value==="table"?(u(),d("div",Ve,[t("table",Oe,[t("thead",null,[t("tr",null,[t("th",$e,[t("input",{type:"checkbox",checked:H.value,onChange:W,title:"全选"},null,40,Ue)]),(u(),d(v,null,x(F,s=>t("th",{key:s.key,onClick:r=>X(s.key)},n(s.label)+n(Y(s.key)),9,ze)),64))])]),t("tbody",null,[(u(!0),d(v,null,x(a.value,s=>(u(),d("tr",{key:s.id,class:fe(["clickable",{selected:o.has(s.id)}]),onDblclick:r=>e.$router.push("/questions/"+s.id)},[t("td",{class:"center",onClick:l[6]||(l[6]=be(()=>{},["stop"]))},[t("input",{type:"checkbox",checked:o.has(s.id),onChange:r=>K(s.id,r)},null,40,Ae)]),t("td",Ne,n(s.Subject),1),t("td",Be,n(s.id),1),t("td",Ee,n(U(s.latest_status)),1),t("td",Re,n(s.question_type),1),t("td",null,n(s.knowledge_points_desc),1),t("td",Le,n(s.answer_time),1),t("td",Pe,n(s.input_time),1),t("td",Te,n(s.paper_count),1),t("td",Qe,n(s.right_times),1),t("td",Ge,n(s.wrong_times),1),t("td",Je,n(s.half_right_times),1),t("td",Ke,n(s.last_right_time),1),t("td",He,n(s.paper_ids),1)],42,Me))),128))])])])):(u(),d("div",We,[(u(!0),d(v,null,x(a.value,s=>(u(),d("div",{class:"card",key:s.id},[t("div",Xe,[t("div",Ye,[k(t("input",{type:"checkbox","onUpdate:modelValue":r=>b[s.id]=r},null,8,Ze),[[ye,b[s.id]]]),t("button",{class:"btn small",onClick:r=>e.$router.push("/questions/"+s.id)},"详情",8,et)]),t("div",tt,[t("div",st," ID: "+n(s.id)+" | 科目: "+n(s.Subject)+" | 状态: "+n(U(s.latest_status))+" | 归档: "+n(s.StatusName||"未归档")+" | 知识点: "+n(s.knowledge_points_desc),1),l[12]||(l[12]=t("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),R(L,{content:s.content,"max-width":800},null,8,["content"]),s.analysis?(u(),d(v,{key:0},[l[11]||(l[11]=t("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),R(L,{content:s.analysis,"max-width":800},null,8,["content"])],64)):B("",!0)])])]))),128))]))])]))}},ct=he(lt,[["__scopeId","data-v-f4283dde"]]);export{ct as default};
diff --git a/frontend/dist/assets/QuestionList-DvyMMJjZ.js b/frontend/dist/assets/QuestionList-DvyMMJjZ.js
new file mode 100644 (file)
index 0000000..a0b1786
--- /dev/null
@@ -0,0 +1,4 @@
+import{b as be,d as ve,i as he,c,a as n,t as l,u as A,F as g,r as I,w as q,j as R,k as E,h as L,l as Q,m as me,n as M,e as b,f as U,p as y,q as T,s as ke,x as ge,y as xe,z as _,o as p,v as we,A as qe,B as Ce,g as Ie,C as G,D as je}from"./index-PW167vf4.js";import{R as J}from"./RichContent-Dt890otn.js";import{_ as Se}from"./_plugin-vue_export-helper-DlAUqK2U.js";const De={class:"page-header"},$e={class:"title"},Fe={class:"filter-panel"},Oe={class:"row"},Ve=["onUpdate:modelValue"],Me=["value"],Ue={class:"row"},ze={class:"row",style:{"justify-content":"space-between"}},Be={style:{display:"flex","align-items":"center",gap:"14px"}},Ne={style:{display:"flex","align-items":"center",gap:"10px"}},Pe={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},Ae={class:"content-area"},Re={key:0,class:"card",style:{padding:"0",overflow:"auto"}},Ee={class:"data-table"},Le={style:{width:"36px"}},Qe=["checked"],Te=["onClick"],Ge=["onDblclick"],Je=["checked","onChange"],Ke={class:"center"},He={class:"center"},We={class:"center"},Xe={class:"center"},Ye={class:"center"},Ze={class:"center"},et={class:"center"},tt={class:"center"},st={class:"center"},nt={class:"center"},lt={class:"center"},it={class:"center"},ot={key:1},at={style:{display:"flex"}},ut={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},rt=["onUpdate:modelValue"],dt=["onClick"],ct={style:{flex:"1","min-width":"0"}},pt={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},_t={__name:"QuestionList",setup(ft){const i=me(),K=xe(),H=i.query.from_paper_creation==="1"||i.query.from_paper_creation==="true",j=["全部","0","1","2","3","4次及以上"],z=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:j},{key:"right_times",label:"正确次数",type:"fixed",options:j},{key:"wrong_times",label:"错误次数",type:"fixed",options:j},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:j}],W=z,o=M({});for(const s of z)o[s.key]="全部";o.archive_status="未归档";const X={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function Y(s){return s.type==="fixed"?s.options:["全部",...je[X[s.key]]||[]]}const x=b(""),w=b(""),f=b("table"),u=b([]),D=b(0),v=M({}),r=M(new Set),$=b(null),F=b(null),O=b(null),m=b("q.id"),h=b(!1),V=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function B(s){return{right:"正确",wrong:"错误",half_right:"部分正确"}[s]||"未完成"}function C(){return f.value==="table"&&typeof window<"u"?[...r]:Object.entries(v).filter(([,s])=>s).map(([s])=>parseInt(s))}function Z(s,e){e.target.checked?r.add(s):r.delete(s)}const ee=ge(()=>u.value.length>0&&u.value.every(s=>r.has(s.id)));function te(s){if(s.target.checked)for(const e of u.value)r.add(e.id);else r.clear()}function se(s){const e=V.find(t=>t.key===s);!e||!e.db||(m.value===e.db?h.value=!h.value:(m.value=e.db,h.value=!1),k())}function ne(s){const e=V.find(t=>t.key===s);return!e||e.db!==m.value?"":h.value?" ▼":" ▲"}async function k(){const s={filters:{...o},id_input:x.value,kp_input:w.value,chapter_id_filter:$.value,kp_id_filter:F.value,right_times_filter:O.value,mode:f.value,sort_col:m.value,sort_desc:h.value},e=await U("/questions/search",s);u.value=e.rows,D.value=e.count,r.clear();for(const t of Object.keys(v))delete v[t]}function le(){if(f.value==="table"&&typeof window<"u")for(const s of u.value)r.add(s.id);else for(const s of u.value)v[s.id]=!0}function ie(){if(f.value==="table"&&typeof window<"u")for(const s of u.value)r.has(s.id)?r.delete(s.id):r.add(s.id);else for(const s of u.value)v[s.id]=!v[s.id]}function oe(){const s=C();if(!s.length){y("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(s)),K.push("/papers/preview")}async function ae(){const s=C();if(!s.length){y("请勾选题目");return}const e=u.value.filter(a=>s.includes(a.id)),t=[...new Set(e.map(a=>a.Subject).filter(Boolean))],d=[...new Set(e.map(a=>a.stage_name).filter(Boolean))],N=new Set;for(const a of e){const S=(a.knowledge_points_desc||"").trim();if(S)for(const ye of S.split("、")){const P=ye.trim();P&&N.add(P)}}const pe=e.reduce((a,S)=>a+(Number(S.paper_count)||0),0),_e=e.filter(a=>(Number(a.paper_count)||0)>0).length,fe=[`即将从数据库删除 ${s.length} 道题目,删除后不可恢复:`,`科目:${t.join("、")||"未指定"}`,`阶段:${d.join("、")||"未指定"}`,`涉及知识点:${N.size} 个`,`组卷次数:共 ${pe} 次(其中 ${_e} 道已加入试卷)`].join(`
+`);if(T(fe+`
+
+确定删除吗?`))try{const a=await U("/questions/delete",{ids:s});y(`已成功删除 ${a.deleted!=null?a.deleted:s.length} 道题目。`),await k()}catch(a){y("删除失败:"+a.message)}}async function ue(){const s=C();if(!s.length){y("请选择要归档的题目");return}T("确定要将选中的题目归档吗?")&&(await U("/questions/bulk-archive",{ids:s}),y(`成功归档 ${s.length} 道题目。`),await k())}async function re(){const s=C();if(!s.length){y("请选择题目");return}try{await navigator.clipboard.writeText(s.join(",")),y("ID已复制到剪贴板")}catch(e){y("复制失败:"+e.message)}}function de(){const s=new Set(C());if(!s.size){y("请先选择要从列表中移除的题目");return}u.value=u.value.filter(e=>!s.has(e.id)),D.value=u.value.length,r.clear();for(const e of s)delete v[e]}async function ce(){if(!u.value.length){y("当前列表没有数据可以导出");return}await ke("/questions/export-excel",{filters:{...o},id_input:x.value,kp_input:w.value,chapter_id_filter:$.value,kp_id_filter:F.value,right_times_filter:O.value,mode:"table",sort_col:m.value,sort_desc:h.value})}return be(async()=>{i.query.chapter_id&&($.value=parseInt(i.query.chapter_id)),i.query.kp_id&&(F.value=parseInt(i.query.kp_id)),i.query.right_times&&(O.value=i.query.right_times);try{const t=await ve("/settings/default-params");t&&t.term&&t.term.default&&(o.term=t.term.default)}catch{}!!!(i.query.chapter_id||i.query.kp_id||i.query.right_times||i.query.subject||i.query.stage||i.query.term||i.query.status||i.query.archive_status||i.query.question_nature||i.query.paper_count)&&_.filters&&(Object.assign(o,_.filters),x.value=_.idInput,w.value=_.kpInput,f.value=_.viewMode,m.value=_.sortCol,h.value=_.sortDesc);const e=i.query;e.subject&&(o.subject=e.subject),e.stage&&(o.stage=e.stage),e.term&&(o.term=e.term),e.status&&(o.status=e.status),e.archive_status&&(o.archive_status=e.archive_status),e.question_nature&&(o.question_nature=e.question_nature),e.paper_count&&(o.paper_count=e.paper_count),await k()}),he(()=>{_.filters={...o},_.idInput=x.value,_.kpInput=w.value,_.viewMode=f.value,_.sortCol=m.value,_.sortDesc=h.value}),(s,e)=>(p(),c("div",null,[n("div",De,[n("span",$e,l(A(H)?"选择题目创建试卷":"题目列表管理"),1),n("button",{class:"btn",style:{"margin-left":"16px"},onClick:e[0]||(e[0]=t=>s.$router.push("/"))},"返回主页"),n("button",{class:"btn green",style:{"margin-left":"10px"},onClick:oe},"➕ 创建试卷"),n("button",{class:"btn green",style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>s.$router.push("/questions/import"))},"➕ 新增题目")]),n("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[n("button",{class:"btn small",onClick:le},"全选"),n("button",{class:"btn small",onClick:ie},"反选"),n("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:ae},"❗️ 从数据库中删除"),n("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:ue},"📦 批量归档"),n("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:re},"📋 复制选中题目ID"),n("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:de},"❎ 从列表中移除")]),n("div",Fe,[n("div",Oe,[(p(!0),c(g,null,I(A(W),t=>(p(),c(g,{key:t.key},[n("label",null,l(t.label)+":",1),q(n("select",{"onUpdate:modelValue":d=>o[t.key]=d},[(p(!0),c(g,null,I(Y(t),d=>(p(),c("option",{key:d,value:d},l(d),9,Me))),128))],8,Ve),[[we,o[t.key]]])],64))),128))]),n("div",Ue,[e[7]||(e[7]=n("label",null,"ID:",-1)),q(n("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=t=>x.value=t),style:{width:"150px"}},null,512),[[R,x.value]]),e[8]||(e[8]=n("label",{style:{"margin-left":"10px"}},"知识点:",-1)),q(n("input",{type:"text","onUpdate:modelValue":e[3]||(e[3]=t=>w.value=t),style:{width:"200px"}},null,512),[[R,w.value]])]),n("div",ze,[n("div",Be,[n("label",null,[q(n("input",{type:"radio",value:"table","onUpdate:modelValue":e[4]||(e[4]=t=>f.value=t),onChange:k},null,544),[[E,f.value]]),e[9]||(e[9]=L(" 表格模式",-1))]),n("label",null,[q(n("input",{type:"radio",value:"preview","onUpdate:modelValue":e[5]||(e[5]=t=>f.value=t),onChange:k},null,544),[[E,f.value]]),e[10]||(e[10]=L(" 预览模式",-1))])]),n("div",Ne,[n("span",Pe,"共找到 "+l(D.value)+" 道题目",1),n("button",{class:"btn primary",onClick:k},"🔍 开始搜索"),f.value==="table"?(p(),c("button",{key:0,class:"btn orange",onClick:ce},"📥 导出Excel")):Q("",!0)])])]),n("div",Ae,[f.value==="table"?(p(),c("div",Re,[n("table",Ee,[n("thead",null,[n("tr",null,[n("th",Le,[n("input",{type:"checkbox",checked:ee.value,onChange:te,title:"全选"},null,40,Qe)]),(p(),c(g,null,I(V,t=>n("th",{key:t.key,onClick:d=>se(t.key)},l(t.label)+l(ne(t.key)),9,Te)),64))])]),n("tbody",null,[(p(!0),c(g,null,I(u.value,t=>(p(),c("tr",{key:t.id,class:qe(["clickable",{selected:r.has(t.id)}]),onDblclick:d=>s.$router.push("/questions/"+t.id)},[n("td",{class:"center",onClick:e[6]||(e[6]=Ce(()=>{},["stop"]))},[n("input",{type:"checkbox",checked:r.has(t.id),onChange:d=>Z(t.id,d)},null,40,Je)]),n("td",Ke,l(t.Subject),1),n("td",He,l(t.id),1),n("td",We,l(B(t.latest_status)),1),n("td",Xe,l(t.question_type),1),n("td",null,l(t.knowledge_points_desc),1),n("td",Ye,l(t.answer_time),1),n("td",Ze,l(t.input_time),1),n("td",et,l(t.paper_count),1),n("td",tt,l(t.right_times),1),n("td",st,l(t.wrong_times),1),n("td",nt,l(t.half_right_times),1),n("td",lt,l(t.last_right_time),1),n("td",it,l(t.paper_ids),1)],42,Ge))),128))])])])):(p(),c("div",ot,[(p(!0),c(g,null,I(u.value,t=>(p(),c("div",{class:"card",key:t.id},[n("div",at,[n("div",ut,[q(n("input",{type:"checkbox","onUpdate:modelValue":d=>v[t.id]=d},null,8,rt),[[Ie,v[t.id]]]),n("button",{class:"btn small",onClick:d=>s.$router.push("/questions/"+t.id)},"详情",8,dt)]),n("div",ct,[n("div",pt," ID: "+l(t.id)+" | 科目: "+l(t.Subject)+" | 状态: "+l(B(t.latest_status))+" | 归档: "+l(t.StatusName||"未归档")+" | 知识点: "+l(t.knowledge_points_desc),1),e[12]||(e[12]=n("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),G(J,{content:t.content,"max-width":800},null,8,["content"]),t.analysis?(p(),c(g,{key:0},[e[11]||(e[11]=n("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),G(J,{content:t.analysis,"max-width":800},null,8,["content"])],64)):Q("",!0)])])]))),128))]))])]))}},gt=Se(_t,[["__scopeId","data-v-fe13e58c"]]);export{gt as default};
diff --git a/frontend/dist/assets/QuestionList-_b7bVvj6.js b/frontend/dist/assets/QuestionList-_b7bVvj6.js
new file mode 100644 (file)
index 0000000..4d46443
--- /dev/null
@@ -0,0 +1 @@
+import{b as ie,d as ae,c as o,a as s,t as n,u as U,F as v,r as x,w as h,i as M,j as N,h as R,k as E,l as oe,m as V,e as p,f as O,n as _,p as A,q as re,s as ue,o as r,v as de,x as ce,g as pe,y as B,z as _e}from"./index-BrIQ4kjW.js";import{R as K}from"./RichContent-B7hRqciS.js";import{_ as fe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ye={class:"page-header"},be={class:"title"},ve={class:"filter-panel"},me={class:"row"},he=["onUpdate:modelValue"],ke=["value"],ge={class:"row"},xe={class:"row",style:{"justify-content":"space-between"}},we={style:{display:"flex","align-items":"center",gap:"14px"}},Ce={style:{display:"flex","align-items":"center",gap:"10px"}},qe={style:{color:"#E64A19","font-weight":"bold","font-size":"13px"}},Ie={class:"content-area"},je={key:0,class:"card",style:{padding:"0",overflow:"auto"}},De={class:"data-table"},Se=["onClick"],Fe=["onClick","onDblclick"],Ve={class:"center"},Oe={class:"center"},$e={class:"center"},ze={class:"center"},Ue={class:"center"},Me={class:"center"},Ne={class:"center"},Re={class:"center"},Ee={class:"center"},Ae={class:"center"},Be={class:"center"},Ke={class:"center"},Le={key:1},Pe={style:{display:"flex"}},Te={style:{display:"flex","flex-direction":"column","justify-content":"space-between","align-items":"center",padding:"0 10px"}},Qe=["onUpdate:modelValue"],Ge=["onClick"],Je={style:{flex:"1","min-width":"0"}},He={style:{color:"#1890FF","font-weight":"bold","font-size":"13px","margin-bottom":"6px","word-break":"break-all"}},We={__name:"QuestionList",setup(Xe){const f=oe(),L=ue(),P=f.query.from_paper_creation==="1"||f.query.from_paper_creation==="true",w=["全部","0","1","2","3","4次及以上"],$=[{key:"subject",label:"科目",type:"db"},{key:"status",label:"状态",type:"fixed",options:["全部","未完成","正确","错误","部分正确"]},{key:"archive_status",label:"归档",type:"fixed",options:["全部","未归档","已归档"]},{key:"cause",label:"原因",type:"db"},{key:"source",label:"来源",type:"db"},{key:"term",label:"学期",type:"db"},{key:"stage",label:"阶段",type:"db"},{key:"question_nature",label:"试题类型",type:"fixed",options:["全部","错题","推题"]},{key:"paper_count",label:"组卷次数",type:"fixed",options:w},{key:"right_times",label:"正确次数",type:"fixed",options:w},{key:"wrong_times",label:"错误次数",type:"fixed",options:w},{key:"half_right_times",label:"部分正确次数",type:"fixed",options:w}],T=$,a=V({});for(const e of $)a[e.key]="全部";a.archive_status="未归档";const Q={subject:"subject",cause:"cause",source:"source",term:"term",stage:"stage",archive_status:"archiveStatus"};function G(e){return e.type==="fixed"?e.options:["全部",..._e[Q[e.key]]||[]]}const C=p(""),q=p(""),d=p("table"),c=p([]),I=p(0),y=V({}),i=V(new Set),j=p(null),D=p(null),S=p(null),k=p("q.id"),m=p(!1),F=[{key:"subject",label:"科目",db:"subject_id"},{key:"id",label:"试题ID",db:"q.id"},{key:"latest_status",label:"掌握状态",db:"latest_status"},{key:"question_type",label:"题目类型",db:"question_type"},{key:"kp",label:"题目知识点",db:"knowledge_points_desc"},{key:"answer_time",label:"答题时间",db:"answer_time"},{key:"input_time",label:"录入时间",db:"input_time"},{key:"p_count",label:"组卷次数",db:"paper_count"},{key:"r_count",label:"正确次数",db:"right_times"},{key:"w_count",label:"错误次数",db:"wrong_times"},{key:"h_count",label:"部分正确次数",db:"half_right_times"},{key:"last_r_time",label:"最晚正确时间",db:"last_right_time"},{key:"paper_ids",label:"所属试卷ID",db:null}];function z(e){return{right:"正确",wrong:"错误",half_right:"部分正确"}[e]||"未完成"}function g(){return d.value==="table"&&typeof window<"u"?[...i]:Object.entries(y).filter(([,e])=>e).map(([e])=>parseInt(e))}function J(e,l){if(l&&(l.ctrlKey||l.metaKey||l.shiftKey))i.has(e)?i.delete(e):i.add(e);else{const t=i.size===1&&i.has(e);i.clear(),t||i.add(e)}}function H(e){const l=F.find(t=>t.key===e);!l||!l.db||(k.value===l.db?m.value=!m.value:(k.value=l.db,m.value=!1),b())}function W(e){const l=F.find(t=>t.key===e);return!l||l.db!==k.value?"":m.value?" ▼":" ▲"}async function b(){const e={filters:{...a},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:d.value,sort_col:k.value,sort_desc:m.value},l=await O("/questions/search",e);c.value=l.rows,I.value=l.count,i.clear();for(const t of Object.keys(y))delete y[t]}function X(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.add(e.id);else for(const e of c.value)y[e.id]=!0}function Y(){if(d.value==="table"&&typeof window<"u")for(const e of c.value)i.has(e.id)?i.delete(e.id):i.add(e.id);else for(const e of c.value)y[e.id]=!y[e.id]}function Z(){const e=g();if(!e.length){_("请至少选择一道题目");return}sessionStorage.setItem("sb_selected_ids",JSON.stringify(e)),L.push("/papers/preview")}async function ee(){if(d.value==="table"&&typeof window<"u"){_("表格模式下不支持批量删除,请切换到预览模式通过复选框操作。");return}const e=g();if(!e.length){_("请勾选题目");return}A(`确定删除选中的 ${e.length} 道题吗?`)&&(await O("/questions/delete",{ids:e}),await b())}async function te(){const e=g();if(!e.length){_("请选择要归档的题目");return}A("确定要将选中的题目归档吗?")&&(await O("/questions/bulk-archive",{ids:e}),_(`成功归档 ${e.length} 道题目。`),await b())}async function se(){const e=g();if(!e.length){_("请选择题目");return}try{await navigator.clipboard.writeText(e.join(",")),_("ID已复制到剪贴板")}catch(l){_("复制失败:"+l.message)}}function le(){const e=new Set(g());if(!e.size){_("请先选择要从列表中移除的题目");return}c.value=c.value.filter(l=>!e.has(l.id)),I.value=c.value.length,i.clear();for(const l of e)delete y[l]}async function ne(){if(!c.value.length){_("当前列表没有数据可以导出");return}await re("/questions/export-excel",{filters:{...a},id_input:C.value,kp_input:q.value,chapter_id_filter:j.value,kp_id_filter:D.value,right_times_filter:S.value,mode:"table",sort_col:k.value,sort_desc:m.value})}return ie(async()=>{f.query.chapter_id&&(j.value=parseInt(f.query.chapter_id)),f.query.kp_id&&(D.value=parseInt(f.query.kp_id)),f.query.right_times&&(S.value=f.query.right_times);try{const l=await ae("/settings/default-params");l&&l.term&&l.term.default&&(a.term=l.term.default)}catch{}const e=f.query;e.subject&&(a.subject=e.subject),e.stage&&(a.stage=e.stage),e.term&&(a.term=e.term),e.status&&(a.status=e.status),e.archive_status&&(a.archive_status=e.archive_status),e.question_nature&&(a.question_nature=e.question_nature),e.paper_count&&(a.paper_count=e.paper_count),await b()}),(e,l)=>(r(),o("div",null,[s("div",ye,[s("span",be,n(U(P)?"选择题目创建试卷":"题目列表管理"),1),s("button",{class:"btn",style:{"margin-left":"16px"},onClick:l[0]||(l[0]=t=>e.$router.push("/"))},"返回主页"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:Z},"➕ 创建试卷"),s("button",{class:"btn green",style:{"margin-left":"10px"},onClick:l[1]||(l[1]=t=>e.$router.push("/questions/import"))},"➕ 新增题目")]),s("div",{style:{padding:"10px 20px 0",display:"flex",gap:"8px","align-items":"center","flex-wrap":"wrap"}},[s("button",{class:"btn small",onClick:X},"全选"),s("button",{class:"btn small",onClick:Y},"反选"),s("button",{class:"btn small",style:{color:"red","font-weight":"bold"},onClick:ee},"❗️ 从数据库中删除"),s("button",{class:"btn small",style:{color:"#F57C00","font-weight":"bold"},onClick:te},"📦 批量归档"),s("button",{class:"btn small",style:{color:"#1890FF","font-weight":"bold"},onClick:se},"📋 复制选中题目ID"),s("button",{class:"btn small",style:{color:"#1b5e20","font-weight":"bold"},onClick:le},"❎ 从列表中移除")]),s("div",ve,[s("div",me,[(r(!0),o(v,null,x(U(T),t=>(r(),o(v,{key:t.key},[s("label",null,n(t.label)+":",1),h(s("select",{"onUpdate:modelValue":u=>a[t.key]=u},[(r(!0),o(v,null,x(G(t),u=>(r(),o("option",{key:u,value:u},n(u),9,ke))),128))],8,he),[[de,a[t.key]]])],64))),128))]),s("div",ge,[l[6]||(l[6]=s("label",null,"ID:",-1)),h(s("input",{type:"text","onUpdate:modelValue":l[2]||(l[2]=t=>C.value=t),style:{width:"150px"}},null,512),[[M,C.value]]),l[7]||(l[7]=s("label",{style:{"margin-left":"10px"}},"知识点:",-1)),h(s("input",{type:"text","onUpdate:modelValue":l[3]||(l[3]=t=>q.value=t),style:{width:"200px"}},null,512),[[M,q.value]])]),s("div",xe,[s("div",we,[s("label",null,[h(s("input",{type:"radio",value:"table","onUpdate:modelValue":l[4]||(l[4]=t=>d.value=t),onChange:b},null,544),[[N,d.value]]),l[8]||(l[8]=R(" 表格模式",-1))]),s("label",null,[h(s("input",{type:"radio",value:"preview","onUpdate:modelValue":l[5]||(l[5]=t=>d.value=t),onChange:b},null,544),[[N,d.value]]),l[9]||(l[9]=R(" 预览模式",-1))])]),s("div",Ce,[s("span",qe,"共找到 "+n(I.value)+" 道题目",1),s("button",{class:"btn primary",onClick:b},"🔍 开始搜索"),d.value==="table"?(r(),o("button",{key:0,class:"btn orange",onClick:ne},"📥 导出Excel")):E("",!0)])])]),s("div",Ie,[d.value==="table"?(r(),o("div",je,[s("table",De,[s("thead",null,[s("tr",null,[(r(),o(v,null,x(F,t=>s("th",{key:t.key,onClick:u=>H(t.key)},n(t.label)+n(W(t.key)),9,Se)),64))])]),s("tbody",null,[(r(!0),o(v,null,x(c.value,t=>(r(),o("tr",{key:t.id,class:ce(["clickable",{selected:i.has(t.id)}]),onClick:u=>J(t.id,u),onDblclick:u=>e.$router.push("/questions/"+t.id)},[s("td",Ve,n(t.Subject),1),s("td",Oe,n(t.id),1),s("td",$e,n(z(t.latest_status)),1),s("td",ze,n(t.question_type),1),s("td",null,n(t.knowledge_points_desc),1),s("td",Ue,n(t.answer_time),1),s("td",Me,n(t.input_time),1),s("td",Ne,n(t.paper_count),1),s("td",Re,n(t.right_times),1),s("td",Ee,n(t.wrong_times),1),s("td",Ae,n(t.half_right_times),1),s("td",Be,n(t.last_right_time),1),s("td",Ke,n(t.paper_ids),1)],42,Fe))),128))])])])):(r(),o("div",Le,[(r(!0),o(v,null,x(c.value,t=>(r(),o("div",{class:"card",key:t.id},[s("div",Pe,[s("div",Te,[h(s("input",{type:"checkbox","onUpdate:modelValue":u=>y[t.id]=u},null,8,Qe),[[pe,y[t.id]]]),s("button",{class:"btn small",onClick:u=>e.$router.push("/questions/"+t.id)},"详情",8,Ge)]),s("div",Je,[s("div",He," ID: "+n(t.id)+" | 科目: "+n(t.Subject)+" | 状态: "+n(z(t.latest_status))+" | 归档: "+n(t.StatusName||"未归档")+" | 知识点: "+n(t.knowledge_points_desc),1),l[11]||(l[11]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"4px 0 2px"}},"【题干】",-1)),B(K,{content:t.content,"max-width":800},null,8,["content"]),t.analysis?(r(),o(v,{key:0},[l[10]||(l[10]=s("div",{style:{"font-weight":"bold","font-size":"13px",margin:"6px 0 2px",color:"#2E7D32"}},"【解析】",-1)),B(K,{content:t.analysis,"max-width":800},null,8,["content"])],64)):E("",!0)])])]))),128))]))])]))}},nt=fe(We,[["__scopeId","data-v-3e194854"]]);export{nt as default};
diff --git a/frontend/dist/assets/QuestionList-siUAN7Oe.css b/frontend/dist/assets/QuestionList-siUAN7Oe.css
new file mode 100644 (file)
index 0000000..558ec81
--- /dev/null
@@ -0,0 +1 @@
+.center[data-v-e8217be5]{text-align:center}
diff --git a/frontend/dist/assets/RichContent-B7hRqciS.js b/frontend/dist/assets/RichContent-B7hRqciS.js
new file mode 100644 (file)
index 0000000..7167da3
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,A as S,k as u,t as W,G as E,m as R}from"./index-BrIQ4kjW.js";const B={class:"rich-text"},C=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,m=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(m=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;m&&(c=Math.max(20,Math.round(m/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(R({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=E(()=>_(a.content));return(p,r)=>(n(),i("div",B,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:S({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,C)):u("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):u("",!0),t.type==="text"?(n(),i("span",M,W(t.text),1)):u("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/RichContent-Bto3YWrJ.js b/frontend/dist/assets/RichContent-Bto3YWrJ.js
new file mode 100644 (file)
index 0000000..8d79f8a
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,A as S,k as u,t as W,G as E,m as R}from"./index-DibvQ1e4.js";const B={class:"rich-text"},C=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,m=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(m=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;m&&(c=Math.max(20,Math.round(m/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(R({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=E(()=>_(a.content));return(p,r)=>(n(),i("div",B,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:S({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,C)):u("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):u("",!0),t.type==="text"?(n(),i("span",M,W(t.text),1)):u("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/RichContent-Cq46Yax7.js b/frontend/dist/assets/RichContent-Cq46Yax7.js
new file mode 100644 (file)
index 0000000..e8675b9
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,C as S,k as u,t as W,s as C,m as E}from"./index-BOMJE6pT.js";const R={class:"rich-text"},B=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,m=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(m=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;m&&(c=Math.max(20,Math.round(m/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(E({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=C(()=>_(a.content));return(p,r)=>(n(),i("div",R,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:S({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,B)):u("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):u("",!0),t.type==="text"?(n(),i("span",M,W(t.text),1)):u("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/RichContent-Dt890otn.js b/frontend/dist/assets/RichContent-Dt890otn.js
new file mode 100644 (file)
index 0000000..39d8d16
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,E,l as m,t as S,x as W,n as R}from"./index-PW167vf4.js";const B={class:"rich-text"},C=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,u=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(u=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;u&&(c=Math.max(20,Math.round(u/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(R({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=W(()=>_(a.content));return(p,r)=>(n(),i("div",B,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:E({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,C)):m("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):m("",!0),t.type==="text"?(n(),i("span",M,S(t.text),1)):m("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/RichContent-DzYi85z4.js b/frontend/dist/assets/RichContent-DzYi85z4.js
new file mode 100644 (file)
index 0000000..3e50fc6
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,C as S,k as u,t as W,s as C,m as E}from"./index-DkiXflk7.js";const R={class:"rich-text"},B=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,m=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(m=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;m&&(c=Math.max(20,Math.round(m/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(E({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=C(()=>_(a.content));return(p,r)=>(n(),i("div",R,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:S({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,B)):u("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):u("",!0),t.type==="text"?(n(),i("span",M,W(t.text),1)):u("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/RichContent-rGkUG2Zf.js b/frontend/dist/assets/RichContent-rGkUG2Zf.js
new file mode 100644 (file)
index 0000000..cd9afff
--- /dev/null
@@ -0,0 +1 @@
+import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as i,F as f,r as v,A as S,k as u,t as W,G as E,m as R}from"./index-DOeeTpNX.js";const B={class:"rich-text"},C=["src","onError"],I={key:1,class:"img-error"},M={key:2},P={__name:"RichContent",props:{content:{type:String,default:""},maxWidth:{type:Number,default:800}},setup(h){const a=h;function _(p){const r=String(p||""),t=[],l=/!\[\]\s*\(\s*(.*?)\s*\)/g;let e=0,s;for(;(s=l.exec(r))!==null;){s.index>e&&t.push({type:"text",text:r.slice(e,s.index)});const d=s[1].trim();let o=d,m=null;if(d.includes("?")){const[g,w]=d.split("?",2);o=g;const x=w.match(/w=(\d+)/);x&&(m=parseInt(x[1]))}o=o.replace(/\\/g,"/").replace(/ /g,"");let c=null;m&&(c=Math.max(20,Math.round(m/9525)),c>a.maxWidth&&(c=a.maxWidth)),t.push(R({type:"img",src:"/StudyBase/"+encodeURI(o),width:c,failed:!1})),e=s.index+s[0].length}return e<r.length&&t.push({type:"text",text:r.slice(e)}),t}const y=E(()=>_(a.content));return(p,r)=>(n(),i("div",B,[(n(!0),i(f,null,v(y.value,(t,l)=>(n(),i(f,{key:l},[t.type==="img"&&!t.failed?(n(),i("img",{key:0,src:t.src,style:S({width:t.width?t.width+"px":void 0,maxWidth:h.maxWidth+"px"}),onError:e=>t.failed=!0},null,44,C)):u("",!0),t.type==="img"&&t.failed?(n(),i("span",I,"[图片加载错误]")):u("",!0),t.type==="text"?(n(),i("span",M,W(t.text),1)):u("",!0)],64))),128))]))}},b=k(P,[["__scopeId","data-v-d3039138"]]);export{b as R};
diff --git a/frontend/dist/assets/Settings-B_n5rYrZ.js b/frontend/dist/assets/Settings-B_n5rYrZ.js
new file mode 100644 (file)
index 0000000..80436b1
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-DibvQ1e4.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/Settings-C5kEP5bM.js b/frontend/dist/assets/Settings-C5kEP5bM.js
new file mode 100644 (file)
index 0000000..d91fd6f
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-DkiXflk7.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/Settings-D0wDkjQw.js b/frontend/dist/assets/Settings-D0wDkjQw.js
new file mode 100644 (file)
index 0000000..ba0d29b
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-DOeeTpNX.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/Settings-ihnKxQZE.js b/frontend/dist/assets/Settings-ihnKxQZE.js
new file mode 100644 (file)
index 0000000..cad90ac
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-BOMJE6pT.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/Settings-npd22zpr.js b/frontend/dist/assets/Settings-npd22zpr.js
new file mode 100644 (file)
index 0000000..e366e9e
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-PW167vf4.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/Settings-ozmhhD1-.js b/frontend/dist/assets/Settings-ozmhhD1-.js
new file mode 100644 (file)
index 0000000..bdc7f2d
--- /dev/null
@@ -0,0 +1 @@
+import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as r,a as s,o as i}from"./index-BrIQ4kjW.js";const l={},d={class:"nav-bar"},u={class:"content-area",style:{padding:"26px 50px"}};function p(n,t){return i(),r("div",null,[s("div",d,[s("button",{class:"btn",onClick:t[0]||(t[0]=o=>n.$router.push("/"))},"< 返回主页"),t[5]||(t[5]=s("span",{class:"nav-title"},"系统设定",-1))]),s("div",u,[t[6]||(t[6]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"基础数据管理",-1)),s("button",{class:"btn setting-btn",onClick:t[1]||(t[1]=o=>n.$router.push("/settings/subjects"))},"科目管理"),s("button",{class:"btn setting-btn",onClick:t[2]||(t[2]=o=>n.$router.push("/settings/error-causes"))},"错误原因管理"),s("button",{class:"btn setting-btn",onClick:t[3]||(t[3]=o=>n.$router.push("/settings/question-statuses"))},"题目状态管理"),t[7]||(t[7]=s("hr",{style:{border:"none","border-top":"1px solid #ddd",margin:"22px 0"}},null,-1)),t[8]||(t[8]=s("div",{style:{"font-weight":"bold","font-size":"14px","margin-bottom":"14px"}},"应用设定",-1)),s("button",{class:"btn setting-btn",onClick:t[4]||(t[4]=o=>n.$router.push("/settings/default-params"))},"默认参数设定")])])}const g=e(l,[["render",p],["__scopeId","data-v-dc043075"]]);export{g as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-8xwPjjGt.js b/frontend/dist/assets/SettingsDefaultParams-8xwPjjGt.js
new file mode 100644 (file)
index 0000000..766f40e
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,x as _,e as v,o,t as i,w as b,v as k,E as x,p as d,f as h}from"./index-PW167vf4.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},S=["onUpdate:modelValue"],B=["value"],C=["onClick"],z={__name:"SettingsDefaultParams",setup(M){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await h(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,B))),128))],8,S),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,C)]),e("div",{style:x([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{z as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-BIB3kSHq.js b/frontend/dist/assets/SettingsDefaultParams-BIB3kSHq.js
new file mode 100644 (file)
index 0000000..4177de7
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,s as _,e as v,o,t as i,w as b,v as k,C as h,n as d,f as x}from"./index-DkiXflk7.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},C=["onUpdate:modelValue"],S=["value"],B=["onClick"],z={__name:"SettingsDefaultParams",setup(M){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await x(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,S))),128))],8,C),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,B)]),e("div",{style:h([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{z as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-BrF5aqOp.js b/frontend/dist/assets/SettingsDefaultParams-BrF5aqOp.js
new file mode 100644 (file)
index 0000000..2acadbb
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,G as _,e as v,o,t as i,w as b,v as k,A as h,n as d,f as x}from"./index-DibvQ1e4.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},S=["onUpdate:modelValue"],A=["value"],B=["onClick"],V={__name:"SettingsDefaultParams",setup(C){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await x(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,A))),128))],8,S),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,B)]),e("div",{style:h([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{V as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-CSWz5hxb.js b/frontend/dist/assets/SettingsDefaultParams-CSWz5hxb.js
new file mode 100644 (file)
index 0000000..a0c724d
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,G as _,e as v,o,t as i,w as b,v as k,A as h,n as d,f as x}from"./index-DOeeTpNX.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},S=["onUpdate:modelValue"],A=["value"],B=["onClick"],V={__name:"SettingsDefaultParams",setup(C){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await x(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,A))),128))],8,S),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,B)]),e("div",{style:h([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{V as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-Dew8pbNX.js b/frontend/dist/assets/SettingsDefaultParams-Dew8pbNX.js
new file mode 100644 (file)
index 0000000..c1c2a26
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,G as _,e as v,o,t as i,w as b,v as k,A as h,n as d,f as x}from"./index-BrIQ4kjW.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},S=["onUpdate:modelValue"],A=["value"],B=["onClick"],V={__name:"SettingsDefaultParams",setup(C){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await x(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,A))),128))],8,S),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,B)]),e("div",{style:h([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{V as default};
diff --git a/frontend/dist/assets/SettingsDefaultParams-FUpfnogc.js b/frontend/dist/assets/SettingsDefaultParams-FUpfnogc.js
new file mode 100644 (file)
index 0000000..1ba675d
--- /dev/null
@@ -0,0 +1 @@
+import{b as g,c as n,a as e,F as p,r as c,d as y,s as _,e as v,o,t as i,w as b,v as k,C as h,n as d,f as x}from"./index-BOMJE6pT.js";const w={class:"nav-bar"},D={class:"content-area",style:{padding:"26px 40px","max-width":"760px"}},$={style:{"font-weight":"bold","margin-bottom":"10px"}},q={style:{display:"flex","align-items":"center",gap:"10px"}},C=["onUpdate:modelValue"],S=["value"],B=["onClick"],z={__name:"SettingsDefaultParams",setup(M){const r=v(null),m=_(()=>r.value?[{key:"term",table:"term",title:"默认学期设定",label:"默认学期"},{key:"stage",table:"stage",title:"默认阶段设定",label:"默认阶段"},{key:"question_origin",table:"question_origin",title:"默认题目出处设定",label:"默认出处"}].map(a=>{const t=r.value[a.key];return{...a,options:t.options,selected:t.default||t.options[0]||"",display:t.default_display,hasDefault:!!t.default}}):[]);async function u(){r.value=await y("/settings/default-params")}async function f(s){if(!s.selected){d("请选择一个选项!");return}const a={term:"默认term",stage:"默认stage",question_origin:"默认question_origin"};try{await x(`/settings/default-params/${s.table}`,{name:s.selected}),d(`成功:${a[s.table]}已设置为 '${s.selected}'`),await u()}catch(t){d(t.message)}}return g(u),(s,a)=>(o(),n("div",null,[e("div",w,[e("button",{class:"btn",onClick:a[0]||(a[0]=t=>s.$router.push("/settings"))},"< 返回系统设定"),a[1]||(a[1]=e("span",{class:"nav-title"},"默认参数设定",-1))]),e("div",D,[(o(!0),n(p,null,c(m.value,t=>(o(),n("div",{class:"card",key:t.key},[e("div",$,i(t.title),1),e("div",q,[e("label",null,"选择"+i(t.label)+":",1),b(e("select",{"onUpdate:modelValue":l=>t.selected=l,style:{flex:"1"}},[(o(!0),n(p,null,c(t.options,l=>(o(),n("option",{key:l,value:l},i(l),9,S))),128))],8,C),[[k,t.selected]]),e("button",{class:"btn",onClick:l=>f(t)},"确定",8,B)]),e("div",{style:h([{"margin-top":"10px","font-size":"13px"},{color:t.hasDefault?"green":"gray"}])}," 当前默认:"+i(t.display),5)]))),128))])]))}};export{z as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-BaHLnpUc.js b/frontend/dist/assets/SettingsErrorCauses-BaHLnpUc.js
new file mode 100644 (file)
index 0000000..07a6444
--- /dev/null
@@ -0,0 +1,2 @@
+import{I as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,n as r,H as y,C as D,f as v,p as F,G as k,e as m,o as u,x as w,k as G}from"./index-BrIQ4kjW.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"nav-bar"},A={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},H={class:"card",style:{flex:"1","min-height":"400px"}},L={class:"cause-tree"},M=["onClick"],R={key:0},T=["onClick"],j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},q={__name:"SettingsErrorCauses",setup(J){const p=m([]),a=m(null),f=m("当前状态: -"),x=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function h(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await D(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?F(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,h),P(c),(t,s)=>(u(),i("div",null,[n("div",V,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",A,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",H,[n("ul",L,[(u(!0),i(_,null,C(x.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,M),e.children&&e.children.length?(u(),i("ul",R,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,T)]))),128))])):G("",!0)]))),128))])])]),n("div",j,o(f.value),1)]))}},Q=I(q,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-BihAspO3.js b/frontend/dist/assets/SettingsErrorCauses-BihAspO3.js
new file mode 100644 (file)
index 0000000..695cb2c
--- /dev/null
@@ -0,0 +1,2 @@
+import{J as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,n as r,I as y,E as D,f as v,p as F,s as k,e as m,o as u,y as w,k as I}from"./index-DkiXflk7.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"nav-bar"},G={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},J={class:"card",style:{flex:"1","min-height":"400px"}},L={class:"cause-tree"},M=["onClick"],R={key:0},T=["onClick"],j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},q={__name:"SettingsErrorCauses",setup(H){const p=m([]),a=m(null),f=m("当前状态: -"),h=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function x(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await D(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?F(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,x),P(c),(t,s)=>(u(),i("div",null,[n("div",A,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",G,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",J,[n("ul",L,[(u(!0),i(_,null,C(h.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,M),e.children&&e.children.length?(u(),i("ul",R,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,T)]))),128))])):I("",!0)]))),128))])])]),n("div",j,o(f.value),1)]))}},Q=V(q,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-BpvO0Xqb.js b/frontend/dist/assets/SettingsErrorCauses-BpvO0Xqb.js
new file mode 100644 (file)
index 0000000..b1d92d7
--- /dev/null
@@ -0,0 +1,2 @@
+import{L as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,p as r,K as y,H as A,f as v,q as D,x as k,e as m,o as u,A as w,l as F}from"./index-PW167vf4.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"nav-bar"},q={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},G={class:"card",style:{flex:"1","min-height":"400px"}},H={class:"cause-tree"},I=["onClick"],K={key:0},M=["onClick"],R={style:{padding:"0 20px",color:"#555","font-size":"12px"}},T={__name:"SettingsErrorCauses",setup(j){const p=m([]),a=m(null),f=m("当前状态: -"),x=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function h(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await A(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?D(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,h),P(c),(t,s)=>(u(),i("div",null,[n("div",V,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",q,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",G,[n("ul",H,[(u(!0),i(_,null,C(x.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,I),e.children&&e.children.length?(u(),i("ul",K,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,M)]))),128))])):F("",!0)]))),128))])])]),n("div",R,o(f.value),1)]))}},Q=L(T,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-Bzx6UdA9.js b/frontend/dist/assets/SettingsErrorCauses-Bzx6UdA9.js
new file mode 100644 (file)
index 0000000..8ff678a
--- /dev/null
@@ -0,0 +1,2 @@
+import{I as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,n as r,H as y,C as D,f as v,p as F,G as k,e as m,o as u,x as w,k as G}from"./index-DibvQ1e4.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"nav-bar"},A={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},H={class:"card",style:{flex:"1","min-height":"400px"}},L={class:"cause-tree"},M=["onClick"],R={key:0},T=["onClick"],j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},q={__name:"SettingsErrorCauses",setup(J){const p=m([]),a=m(null),f=m("当前状态: -"),x=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function h(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await D(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?F(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,h),P(c),(t,s)=>(u(),i("div",null,[n("div",V,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",A,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",H,[n("ul",L,[(u(!0),i(_,null,C(x.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,M),e.children&&e.children.length?(u(),i("ul",R,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,T)]))),128))])):G("",!0)]))),128))])])]),n("div",j,o(f.value),1)]))}},Q=I(q,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-DXk9YCwi.js b/frontend/dist/assets/SettingsErrorCauses-DXk9YCwi.js
new file mode 100644 (file)
index 0000000..608abf6
--- /dev/null
@@ -0,0 +1,2 @@
+import{I as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,n as r,H as y,C as D,f as v,p as F,G as k,e as m,o as u,x as w,k as G}from"./index-DOeeTpNX.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"nav-bar"},A={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},H={class:"card",style:{flex:"1","min-height":"400px"}},L={class:"cause-tree"},M=["onClick"],R={key:0},T=["onClick"],j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},q={__name:"SettingsErrorCauses",setup(J){const p=m([]),a=m(null),f=m("当前状态: -"),x=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function h(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await D(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?F(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,h),P(c),(t,s)=>(u(),i("div",null,[n("div",V,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",A,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",H,[n("ul",L,[(u(!0),i(_,null,C(x.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,M),e.children&&e.children.length?(u(),i("ul",R,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,T)]))),128))])):G("",!0)]))),128))])])]),n("div",j,o(f.value),1)]))}},Q=I(q,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsErrorCauses-ah-wZfvd.js b/frontend/dist/assets/SettingsErrorCauses-ah-wZfvd.js
new file mode 100644 (file)
index 0000000..81b73b3
--- /dev/null
@@ -0,0 +1,2 @@
+import{J as B,b as P,c as i,a as n,F as _,r as C,t as o,d as z,n as r,I as y,E as D,f as v,p as F,s as k,e as m,o as u,y as w,k as I}from"./index-BOMJE6pT.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"nav-bar"},G={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},J={class:"card",style:{flex:"1","min-height":"400px"}},L={class:"cause-tree"},M=["onClick"],R={key:0},T=["onClick"],j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},q={__name:"SettingsErrorCauses",setup(H){const p=m([]),a=m(null),f=m("当前状态: -"),h=k(()=>{const t={},s=[];for(const e of p.value)e.parent_id===null?s.push(e):(t[e.parent_id]||(t[e.parent_id]=[]),t[e.parent_id].push(e));return s.map(e=>({...e,children:t[e.id]||[]}))}),d=k(()=>p.value.find(t=>t.id===a.value));function x(){const t=d.value;if(t){const s=t.parent_id===null?"顶级原因":"子原因";f.value=`选中: ${t.cause}  |  类型: ${s}  |  状态: ${t.enabled?"启用":"停用"}`}else f.value="当前状态: -"}async function c(){const t=await z("/settings/error-causes");p.value=t.rows}async function $(){await b(null)}async function S(){if(a.value===null){r("请先选择一个【顶级原因】作为父级。");return}const t=d.value;if(t.parent_id!==null){r(`最多只支持两级错误原因。
+您不能在子原因下继续添加。`);return}if(!t.enabled){r("该父级原因已停用,无法添加子原因。");return}await b(t.id)}async function b(t){const e=y(t===null?"新增顶级原因":"新增子原因","请输入原因名称 (最多5个中文字符):");if(e===null)return;const l=e.trim();if(l)try{await v("/settings/error-causes",{name:l,parent_id:t}),await c()}catch(g){r(g.message)}}async function E(){if(a.value===null)return;const t=d.value,s=y("编辑名称","修改名称:",t.cause);if(s===null)return;const e=s.trim();if(e)try{await D(`/settings/error-causes/${a.value}`,{name:e}),await c()}catch(l){r(l.message)}}async function N(){if(a.value===null)return;d.value.enabled;try{await v(`/settings/error-causes/${a.value}/toggle`),await c()}catch(s){s.needConfirm?F(s.message)&&(await v(`/settings/error-causes/${a.value}/toggle-force`),await c()):r(s.message)}}return B(a,x),P(c),(t,s)=>(u(),i("div",null,[n("div",A,[n("button",{class:"btn",onClick:s[0]||(s[0]=e=>t.$router.push("/settings"))},"< 返回设置"),s[1]||(s[1]=n("span",{class:"nav-title"},"错误原因管理",-1))]),n("div",G,[n("div",{style:{width:"180px","flex-shrink":"0"}},[s[2]||(s[2]=n("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),n("button",{class:"btn side-btn",onClick:$},"📂 新增顶级原因"),n("button",{class:"btn side-btn",onClick:S},"↳ 新增子原因"),s[3]||(s[3]=n("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),n("button",{class:"btn side-btn",onClick:E},"✎ 编辑名称"),n("button",{class:"btn side-btn",onClick:N},"✅ 启用/停用")]),n("div",J,[n("ul",L,[(u(!0),i(_,null,C(h.value,e=>(u(),i("li",{key:e.id},[n("div",{class:w(["node",{selected:a.value===e.id,disabled:!e.enabled}]),onClick:l=>a.value=e.id},o(e.parent_id===null?"📂":"📄")+" "+o(e.cause)+o(e.enabled?"":" (已停用)"),11,M),e.children&&e.children.length?(u(),i("ul",R,[(u(!0),i(_,null,C(e.children,l=>(u(),i("li",{key:l.id},[n("div",{class:w(["node",{selected:a.value===l.id,disabled:!l.enabled}]),onClick:g=>a.value=l.id}," 📄 "+o(l.cause)+o(l.enabled?"":" (已停用)"),11,T)]))),128))])):I("",!0)]))),128))])])]),n("div",j,o(f.value),1)]))}},Q=V(q,[["__scopeId","data-v-cd6f6757"]]);export{Q as default};
diff --git a/frontend/dist/assets/SettingsStatuses-BFiGZhoA.js b/frontend/dist/assets/SettingsStatuses-BFiGZhoA.js
new file mode 100644 (file)
index 0000000..2fd993a
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,i as _,k as q,d as V,n as o,p as B,f as x,e as d,E,o as b,y as I}from"./index-BOMJE6pT.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"nav-bar"},T={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},z={class:"card",style:{flex:"1"}},A={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},G={style:{padding:"0 20px",color:"#555","font-size":"12px"}},L={key:0,class:"modal-mask"},O={class:"modal"},j={class:"modal-header"},H={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await E(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(B(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",N,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",T,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",z,[t("table",A,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:I(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",G,i(m.value),1),r.value?(b(),f("div",L,[t("div",O,[t("div",j,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",H,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=M(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsStatuses-C0GK4zk7.js b/frontend/dist/assets/SettingsStatuses-C0GK4zk7.js
new file mode 100644 (file)
index 0000000..f5c359a
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,i as _,k as q,d as V,n as o,p as B,f as x,e as d,C as I,o as b,x as M}from"./index-BrIQ4kjW.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={class:"nav-bar"},z={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},A={class:"card",style:{flex:"1"}},E={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},G={style:{padding:"0 20px",color:"#555","font-size":"12px"}},L={key:0,class:"modal-mask"},O={class:"modal"},j={class:"modal-header"},H={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await I(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(B(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",T,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",z,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",A,[t("table",E,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:M(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",G,i(m.value),1),r.value?(b(),f("div",L,[t("div",O,[t("div",j,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",H,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=N(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsStatuses-CwBQhWMX.js b/frontend/dist/assets/SettingsStatuses-CwBQhWMX.js
new file mode 100644 (file)
index 0000000..0fed480
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,i as _,k as q,d as V,n as o,p as B,f as x,e as d,C as I,o as b,x as M}from"./index-DOeeTpNX.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={class:"nav-bar"},z={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},A={class:"card",style:{flex:"1"}},E={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},G={style:{padding:"0 20px",color:"#555","font-size":"12px"}},L={key:0,class:"modal-mask"},O={class:"modal"},j={class:"modal-header"},H={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await I(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(B(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",T,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",z,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",A,[t("table",E,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:M(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",G,i(m.value),1),r.value?(b(),f("div",L,[t("div",O,[t("div",j,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",H,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=N(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsStatuses-D5-SnQ6F.js b/frontend/dist/assets/SettingsStatuses-D5-SnQ6F.js
new file mode 100644 (file)
index 0000000..3076211
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,i as _,k as q,d as V,n as o,p as B,f as x,e as d,C as I,o as b,x as M}from"./index-DibvQ1e4.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={class:"nav-bar"},z={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},A={class:"card",style:{flex:"1"}},E={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},G={style:{padding:"0 20px",color:"#555","font-size":"12px"}},L={key:0,class:"modal-mask"},O={class:"modal"},j={class:"modal-header"},H={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await I(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(B(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",T,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",z,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",A,[t("table",E,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:M(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",G,i(m.value),1),r.value?(b(),f("div",L,[t("div",O,[t("div",j,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",H,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=N(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsStatuses-DrtyLa7_.js b/frontend/dist/assets/SettingsStatuses-DrtyLa7_.js
new file mode 100644 (file)
index 0000000..595374e
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,i as _,k as q,d as V,n as o,p as B,f as x,e as d,E,o as b,y as I}from"./index-DkiXflk7.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"nav-bar"},T={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},z={class:"card",style:{flex:"1"}},A={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},G={style:{padding:"0 20px",color:"#555","font-size":"12px"}},L={key:0,class:"modal-mask"},O={class:"modal"},j={class:"modal-header"},H={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await E(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(B(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",N,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",T,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",z,[t("table",A,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:I(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",G,i(m.value),1),r.value?(b(),f("div",L,[t("div",O,[t("div",j,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",H,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=M(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsStatuses-hfl4r0IW.js b/frontend/dist/assets/SettingsStatuses-hfl4r0IW.js
new file mode 100644 (file)
index 0000000..490a650
--- /dev/null
@@ -0,0 +1 @@
+import{b as $,c as f,a as t,F as S,r as D,t as i,w as g,j as _,l as q,d as V,p as o,q as A,f as x,e as d,H as B,o as b,A as I}from"./index-PW167vf4.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"nav-bar"},T={class:"content-area",style:{padding:"20px",display:"flex",gap:"14px"}},z={class:"card",style:{flex:"1"}},E={class:"data-table"},F=["onClick"],P={class:"center"},U={class:"center"},j={style:{padding:"0 20px",color:"#555","font-size":"12px"}},G={key:0,class:"modal-mask"},H={class:"modal"},L={class:"modal-header"},O={class:"modal-body"},J={class:"form-row"},K={class:"form-row"},Q={class:"modal-footer2"},R={__name:"SettingsStatuses",setup(W){const c=d([]),n=d(null),m=d("就绪"),r=d(!1),v=d("add"),l=d(""),u=d("");async function p(){const a=await V("/settings/question-statuses");c.value=a.rows}function w(){v.value="add",l.value="",u.value="",r.value=!0}async function k(){if(!l.value.trim()){o("状态名称不能为空");return}if(l.value.trim().length>20){o("状态名称过长(建议20字以内)");return}try{await x("/settings/question-statuses",{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功添加状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}function y(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(e=>e.id===n.value);v.value="edit",l.value=a.name,u.value=a.description||"",r.value=!0}async function C(){if(!l.value.trim()){o("状态名称不能为空");return}try{await B(`/settings/question-statuses/${n.value}`,{name:l.value.trim(),description:u.value.trim()}),r.value=!1,m.value=`成功修改状态: ${l.value.trim()}`,await p()}catch(a){o(a.message)}}async function h(){if(n.value===null){o("请先选择一行数据");return}const a=c.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(A(`确定要 ${e} 状态【${a.name}】吗?`))try{await x(`/settings/question-statuses/${n.value}/toggle`),m.value=`已${e}: ${a.name}`,await p()}catch(s){o(s.message)}}return $(p),(a,e)=>(b(),f("div",null,[t("div",N,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[4]||(e[4]=t("span",{class:"nav-title"},"题目状态管理",-1))]),t("div",T,[t("div",{style:{width:"180px","flex-shrink":"0"}},[e[5]||(e[5]=t("div",{style:{"font-weight":"bold","margin-bottom":"12px"}},"操作菜单",-1)),t("button",{class:"btn side-btn",onClick:w},"✚ 新增状态"),t("button",{class:"btn side-btn",onClick:y},"✎ 编辑选中"),e[6]||(e[6]=t("hr",{style:{border:"none","border-top":"1px solid #CCCCCC",margin:"14px 0"}},null,-1)),t("button",{class:"btn side-btn",onClick:h},"✅ 启用/停用")]),t("div",z,[t("table",E,[e[7]||(e[7]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"状态名称"),t("th",{style:{cursor:"default"}},"状态描述"),t("th",{style:{cursor:"default"}},"当前状态")])],-1)),t("tbody",null,[(b(!0),f(S,null,D(c.value,s=>(b(),f("tr",{key:s.id,class:I(["clickable",{selected:n.value===s.id}]),onClick:X=>n.value=s.id,onDblclick:y},[t("td",P,i(s.id),1),t("td",null,i(s.name),1),t("td",null,i(s.description),1),t("td",U,i(s.enabled?"✅ 启用":"❌ 停用"),1)],42,F))),128))])])])]),t("div",j,i(m.value),1),r.value?(b(),f("div",G,[t("div",H,[t("div",L,i(v.value==="add"?"新增题目状态":"编辑题目状态"),1),t("div",O,[t("div",J,[e[8]||(e[8]=t("label",null,"状态名称:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=s=>l.value=s),style:{width:"220px"}},null,512),[[_,l.value]])]),t("div",K,[e[9]||(e[9]=t("label",null,"状态描述:",-1)),g(t("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=s=>u.value=s),style:{width:"220px"}},null,512),[[_,u.value]])])]),t("div",Q,[t("button",{class:"btn primary",onClick:e[3]||(e[3]=s=>v.value==="add"?k():C())},i(v.value==="add"?"保存":"更新"),1)])])])):q("",!0)]))}},tt=M(R,[["__scopeId","data-v-f1401540"]]);export{tt as default};
diff --git a/frontend/dist/assets/SettingsSubjects-BPmchdP9.js b/frontend/dist/assets/SettingsSubjects-BPmchdP9.js
new file mode 100644 (file)
index 0000000..9c21a50
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,H as d,f as b,n as l,C as h,p as w,e as f,o as r,x as j,t as i}from"./index-BrIQ4kjW.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"nav-bar"},S={class:"content-area",style:{padding:"20px"}},$={class:"card"},B={class:"data-table"},D=["onClick"],I={class:"center"},P={class:"center"},F={class:"center"},N={__name:"SettingsSubjects",setup(z){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",x,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",S,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",B,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:A=>n.value=s.id},[t("td",I,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",F,i(s.create_time),1)],10,D))),128))])])])])]))}},H=C(N,[["__scopeId","data-v-f827c0e4"]]);export{H as default};
diff --git a/frontend/dist/assets/SettingsSubjects-C7YQ_a9Q.js b/frontend/dist/assets/SettingsSubjects-C7YQ_a9Q.js
new file mode 100644 (file)
index 0000000..d9b646d
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,I as d,f as b,n as l,E as h,p as w,e as f,o as r,y as j,t as i}from"./index-BOMJE6pT.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"nav-bar"},x={class:"content-area",style:{padding:"20px"}},$={class:"card"},I={class:"data-table"},B=["onClick"],D={class:"center"},P={class:"center"},E={class:"center"},F={__name:"SettingsSubjects",setup(N){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",S,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",x,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",I,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:z=>n.value=s.id},[t("td",D,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",E,i(s.create_time),1)],10,B))),128))])])])])]))}},L=C(F,[["__scopeId","data-v-f827c0e4"]]);export{L as default};
diff --git a/frontend/dist/assets/SettingsSubjects-CiqUs0Im.js b/frontend/dist/assets/SettingsSubjects-CiqUs0Im.js
new file mode 100644 (file)
index 0000000..81b9798
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,I as d,f as b,n as l,E as h,p as w,e as f,o as r,y as j,t as i}from"./index-DkiXflk7.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"nav-bar"},x={class:"content-area",style:{padding:"20px"}},$={class:"card"},I={class:"data-table"},B=["onClick"],D={class:"center"},P={class:"center"},E={class:"center"},F={__name:"SettingsSubjects",setup(N){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",S,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",x,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",I,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:z=>n.value=s.id},[t("td",D,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",E,i(s.create_time),1)],10,B))),128))])])])])]))}},L=C(F,[["__scopeId","data-v-f827c0e4"]]);export{L as default};
diff --git a/frontend/dist/assets/SettingsSubjects-IFRz_NQA.js b/frontend/dist/assets/SettingsSubjects-IFRz_NQA.js
new file mode 100644 (file)
index 0000000..e15fcce
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,H as d,f as b,n as l,C as h,p as w,e as f,o as r,x as j,t as i}from"./index-DibvQ1e4.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"nav-bar"},S={class:"content-area",style:{padding:"20px"}},$={class:"card"},B={class:"data-table"},D=["onClick"],I={class:"center"},P={class:"center"},F={class:"center"},N={__name:"SettingsSubjects",setup(z){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",x,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",S,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",B,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:A=>n.value=s.id},[t("td",I,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",F,i(s.create_time),1)],10,D))),128))])])])])]))}},H=C(N,[["__scopeId","data-v-f827c0e4"]]);export{H as default};
diff --git a/frontend/dist/assets/SettingsSubjects-lK432mNm.js b/frontend/dist/assets/SettingsSubjects-lK432mNm.js
new file mode 100644 (file)
index 0000000..b433861
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,K as d,f as b,p as l,H as h,q as w,e as f,o as r,A as j,t as i}from"./index-PW167vf4.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"nav-bar"},x={class:"content-area",style:{padding:"20px"}},$={class:"card"},B={class:"data-table"},D=["onClick"],I={class:"center"},P={class:"center"},A={class:"center"},F={__name:"SettingsSubjects",setup(N){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",S,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",x,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",B,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:q=>n.value=s.id},[t("td",I,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",A,i(s.create_time),1)],10,D))),128))])])])])]))}},G=C(F,[["__scopeId","data-v-f827c0e4"]]);export{G as default};
diff --git a/frontend/dist/assets/SettingsSubjects-zRYjSJhv.js b/frontend/dist/assets/SettingsSubjects-zRYjSJhv.js
new file mode 100644 (file)
index 0000000..4fa39b9
--- /dev/null
@@ -0,0 +1 @@
+import{b as m,c as u,a as t,F as g,r as y,d as k,H as d,f as b,n as l,C as h,p as w,e as f,o as r,x as j,t as i}from"./index-DOeeTpNX.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"nav-bar"},S={class:"content-area",style:{padding:"20px"}},$={class:"card"},B={class:"data-table"},D=["onClick"],I={class:"center"},P={class:"center"},F={class:"center"},N={__name:"SettingsSubjects",setup(z){const o=f([]),n=f(null);async function c(){const a=await k("/settings/subjects");o.value=a.rows}async function p(){const a=d("新增学科","请输入学科名称 (最多10字):");if(!(a===null||a===""))try{await b("/settings/subjects",{name:a}),await c()}catch(e){l(e.message)}}async function _(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=d("编辑学科","修改学科名称:",a.subject);if(!(e===null||e===""))try{await h(`/settings/subjects/${n.value}`,{name:e}),await c()}catch(s){l(s.message)}}async function v(){if(n.value===null){l("请先选择一行数据");return}const a=o.value.find(s=>s.id===n.value),e=a.enabled?"停用":"启用";if(w(`确定要 ${e} 学科【${a.subject}】吗?`))try{await b(`/settings/subjects/${n.value}/toggle`),await c()}catch(s){l(s.message)}}return m(c),(a,e)=>(r(),u("div",null,[t("div",x,[t("button",{class:"btn",onClick:e[0]||(e[0]=s=>a.$router.push("/settings"))},"< 返回设置"),e[1]||(e[1]=t("span",{class:"nav-title"},"学科管理",-1))]),t("div",S,[t("div",$,[t("div",{style:{display:"flex",gap:"10px","margin-bottom":"12px"}},[t("button",{class:"btn",onClick:p},"+ 新增学科"),t("button",{class:"btn",onClick:_},"编辑名称"),t("button",{class:"btn",onClick:v},"启用/停用")]),t("table",B,[e[2]||(e[2]=t("thead",null,[t("tr",null,[t("th",{style:{cursor:"default"}},"ID"),t("th",{style:{cursor:"default"}},"学科名称"),t("th",{style:{cursor:"default"}},"状态"),t("th",{style:{cursor:"default"}},"创建时间")])],-1)),t("tbody",null,[(r(!0),u(g,null,y(o.value,s=>(r(),u("tr",{key:s.id,class:j(["clickable",{selected:n.value===s.id}]),onClick:A=>n.value=s.id},[t("td",I,i(s.id),1),t("td",null,i(s.subject),1),t("td",P,i(s.enabled?"✅ 启用":"❌ 停用"),1),t("td",F,i(s.create_time),1)],10,D))),128))])])])])]))}},H=C(N,[["__scopeId","data-v-f827c0e4"]]);export{H as default};
diff --git a/frontend/dist/assets/SubjectPortal-BYEldTOj.js b/frontend/dist/assets/SubjectPortal-BYEldTOj.js
new file mode 100644 (file)
index 0000000..78a3ac5
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-PW167vf4.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/SubjectPortal-CTsGM0p8.js b/frontend/dist/assets/SubjectPortal-CTsGM0p8.js
new file mode 100644 (file)
index 0000000..6280980
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-BrIQ4kjW.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/SubjectPortal-CVuLQhux.js b/frontend/dist/assets/SubjectPortal-CVuLQhux.js
new file mode 100644 (file)
index 0000000..7a2e7a9
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-DOeeTpNX.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/SubjectPortal-Cvg6qMAs.js b/frontend/dist/assets/SubjectPortal-Cvg6qMAs.js
new file mode 100644 (file)
index 0000000..3b3faa4
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-DkiXflk7.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/SubjectPortal-DtXnQHBZ.js b/frontend/dist/assets/SubjectPortal-DtXnQHBZ.js
new file mode 100644 (file)
index 0000000..7401884
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-DibvQ1e4.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/SubjectPortal-psoCDdI8.js b/frontend/dist/assets/SubjectPortal-psoCDdI8.js
new file mode 100644 (file)
index 0000000..d1de36f
--- /dev/null
@@ -0,0 +1 @@
+import{b as y,d as x,c as d,a as s,w as _,v as w,F as b,r as g,t as e,e as r,f as m,o as p,g as h,h as k}from"./index-BOMJE6pT.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"page-header"},D={class:"content-area"},j={class:"card"},$={class:"row",style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},S=["value"],V=["onUpdate:modelValue"],z={style:{display:"flex",gap:"20px","flex-wrap":"wrap"}},B={class:"card stat-card",style:{flex:"1","min-width":"360px"}},E={class:"stat-line"},I={class:"stat-val",style:{color:"#333"}},M={class:"stat-line"},P={class:"stat-val",style:{color:"#2E7D32"}},U={class:"stat-line"},A={class:"stat-val big",style:{color:"#1976D2"}},N={class:"stat-line"},G={class:"stat-val",style:{color:"#D32F2F"}},L={class:"card stat-card",style:{flex:"1","min-width":"360px"}},O={class:"stat-line"},T={class:"stat-val",style:{color:"#333"}},q={class:"stat-line"},H={class:"stat-val",style:{color:"#2E7D32"}},J={class:"stat-line"},K={class:"stat-val big",style:{color:"#F57C00"}},Q={class:"stat-line"},R={class:"stat-val",style:{color:"#D32F2F"}},W={style:{display:"flex",gap:"15px","margin-top":"20px","justify-content":"center","flex-wrap":"wrap"}},X={__name:"SubjectPortal",setup(Y){const n=r(["数学"]),c=r([]),u=r({}),i=r("数学"),o=r({wrong_total:0,wrong_fixed:0,wrong_ratio:"0%",wrong_remained:0,push_total:0,push_fixed:0,push_ratio:"0%",push_remained:0});async function v(){const l=Object.entries(u.value).filter(([,t])=>t).map(([t])=>parseInt(t));o.value=await m("/portal/stats",{subject:i.value,stage_ids:l})}return y(async()=>{const l=await x("/portal/options");n.value=l.subjects,n.value.length&&!n.value.includes(i.value)&&(i.value=n.value[0]),c.value=l.stages;const t={};for(const a of l.stages)t[a.id]=!0;u.value=t,await v()}),(l,t)=>(p(),d("div",null,[s("div",C,[t[5]||(t[5]=s("span",{class:"title"},"科目概要面板",-1)),s("button",{class:"btn",onClick:t[0]||(t[0]=a=>l.$router.push("/"))},"返回首页")]),s("div",D,[s("div",j,[s("div",$,[t[6]||(t[6]=s("label",null,"当前科目:",-1)),_(s("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>i.value=a),onChange:v},[(p(!0),d(b,null,g(n.value,a=>(p(),d("option",{key:a,value:a},e(a),9,S))),128))],544),[[w,i.value]]),t[7]||(t[7]=s("label",{style:{"margin-left":"20px"}},"统计阶段:",-1)),(p(!0),d(b,null,g(c.value,a=>(p(),d("label",{key:a.id,style:{"font-size":"13px"}},[_(s("input",{type:"checkbox","onUpdate:modelValue":f=>u.value[a.id]=f},null,8,V),[[h,u.value[a.id]]]),k(" "+e(a.name),1)]))),128)),s("button",{class:"btn",onClick:v},"确定统计")])]),s("div",z,[s("div",B,[t[12]||(t[12]=s("div",{class:"stat-title",style:{color:"#E64A19"}},"错题情况回顾",-1)),s("div",E,[t[8]||(t[8]=s("span",{class:"stat-label"},"错题总数:",-1)),s("span",I,e(o.value.wrong_total),1)]),s("div",M,[t[9]||(t[9]=s("span",{class:"stat-label"},"已解决数:",-1)),s("span",P,e(o.value.wrong_fixed),1)]),s("div",U,[t[10]||(t[10]=s("span",{class:"stat-label"},"解决比例:",-1)),s("span",A,e(o.value.wrong_ratio),1)]),s("div",N,[t[11]||(t[11]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",G,e(o.value.wrong_remained),1)])]),s("div",L,[t[17]||(t[17]=s("div",{class:"stat-title",style:{color:"#00796B"}},"强化推题追踪",-1)),s("div",O,[t[13]||(t[13]=s("span",{class:"stat-label"},"推题总数:",-1)),s("span",T,e(o.value.push_total),1)]),s("div",q,[t[14]||(t[14]=s("span",{class:"stat-label"},"已完成数:",-1)),s("span",H,e(o.value.push_fixed),1)]),s("div",J,[t[15]||(t[15]=s("span",{class:"stat-label"},"完成比例:",-1)),s("span",K,e(o.value.push_ratio),1)]),s("div",Q,[t[16]||(t[16]=s("span",{class:"stat-label"},"遗留题目数:",-1)),s("span",R,e(o.value.push_remained),1)])])]),s("div",W,[s("button",{class:"btn",style:{background:"#FF4D4F",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[2]||(t[2]=a=>l.$router.push("/analysis/pending"))},"遗留分析"),s("button",{class:"btn",style:{background:"#1890FF",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[3]||(t[3]=a=>l.$router.push("/analysis/chapters"))},"章节分析"),s("button",{class:"btn",style:{background:"#52C41A",color:"#000","font-weight":"bold",padding:"10px 30px","font-size":"14px"},onClick:t[4]||(t[4]=a=>l.$router.push("/analysis/knowledge"))},"知识点分析")])])]))}},ts=F(X,[["__scopeId","data-v-3b1b110d"]]);export{ts as default};
diff --git a/frontend/dist/assets/index-BOMJE6pT.js b/frontend/dist/assets/index-BOMJE6pT.js
new file mode 100644 (file)
index 0000000..7bb9908
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-DSZHIi8n.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-psoCDdI8.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-Bs9oEJQF.js","assets/RichContent-Cq46Yax7.js","assets/RichContent-i88-frEH.css","assets/QuestionList-CA8Qsvpt.css","assets/QuestionAdd-D0KqaGXB.js","assets/FileImport--I9YWVLX.js","assets/FileImport-BnZT11gH.css","assets/ImportPreview-BPXTOPlY.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-CtnPZLa4.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-CDtu9QV9.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-eG23FHGP.js","assets/AnalysisChapters-BBRt3PBf.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-CMjlx0SS.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-ChIZdm2W.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-ihnKxQZE.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-C7YQ_a9Q.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-ah-wZfvd.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-BFiGZhoA.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),jn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=jn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=jn(e=>e.replace(Eo,"-$1").toLowerCase()),Fn=jn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=jn(e=>e?`on${Fn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?Ft(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function jo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return jo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class Fo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new Fo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?Ft:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?Ft:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?Ft:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function js(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:js(!1,!1)},Wo={get:js(!1,!0)},qo={get:js(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:Fs(e,!1,Ho,ko,ai)}function pi(e){return Fs(e,!1,Uo,Wo,di)}function _s(e){return Fs(e,!0,Bo,qo,hi)}function Fs(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,Ft=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),j=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return j(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),j.pause=f.pause.bind(f),j.resume=f.resume.bind(f),j.stop=j,j}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function of(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||jt){let r=jt?jt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const j=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{j(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),j()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===Fn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[Fn(_e(t))])}function lf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?Ft(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:j,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,je=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>je.value,set:ye=>je.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=jt;jt=a;try{return f()}finally{jt=h}}};return a}}let jt=null;const jl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function Fl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&jl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let j,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;j=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;j=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),j=Re(lt)}let N=j;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return j=N,On(H),j}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),ji(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{ji(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function ji(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function Fi(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=Fi(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let j=0;j<I.length;++j){const O=I[j],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:j(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},j=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:F}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),F&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}F&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||F)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),F&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let F;if(p&&Et(p,!1),(F=M.onVnodeBeforeUpdate)&&Ue(F,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((F=M.onVnodeUpdated)||V)&&ve(()=>{F&&Ue(F,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:F}=d;F&&(R=R?R.concat(F):F),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);j(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:F,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),Fe=u.subTree;u.subTree=ce,w(Fe,ce,h(Fe.el),v(Fe),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),F&&ve(F,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:F}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,Fe=en(d);Et(u,!1),K&&An(K),!Fe&&(C=F&&F.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!Fe&&(C=F&&F.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:F}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}F&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?F&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),F&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const F=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],F,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const F=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const F=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const F=M+1,K=F<V?d[F].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const F=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let Fe=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=F;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:Fe=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=Fe?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):Fe&&(J<0||E!==zs[J]?je(Be,p,Qs,2):J--)}}},je=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){je(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)je(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:F}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),F&&F()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:F,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),F!=null&&(d.renderCache[F]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&F==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:je,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function cf(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function uf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Fi(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Fl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=Fn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(jc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function jc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function Fc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const ff={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",Fc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},af={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const df={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},hf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc=["ctrl","shift","alt","meta"],Uc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Bc.some(n=>e[`${n}Key`]&&!t.includes(n))},pf=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o<t.length;o++){const l=Uc[t[o]];if(l&&l(r,t))return}return e(r,...i)})},Kc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},gf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Kc[o]===i))return e(r)})},Gc=fe({patchProp:Lc},yc);let Pr;function kc(){return Pr||(Pr=Ql(Gc))}const Wc=(...e)=>{const t=kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=$c(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function qc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $c(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,Jc=/&/g,Qc=/\//g,Yc=/=/g,Xc=/\?/g,io=/\+/g,Zc=/%5B/g,eu=/%5D/g,oo=/%5E/g,tu=/%60/g,lo=/%7B/g,nu=/%7C/g,co=/%7D/g,su=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(nu,"|").replace(Zc,"[").replace(eu,"]")}function ru(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(su,"+").replace(ro,"%23").replace(Jc,"%26").replace(tu,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function iu(e){return Rs(e).replace(Yc,"%3D")}function ou(e){return qs(e).replace(ro,"%23").replace(Xc,"%3F")}function lu(e){return ou(e).replace(Qc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const cu=/\/$/,uu=e=>e.replace(cu,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=hu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function fu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function au(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!du(e[n],t[n]))return!1;return!0}function du(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function hu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function pu(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),uu(e)}const gu=/^[^#]+#/;function mu(e,t){return e.replace(gu,"#")+t}function _u(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function yu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=_u(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function vu(e,t){ws.set(e,t)}function bu(e){const t=ws.get(e);return ws.delete(e),t}function Eu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const Au=["params","query","hash"];function Ru(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Au)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function xu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=iu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function wu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Su=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):Eu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=zc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function Cu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Ou=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Pu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(j=>{j(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Tu(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Ou()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Iu(e){e=pu(e);const t=Tu(e),n=Pu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:mu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Nu={type:xt.Static,value:""},Du=/[a-zA-Z0-9_]/;function Mu(e){if(!e)return[[]];if(e==="/")return[[Nu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Du.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const jr="[^/]+?",Lu={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Vu=/[.+*?^${}()[\]/\\]/g;function ju(e,t){const n=k({},Lu,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Vu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:j}=g;i.push({name:I,repeatable:w,optional:H});const O=j||jr;if(O!==jr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,j=I in a?a[I]:"";if(De(j)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(j)?j.join("/"):j;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Fu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Fu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Fr(s))return 1;if(Fr(r))return-1}return r.length-s.length}function Fr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Hu={strict:!1,end:!0,sensitive:!1};function Bu(e,t,n){const s=ju(Mu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Uu(e,t){const n=[],s=new Map;t=Tr(Hu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),j=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)j.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of j){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=Bu(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const j=[];let O=m;for(;O;)j.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:j,meta:Gu(j)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ku(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ku(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Gu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Wu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Wu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&Qu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if(Ju(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function qu(e){return e.length===1?e[0]:e}const $u=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&qu(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),zu=$u;function Ju(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Yu=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(Su,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Xu=Yu;function Zu(e){const t=Uu(e.routes,e),n=e.parseQuery||xu,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,lu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function j(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=fu(s,k({},v,{hash:ru(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?wu(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=j(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&au(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),je(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=Cu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,je(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=j(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&vu(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function je(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&bu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&yu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:j,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",zu),v.component("RouterView",Xu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function mf(){return Pe(Jn)}function _f(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function ef(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function yf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function vf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function bf(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function Ef(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function Af(e){return window.confirm(e)}function Rf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function xf(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function tf(){return ds||(ds=ef("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const nf={__name:"App",setup(e){return tf(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},sf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-DSZHIi8n.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-psoCDdI8.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-Bs9oEJQF.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-D0KqaGXB.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport--I9YWVLX.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-BPXTOPlY.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-CtnPZLa4.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-CDtu9QV9.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-C-cpdHZC.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-eG23FHGP.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-CQNWx-3c.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-BFAnzswa.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters-BBRt3PBf.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-CMjlx0SS.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-ChIZdm2W.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-ihnKxQZE.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-C7YQ_a9Q.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-ah-wZfvd.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-BFiGZhoA.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-FUpfnogc.js"),[])}],rf=Zu({history:Iu("/StudyBase/"),routes:sf});Wc(nf).use(rf).mount("#app");export{Re as A,At as B,Ts as C,Bs as D,vf as E,Xe as F,gf as G,bf as H,Rf as I,xn as J,Yi as a,_l as b,cf as c,ef as d,Qo as e,yf as f,af as g,sc as h,ff as i,df as j,uf as k,_f as l,dn as m,xf as n,qi as o,Af as p,Ef as q,lf as r,Ce as s,Po as t,Lt as u,hf as v,of as w,mf as x,Is as y,pf as z};
diff --git a/frontend/dist/assets/index-BrIQ4kjW.js b/frontend/dist/assets/index-BrIQ4kjW.js
new file mode 100644 (file)
index 0000000..fdedac6
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-B9QDHPAs.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-CTsGM0p8.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-_b7bVvj6.js","assets/RichContent-B7hRqciS.js","assets/RichContent-i88-frEH.css","assets/QuestionList-BWKnkbQ3.css","assets/QuestionAdd-BR6jXQ0j.js","assets/FileImport-HzpQjtqM.js","assets/FileImport-BnZT11gH.css","assets/ImportPreview-gsUpoP1-.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-C8ZhQ6VQ.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-xSOP8Txr.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-gYTo304q.js","assets/AnalysisChapters-BlaKsxjF.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-CR4Dp16L.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-BsSZykh0.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-ozmhhD1-.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-BPmchdP9.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-BaHLnpUc.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-C0GK4zk7.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=Fn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=Fn(e=>e.replace(Eo,"-$1").toLowerCase()),jn=Fn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=Fn(e=>e?`on${jn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?jt(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function Fo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return Fo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class jo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new jo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?jt:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?jt:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?jt:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function Fs(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:Fs(!1,!1)},Wo={get:Fs(!1,!0)},qo={get:Fs(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:js(e,!1,Ho,ko,ai)}function pi(e){return js(e,!1,Uo,Wo,di)}function _s(e){return js(e,!0,Bo,qo,hi)}function js(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,jt=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),F=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return F(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function sf(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||Ft){let r=Ft?Ft._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const F=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{F(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),F()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===jn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[jn(_e(t))])}function rf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?jt(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:F,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,Fe=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:ye=>Fe.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=Ft;Ft=a;try{return f()}finally{Ft=h}}};return a}}let Ft=null;const Fl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function jl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Fl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let F,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;F=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;F=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),F=Re(lt)}let N=F;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return F=N,On(H),F}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),Fi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{Fi(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function Fi(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function ji(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=ji(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let F=0;F<I.length;++F){const O=I[F],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:F(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},F=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:j}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),j&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}j&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||j)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),j&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let j;if(p&&Et(p,!1),(j=M.onVnodeBeforeUpdate)&&Ue(j,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((j=M.onVnodeUpdated)||V)&&ve(()=>{j&&Ue(j,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:j}=d;j&&(R=R?R.concat(j):j),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);F(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:j,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),je=u.subTree;u.subTree=ce,w(je,ce,h(je.el),v(je),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),j&&ve(j,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:j}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,je=en(d);Et(u,!1),K&&An(K),!je&&(C=j&&j.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!je&&(C=j&&j.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:j}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}j&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?j&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),j&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const j=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],j,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const j=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const j=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const j=M+1,K=j<V?d[j].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const j=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let je=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=j;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:je=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=je?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):je&&(J<0||E!==zs[J]?Fe(Be,p,Qs,2):J--)}}},Fe=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){Fe(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)Fe(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:j}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),j&&j()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:j,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),j!=null&&(d.renderCache[j]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&j==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:Fe,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function of(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function lf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ji(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=jl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=jn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(Fc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function Fc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function jc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const cf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",jc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},uf={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const ff={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},af={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},df=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Bc[o]===i))return e(r)})},Uc=fe({patchProp:Lc},yc);let Pr;function Kc(){return Pr||(Pr=Ql(Uc))}const Gc=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Wc(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,kc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function kc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wc(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function qc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,$c=/&/g,zc=/\//g,Jc=/=/g,Qc=/\?/g,io=/\+/g,Yc=/%5B/g,Xc=/%5D/g,oo=/%5E/g,Zc=/%60/g,lo=/%7B/g,eu=/%7C/g,co=/%7D/g,tu=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(eu,"|").replace(Yc,"[").replace(Xc,"]")}function nu(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(tu,"+").replace(ro,"%23").replace($c,"%26").replace(Zc,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function su(e){return Rs(e).replace(Jc,"%3D")}function ru(e){return qs(e).replace(ro,"%23").replace(Qc,"%3F")}function iu(e){return ru(e).replace(zc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const ou=/\/$/,lu=e=>e.replace(ou,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=au(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function cu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!fu(e[n],t[n]))return!1;return!0}function fu(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function au(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function du(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),lu(e)}const hu=/^[^#]+#/;function pu(e,t){return e.replace(hu,"#")+t}function gu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function mu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=gu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function _u(e,t){ws.set(e,t)}function yu(e){const t=ws.get(e);return ws.delete(e),t}function vu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const bu=["params","query","hash"];function Eu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of bu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Au(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=su(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Ru(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const xu=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):vu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=qc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function wu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Su=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Cu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(F=>{F(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Ou(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Su()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Pu(e){e=du(e);const t=Ou(e),n=Cu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:pu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Tu={type:xt.Static,value:""},Iu=/[a-zA-Z0-9_]/;function Nu(e){if(!e)return[[]];if(e==="/")return[[Tu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Iu.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const Fr="[^/]+?",Du={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Mu=/[.+*?^${}()[\]/\\]/g;function Lu(e,t){const n=k({},Du,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Mu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:F}=g;i.push({name:I,repeatable:w,optional:H});const O=F||Fr;if(O!==Fr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,F=I in a?a[I]:"";if(De(F)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(F)?F.join("/"):F;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Vu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Vu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(jr(s))return 1;if(jr(r))return-1}return r.length-s.length}function jr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Fu={strict:!1,end:!0,sensitive:!1};function ju(e,t,n){const s=Lu(Nu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Hu(e,t){const n=[],s=new Map;t=Tr(Fu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),F=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)F.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of F){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=ju(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=Ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const F=[];let O=m;for(;O;)F.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:F,meta:Uu(F)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Uu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function Ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Gu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Gu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&zu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if($u(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ku(e){return e.length===1?e[0]:e}const Wu=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ku(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),qu=Wu;function $u(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Ju=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(xu,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qu=Ju;function Yu(e){const t=Hu(e.routes,e),n=e.parseQuery||Au,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,iu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function F(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=cu(s,k({},v,{hash:nu(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?Ru(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=F(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&uu(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),Fe(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=wu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,Fe(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=F(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&_u(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function Fe(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&yu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&mu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:F,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",qu),v.component("RouterView",Qu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function hf(){return Pe(Jn)}function pf(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function Xu(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function gf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function mf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function _f(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function yf(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function vf(e){return window.confirm(e)}function bf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function Ef(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function Zu(){return ds||(ds=Xu("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const ef={__name:"App",setup(e){return Zu(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},tf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-B9QDHPAs.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-CTsGM0p8.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-_b7bVvj6.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-BR6jXQ0j.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport-HzpQjtqM.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-gsUpoP1-.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-C8ZhQ6VQ.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-xSOP8Txr.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-DCn-Qen6.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-gYTo304q.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-B5OSgObT.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-CWgDV26I.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters-BlaKsxjF.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-CR4Dp16L.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-BsSZykh0.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-ozmhhD1-.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-BPmchdP9.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-BaHLnpUc.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-C0GK4zk7.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-Dew8pbNX.js"),[])}],nf=Yu({history:Pu("/StudyBase/"),routes:tf});Gc(ef).use(nf).mount("#app");export{Ts as A,Bs as B,mf as C,df as D,_f as E,Xe as F,Ce as G,bf as H,xn as I,Yi as a,_l as b,of as c,Xu as d,Qo as e,gf as f,uf as g,sc as h,cf as i,ff as j,lf as k,pf as l,dn as m,Ef as n,qi as o,vf as p,yf as q,rf as r,hf as s,Po as t,Lt as u,af as v,sf as w,Is as x,Re as y,At as z};
diff --git a/frontend/dist/assets/index-DOeeTpNX.js b/frontend/dist/assets/index-DOeeTpNX.js
new file mode 100644 (file)
index 0000000..a609c30
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-o4G6oH13.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-CVuLQhux.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-CL1vCa2l.js","assets/RichContent-rGkUG2Zf.js","assets/RichContent-i88-frEH.css","assets/QuestionList-siUAN7Oe.css","assets/QuestionAdd-C5kEDZ7W.js","assets/FileImport-Dbzgpqjb.js","assets/FileImport-Djr7oKXh.css","assets/ImportPreview-D4ykaXHk.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-D-lWwUJ0.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-FkiEg_WZ.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-C1fAILla.js","assets/AnalysisChapters-CjuR01YG.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-CwXXOwV4.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-BdWh_fJz.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-D0wDkjQw.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-zRYjSJhv.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-DXk9YCwi.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-CwBQhWMX.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=Fn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=Fn(e=>e.replace(Eo,"-$1").toLowerCase()),jn=Fn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=Fn(e=>e?`on${jn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?jt(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function Fo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return Fo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class jo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new jo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?jt:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?jt:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?jt:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function Fs(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:Fs(!1,!1)},Wo={get:Fs(!1,!0)},qo={get:Fs(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:js(e,!1,Ho,ko,ai)}function pi(e){return js(e,!1,Uo,Wo,di)}function _s(e){return js(e,!0,Bo,qo,hi)}function js(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,jt=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),F=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return F(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function sf(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||Ft){let r=Ft?Ft._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const F=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{F(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),F()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===jn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[jn(_e(t))])}function rf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?jt(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:F,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,Fe=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:ye=>Fe.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=Ft;Ft=a;try{return f()}finally{Ft=h}}};return a}}let Ft=null;const Fl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function jl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Fl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let F,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;F=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;F=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),F=Re(lt)}let N=F;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return F=N,On(H),F}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),Fi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{Fi(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function Fi(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function ji(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=ji(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let F=0;F<I.length;++F){const O=I[F],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:F(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},F=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:j}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),j&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}j&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||j)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),j&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let j;if(p&&Et(p,!1),(j=M.onVnodeBeforeUpdate)&&Ue(j,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((j=M.onVnodeUpdated)||V)&&ve(()=>{j&&Ue(j,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:j}=d;j&&(R=R?R.concat(j):j),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);F(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:j,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),je=u.subTree;u.subTree=ce,w(je,ce,h(je.el),v(je),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),j&&ve(j,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:j}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,je=en(d);Et(u,!1),K&&An(K),!je&&(C=j&&j.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!je&&(C=j&&j.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:j}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}j&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?j&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),j&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const j=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],j,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const j=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const j=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const j=M+1,K=j<V?d[j].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const j=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let je=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=j;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:je=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=je?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):je&&(J<0||E!==zs[J]?Fe(Be,p,Qs,2):J--)}}},Fe=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){Fe(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)Fe(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:j}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),j&&j()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:j,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),j!=null&&(d.renderCache[j]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&j==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:Fe,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function of(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function lf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ji(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=jl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=jn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(Fc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function Fc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function jc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const cf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",jc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},uf={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const ff={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},af={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},df=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Bc[o]===i))return e(r)})},Uc=fe({patchProp:Lc},yc);let Pr;function Kc(){return Pr||(Pr=Ql(Uc))}const Gc=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Wc(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,kc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function kc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wc(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function qc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,$c=/&/g,zc=/\//g,Jc=/=/g,Qc=/\?/g,io=/\+/g,Yc=/%5B/g,Xc=/%5D/g,oo=/%5E/g,Zc=/%60/g,lo=/%7B/g,eu=/%7C/g,co=/%7D/g,tu=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(eu,"|").replace(Yc,"[").replace(Xc,"]")}function nu(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(tu,"+").replace(ro,"%23").replace($c,"%26").replace(Zc,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function su(e){return Rs(e).replace(Jc,"%3D")}function ru(e){return qs(e).replace(ro,"%23").replace(Qc,"%3F")}function iu(e){return ru(e).replace(zc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const ou=/\/$/,lu=e=>e.replace(ou,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=au(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function cu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!fu(e[n],t[n]))return!1;return!0}function fu(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function au(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function du(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),lu(e)}const hu=/^[^#]+#/;function pu(e,t){return e.replace(hu,"#")+t}function gu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function mu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=gu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function _u(e,t){ws.set(e,t)}function yu(e){const t=ws.get(e);return ws.delete(e),t}function vu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const bu=["params","query","hash"];function Eu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of bu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Au(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=su(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Ru(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const xu=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):vu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=qc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function wu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Su=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Cu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(F=>{F(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Ou(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Su()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Pu(e){e=du(e);const t=Ou(e),n=Cu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:pu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Tu={type:xt.Static,value:""},Iu=/[a-zA-Z0-9_]/;function Nu(e){if(!e)return[[]];if(e==="/")return[[Tu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Iu.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const Fr="[^/]+?",Du={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Mu=/[.+*?^${}()[\]/\\]/g;function Lu(e,t){const n=k({},Du,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Mu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:F}=g;i.push({name:I,repeatable:w,optional:H});const O=F||Fr;if(O!==Fr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,F=I in a?a[I]:"";if(De(F)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(F)?F.join("/"):F;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Vu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Vu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(jr(s))return 1;if(jr(r))return-1}return r.length-s.length}function jr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Fu={strict:!1,end:!0,sensitive:!1};function ju(e,t,n){const s=Lu(Nu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Hu(e,t){const n=[],s=new Map;t=Tr(Fu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),F=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)F.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of F){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=ju(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=Ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const F=[];let O=m;for(;O;)F.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:F,meta:Uu(F)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Uu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function Ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Gu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Gu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&zu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if($u(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ku(e){return e.length===1?e[0]:e}const Wu=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ku(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),qu=Wu;function $u(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Ju=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(xu,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qu=Ju;function Yu(e){const t=Hu(e.routes,e),n=e.parseQuery||Au,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,iu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function F(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=cu(s,k({},v,{hash:nu(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?Ru(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=F(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&uu(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),Fe(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=wu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,Fe(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=F(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&_u(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function Fe(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&yu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&mu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:F,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",qu),v.component("RouterView",Qu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function hf(){return Pe(Jn)}function pf(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function Xu(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function gf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function mf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function _f(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function yf(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function vf(e){return window.confirm(e)}function bf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function Ef(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function Zu(){return ds||(ds=Xu("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const ef={__name:"App",setup(e){return Zu(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},tf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-o4G6oH13.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-CVuLQhux.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-CL1vCa2l.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-C5kEDZ7W.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport-Dbzgpqjb.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-D4ykaXHk.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-D-lWwUJ0.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-FkiEg_WZ.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-RmHkf4pF.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-C1fAILla.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-C06OG--t.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-DnFnwbrT.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters-CjuR01YG.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-CwXXOwV4.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-BdWh_fJz.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-D0wDkjQw.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-zRYjSJhv.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-DXk9YCwi.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-CwBQhWMX.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-CSWz5hxb.js"),[])}],nf=Yu({history:Pu("/StudyBase/"),routes:tf});Gc(ef).use(nf).mount("#app");export{Ts as A,Bs as B,mf as C,df as D,_f as E,Xe as F,Ce as G,bf as H,xn as I,Yi as a,_l as b,of as c,Xu as d,Qo as e,gf as f,uf as g,sc as h,cf as i,ff as j,lf as k,pf as l,dn as m,Ef as n,qi as o,vf as p,yf as q,rf as r,hf as s,Po as t,Lt as u,af as v,sf as w,Is as x,Re as y,At as z};
diff --git a/frontend/dist/assets/index-DibvQ1e4.js b/frontend/dist/assets/index-DibvQ1e4.js
new file mode 100644 (file)
index 0000000..2c60e91
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-DMNX57-P.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-DtXnQHBZ.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-BMvUZeaY.js","assets/RichContent-Bto3YWrJ.js","assets/RichContent-i88-frEH.css","assets/QuestionList-siUAN7Oe.css","assets/QuestionAdd-D4C83SXW.js","assets/FileImport-ZNTNIRXY.js","assets/FileImport-BnZT11gH.css","assets/ImportPreview-DuS-uuNM.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-Dlh9T_-X.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-bZN94MuR.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-SChxY8nQ.js","assets/AnalysisChapters--QldqjwN.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-Caj282Ub.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-CdmlatHf.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-B_n5rYrZ.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-IFRz_NQA.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-Bzx6UdA9.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-D5-SnQ6F.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=Fn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=Fn(e=>e.replace(Eo,"-$1").toLowerCase()),jn=Fn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=Fn(e=>e?`on${jn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?jt(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function Fo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return Fo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class jo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new jo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?jt:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?jt:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?jt:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function Fs(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:Fs(!1,!1)},Wo={get:Fs(!1,!0)},qo={get:Fs(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:js(e,!1,Ho,ko,ai)}function pi(e){return js(e,!1,Uo,Wo,di)}function _s(e){return js(e,!0,Bo,qo,hi)}function js(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,jt=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),F=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return F(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function sf(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||Ft){let r=Ft?Ft._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const F=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{F(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),F()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===jn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[jn(_e(t))])}function rf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?jt(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:F,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,Fe=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:ye=>Fe.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=Ft;Ft=a;try{return f()}finally{Ft=h}}};return a}}let Ft=null;const Fl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function jl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Fl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let F,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;F=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;F=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),F=Re(lt)}let N=F;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return F=N,On(H),F}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),Fi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{Fi(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function Fi(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function ji(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=ji(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let F=0;F<I.length;++F){const O=I[F],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:F(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},F=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:j}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),j&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}j&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||j)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),j&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let j;if(p&&Et(p,!1),(j=M.onVnodeBeforeUpdate)&&Ue(j,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((j=M.onVnodeUpdated)||V)&&ve(()=>{j&&Ue(j,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:j}=d;j&&(R=R?R.concat(j):j),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);F(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:j,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),je=u.subTree;u.subTree=ce,w(je,ce,h(je.el),v(je),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),j&&ve(j,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:j}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,je=en(d);Et(u,!1),K&&An(K),!je&&(C=j&&j.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!je&&(C=j&&j.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:j}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}j&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?j&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),j&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const j=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],j,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const j=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const j=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(j,K))w(j,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const j=M+1,K=j<V?d[j].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const j=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let je=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=j;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:je=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=je?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):je&&(J<0||E!==zs[J]?Fe(Be,p,Qs,2):J--)}}},Fe=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){Fe(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)Fe(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:j}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),j&&j()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:j,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),j!=null&&(d.renderCache[j]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&j==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:Fe,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function of(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function lf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ji(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=jl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=jn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(Fc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function Fc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function jc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const cf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",jc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},uf={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const ff={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},af={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},df=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Bc[o]===i))return e(r)})},Uc=fe({patchProp:Lc},yc);let Pr;function Kc(){return Pr||(Pr=Ql(Uc))}const Gc=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Wc(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,kc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function kc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wc(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function qc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,$c=/&/g,zc=/\//g,Jc=/=/g,Qc=/\?/g,io=/\+/g,Yc=/%5B/g,Xc=/%5D/g,oo=/%5E/g,Zc=/%60/g,lo=/%7B/g,eu=/%7C/g,co=/%7D/g,tu=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(eu,"|").replace(Yc,"[").replace(Xc,"]")}function nu(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(tu,"+").replace(ro,"%23").replace($c,"%26").replace(Zc,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function su(e){return Rs(e).replace(Jc,"%3D")}function ru(e){return qs(e).replace(ro,"%23").replace(Qc,"%3F")}function iu(e){return ru(e).replace(zc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const ou=/\/$/,lu=e=>e.replace(ou,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=au(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function cu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!fu(e[n],t[n]))return!1;return!0}function fu(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function au(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function du(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),lu(e)}const hu=/^[^#]+#/;function pu(e,t){return e.replace(hu,"#")+t}function gu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function mu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=gu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function _u(e,t){ws.set(e,t)}function yu(e){const t=ws.get(e);return ws.delete(e),t}function vu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const bu=["params","query","hash"];function Eu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of bu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Au(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=su(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Ru(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const xu=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):vu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=qc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function wu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Su=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Cu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(F=>{F(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Ou(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Su()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Pu(e){e=du(e);const t=Ou(e),n=Cu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:pu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Tu={type:xt.Static,value:""},Iu=/[a-zA-Z0-9_]/;function Nu(e){if(!e)return[[]];if(e==="/")return[[Tu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Iu.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const Fr="[^/]+?",Du={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Mu=/[.+*?^${}()[\]/\\]/g;function Lu(e,t){const n=k({},Du,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Mu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:F}=g;i.push({name:I,repeatable:w,optional:H});const O=F||Fr;if(O!==Fr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,F=I in a?a[I]:"";if(De(F)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(F)?F.join("/"):F;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Vu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Vu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(jr(s))return 1;if(jr(r))return-1}return r.length-s.length}function jr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Fu={strict:!1,end:!0,sensitive:!1};function ju(e,t,n){const s=Lu(Nu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Hu(e,t){const n=[],s=new Map;t=Tr(Fu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),F=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)F.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of F){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=ju(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=Ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const F=[];let O=m;for(;O;)F.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:F,meta:Uu(F)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Uu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function Ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Gu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Gu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&zu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if($u(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ku(e){return e.length===1?e[0]:e}const Wu=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ku(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),qu=Wu;function $u(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Ju=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(xu,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qu=Ju;function Yu(e){const t=Hu(e.routes,e),n=e.parseQuery||Au,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,iu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function F(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=cu(s,k({},v,{hash:nu(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?Ru(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=F(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&uu(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),Fe(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=wu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,Fe(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=F(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&_u(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function Fe(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&yu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&mu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:F,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",qu),v.component("RouterView",Qu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function hf(){return Pe(Jn)}function pf(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function Xu(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function gf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function mf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function _f(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function yf(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function vf(e){return window.confirm(e)}function bf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function Ef(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function Zu(){return ds||(ds=Xu("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const ef={__name:"App",setup(e){return Zu(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},tf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-DMNX57-P.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-DtXnQHBZ.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-BMvUZeaY.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-D4C83SXW.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport-ZNTNIRXY.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-DuS-uuNM.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-Dlh9T_-X.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-bZN94MuR.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-pgJ1dk5p.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-SChxY8nQ.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-D8UcrTf8.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-_qHzB7a6.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters--QldqjwN.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-Caj282Ub.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-CdmlatHf.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-B_n5rYrZ.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-IFRz_NQA.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-Bzx6UdA9.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-D5-SnQ6F.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-BrF5aqOp.js"),[])}],nf=Yu({history:Pu("/StudyBase/"),routes:tf});Gc(ef).use(nf).mount("#app");export{Ts as A,Bs as B,mf as C,df as D,_f as E,Xe as F,Ce as G,bf as H,xn as I,Yi as a,_l as b,of as c,Xu as d,Qo as e,gf as f,uf as g,sc as h,cf as i,ff as j,lf as k,pf as l,dn as m,Ef as n,qi as o,vf as p,yf as q,rf as r,hf as s,Po as t,Lt as u,af as v,sf as w,Is as x,Re as y,At as z};
diff --git a/frontend/dist/assets/index-DkiXflk7.js b/frontend/dist/assets/index-DkiXflk7.js
new file mode 100644 (file)
index 0000000..c1d9333
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-XSrtt66f.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-Cvg6qMAs.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-CTnhn5OM.js","assets/RichContent-DzYi85z4.js","assets/RichContent-i88-frEH.css","assets/QuestionList-CHB_8bx9.css","assets/QuestionAdd-DUl-pEZC.js","assets/FileImport-TrxH8VB7.js","assets/FileImport-BnZT11gH.css","assets/ImportPreview-Ctkpm2mZ.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-V17aZHia.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-CUAn5bjm.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-B0iBi3zz.js","assets/AnalysisChapters-xkeHNND5.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-4UmgtI5Q.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-CoYKTBIo.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-C5kEP5bM.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-CiqUs0Im.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-BihAspO3.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-DrtyLa7_.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),jn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=jn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=jn(e=>e.replace(Eo,"-$1").toLowerCase()),Fn=jn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=jn(e=>e?`on${Fn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?Ft(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function jo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return jo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class Fo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new Fo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?Ft:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?Ft:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?Ft:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function js(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:js(!1,!1)},Wo={get:js(!1,!0)},qo={get:js(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:Fs(e,!1,Ho,ko,ai)}function pi(e){return Fs(e,!1,Uo,Wo,di)}function _s(e){return Fs(e,!0,Bo,qo,hi)}function Fs(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,Ft=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),j=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return j(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),j.pause=f.pause.bind(f),j.resume=f.resume.bind(f),j.stop=j,j}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function of(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||jt){let r=jt?jt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const j=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{j(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),j()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===Fn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[Fn(_e(t))])}function lf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?Ft(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:j,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,je=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>je.value,set:ye=>je.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=jt;jt=a;try{return f()}finally{jt=h}}};return a}}let jt=null;const jl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function Fl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&jl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let j,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;j=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;j=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),j=Re(lt)}let N=j;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return j=N,On(H),j}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),ji(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{ji(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function ji(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function Fi(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=Fi(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let j=0;j<I.length;++j){const O=I[j],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:j(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},j=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:F}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),F&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}F&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||F)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),F&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let F;if(p&&Et(p,!1),(F=M.onVnodeBeforeUpdate)&&Ue(F,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((F=M.onVnodeUpdated)||V)&&ve(()=>{F&&Ue(F,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:F}=d;F&&(R=R?R.concat(F):F),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);j(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:F,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),Fe=u.subTree;u.subTree=ce,w(Fe,ce,h(Fe.el),v(Fe),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),F&&ve(F,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:F}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,Fe=en(d);Et(u,!1),K&&An(K),!Fe&&(C=F&&F.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!Fe&&(C=F&&F.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:F}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}F&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?F&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),F&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const F=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],F,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const F=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const F=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const F=M+1,K=F<V?d[F].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const F=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let Fe=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=F;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:Fe=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=Fe?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):Fe&&(J<0||E!==zs[J]?je(Be,p,Qs,2):J--)}}},je=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){je(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)je(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:F}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),F&&F()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:F,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),F!=null&&(d.renderCache[F]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&F==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:je,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function cf(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function uf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Fi(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Fl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=Fn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(jc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function jc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function Fc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const ff={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",Fc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},af={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const df={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},hf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc=["ctrl","shift","alt","meta"],Uc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Bc.some(n=>e[`${n}Key`]&&!t.includes(n))},pf=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o<t.length;o++){const l=Uc[t[o]];if(l&&l(r,t))return}return e(r,...i)})},Kc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},gf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Kc[o]===i))return e(r)})},Gc=fe({patchProp:Lc},yc);let Pr;function kc(){return Pr||(Pr=Ql(Gc))}const Wc=(...e)=>{const t=kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=$c(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function qc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $c(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,Jc=/&/g,Qc=/\//g,Yc=/=/g,Xc=/\?/g,io=/\+/g,Zc=/%5B/g,eu=/%5D/g,oo=/%5E/g,tu=/%60/g,lo=/%7B/g,nu=/%7C/g,co=/%7D/g,su=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(nu,"|").replace(Zc,"[").replace(eu,"]")}function ru(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(su,"+").replace(ro,"%23").replace(Jc,"%26").replace(tu,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function iu(e){return Rs(e).replace(Yc,"%3D")}function ou(e){return qs(e).replace(ro,"%23").replace(Xc,"%3F")}function lu(e){return ou(e).replace(Qc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const cu=/\/$/,uu=e=>e.replace(cu,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=hu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function fu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function au(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!du(e[n],t[n]))return!1;return!0}function du(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function hu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function pu(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),uu(e)}const gu=/^[^#]+#/;function mu(e,t){return e.replace(gu,"#")+t}function _u(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function yu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=_u(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function vu(e,t){ws.set(e,t)}function bu(e){const t=ws.get(e);return ws.delete(e),t}function Eu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const Au=["params","query","hash"];function Ru(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Au)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function xu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=iu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function wu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Su=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):Eu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=zc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function Cu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Ou=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Pu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(j=>{j(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Tu(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Ou()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Iu(e){e=pu(e);const t=Tu(e),n=Pu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:mu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Nu={type:xt.Static,value:""},Du=/[a-zA-Z0-9_]/;function Mu(e){if(!e)return[[]];if(e==="/")return[[Nu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Du.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const jr="[^/]+?",Lu={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Vu=/[.+*?^${}()[\]/\\]/g;function ju(e,t){const n=k({},Lu,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Vu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:j}=g;i.push({name:I,repeatable:w,optional:H});const O=j||jr;if(O!==jr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,j=I in a?a[I]:"";if(De(j)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(j)?j.join("/"):j;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Fu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Fu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Fr(s))return 1;if(Fr(r))return-1}return r.length-s.length}function Fr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Hu={strict:!1,end:!0,sensitive:!1};function Bu(e,t,n){const s=ju(Mu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Uu(e,t){const n=[],s=new Map;t=Tr(Hu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),j=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)j.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of j){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=Bu(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const j=[];let O=m;for(;O;)j.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:j,meta:Gu(j)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ku(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ku(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Gu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Wu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Wu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&Qu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if(Ju(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function qu(e){return e.length===1?e[0]:e}const $u=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&qu(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),zu=$u;function Ju(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Yu=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(Su,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Xu=Yu;function Zu(e){const t=Uu(e.routes,e),n=e.parseQuery||xu,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,lu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function j(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=fu(s,k({},v,{hash:ru(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?wu(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=j(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&au(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),je(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=Cu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,je(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=j(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&vu(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function je(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&bu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&yu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:j,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",zu),v.component("RouterView",Xu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function mf(){return Pe(Jn)}function _f(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function ef(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function yf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function vf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function bf(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function Ef(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function Af(e){return window.confirm(e)}function Rf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function xf(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function tf(){return ds||(ds=ef("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const nf={__name:"App",setup(e){return tf(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},sf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-XSrtt66f.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-Cvg6qMAs.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-CTnhn5OM.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-DUl-pEZC.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport-TrxH8VB7.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-Ctkpm2mZ.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-V17aZHia.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-CUAn5bjm.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-CqGt0Tt2.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-B0iBi3zz.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-Ch6he0gI.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-CQuYTyEd.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters-xkeHNND5.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-4UmgtI5Q.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-CoYKTBIo.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-C5kEP5bM.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-CiqUs0Im.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-BihAspO3.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-DrtyLa7_.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-BIB3kSHq.js"),[])}],rf=Zu({history:Iu("/StudyBase/"),routes:sf});Wc(nf).use(rf).mount("#app");export{Re as A,At as B,Ts as C,Bs as D,vf as E,Xe as F,gf as G,bf as H,Rf as I,xn as J,Yi as a,_l as b,cf as c,ef as d,Qo as e,yf as f,af as g,sc as h,ff as i,df as j,uf as k,_f as l,dn as m,xf as n,qi as o,Af as p,Ef as q,lf as r,Ce as s,Po as t,Lt as u,hf as v,of as w,mf as x,Is as y,pf as z};
diff --git a/frontend/dist/assets/index-PW167vf4.js b/frontend/dist/assets/index-PW167vf4.js
new file mode 100644 (file)
index 0000000..5dd9d92
--- /dev/null
@@ -0,0 +1,28 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-D8EnOka7.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Home-BS2dZmih.css","assets/SubjectPortal-BYEldTOj.js","assets/SubjectPortal-yfCLF9Wp.css","assets/QuestionList-DvyMMJjZ.js","assets/RichContent-Dt890otn.js","assets/RichContent-i88-frEH.css","assets/QuestionList-Bsgm7r51.css","assets/QuestionAdd-BN8O3VX0.js","assets/FileImport-Dqhg5lPG.js","assets/FileImport-BnZT11gH.css","assets/ImportPreview-DF9sYEXR.js","assets/ImportPreview-Dx1LXj5L.css","assets/QuestionDetail-Q0IGvDsj.js","assets/QuestionDetail-iaLTMiSx.css","assets/PapersList-DyQQH-a_.js","assets/PapersList-CnsFf_No.css","assets/PapersPreview-BPahPm51.js","assets/AnalysisChapters-Ch2L8mj3.js","assets/AnalysisChapters-DTn9LWoa.css","assets/AnalysisKnowledge-BK2lprsu.js","assets/AnalysisKnowledge-5QPt6Ak_.css","assets/AnalysisPending-BIK4LK4c.js","assets/AnalysisPending-C5SzviRH.css","assets/Settings-npd22zpr.js","assets/Settings-pzGFQctT.css","assets/SettingsSubjects-lK432mNm.js","assets/SettingsSubjects-bGGsFjfA.css","assets/SettingsErrorCauses-BpvO0Xqb.js","assets/SettingsErrorCauses-BA8Zr_cv.css","assets/SettingsStatuses-hfl4r0IW.js","assets/SettingsStatuses-XHEFsW5N.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();const mo="modulepreload",_o=function(e){return"/StudyBase/"+e},Ys={},re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=_o(c),c in Ys)return;Ys[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":mo,a||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),a)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
+* @vue/shared v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Mt=[],qe=()=>{},qr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,q=(e,t)=>yo.call(e,t),L=Array.isArray,gt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",Xs=e=>an(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",$e=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",$r=e=>($(e)||B(e))&&B(e.then)&&B(e.catch),zr=Object.prototype.toString,an=e=>zr.call(e),vo=e=>an(e).slice(8,-1),Jr=e=>an(e)==="[object Object]",Ps=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),jn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-\w/g,_e=jn(e=>e.replace(bo,t=>t.slice(1).toUpperCase())),Eo=/\B([A-Z])/g,_t=jn(e=>e.replace(Eo,"-$1").toLowerCase()),Fn=jn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=jn(e=>e?`on${Fn(e)}`:""),We=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Hn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Bn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(L(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||$(e))return e}const Ao=/;(?![^(]*\))/g,Ro=/:([^]+)/,xo=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(xo,"").split(Ao).forEach(n=>{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Is(e){let t="";if(ne(e))t=e;else if(L(e))for(let n=0;n<e.length;n++){const s=Is(e[n]);s&&(t+=s+" ")}else if($(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const So="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Co=Cs(So);function Yr(e){return!!e||e===""}function Oo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Te(e[s],t[s]);return n}function er(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),s=new Uint8Array(n.length);for(const r of e){let i=-1;for(let o=0;o<n.length;o++)if(!s[o]&&Te(r,n[o])){i=o;break}if(i<0)return!1;s[i]=1}return!0}function Te(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=$e(e),s=$e(t),n||s)return e===t;if(n=L(e),s=L(t),n||s)return n&&s?Oo(e,t):!1;if(n=$(e),s=$(t),n||s){if(!n||!s)return!1;if(n=gt(e),s=gt(t),n||s||(n=st(e),s=st(t),n||s))return n&&s?er(e,t):!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Te(e[o],t[o]))return!1}}return String(e)===String(t)}function Ns(e,t){return e.findIndex(n=>Te(n,t))}const Xr=e=>!!(e&&e.__v_isRef===!0),Po=e=>ne(e)?e:e==null?"":L(e)||$(e)&&(e.toString===zr||!B(e.toString))?Xr(e)?Po(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Yn(s,i)+" =>"]=r,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yn(n))}:$e(t)?Yn(t):$(t)&&!L(t)&&!Jr(t)?String(t):t,Yn=(e,t="")=>{var n;return $e(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ue;class To{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ue&&(ue.active?(this.parent=ue,this.index=(ue.scopes||(ue.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=ue;try{return ue=this,t()}finally{ue=n}}}on(){++this._on===1&&(this.prevScope=ue,ue=this)}off(){if(this._on>0&&--this._on===0){if(ue===this)ue=this.prevScope;else{let t=ue;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Io(){return ue}let Z;const Xn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ue&&(ue.active?ue.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Xn.has(this)&&(Xn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,tr(this),si(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{ri(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,tr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Xn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let ti=0,Yt,Xt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Xt,Xt=e;return}e.next=Yt,Yt=e}function Ds(){ti++}function Ms(){if(--ti>0)return;if(Xt){let t=Xt;for(Xt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yt;){let t=Yt;for(Yt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),No(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{si(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,ri(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function No(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const oi=[];function rt(){oi.push(Oe),Oe=!1}function it(){const e=oi.pop();Oe=e===void 0?!0:e}function tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let sn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,wt=Symbol(""),gs=Symbol(""),rn=Symbol("");function ae(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function et(e,t,n,s,r,i){const o=ps.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=L(e),a=c&&Ps(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===rn||!$e(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(rn)),t){case"add":c?a&&l(o.get("length")):(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(wt)),gt(e)&&l(o.get(gs)));break;case"set":gt(e)&&l(o.get(wt));break}}Ms()}function It(e){const t=W(e);return t===e?t:(ae(t,"iterate",rn),Se(e)?t:t.map(Ie))}function Un(e){return ae(e=W(e),"iterate",rn),e}function Ge(e,t){return ot(e)?Ft(St(e)?Ie(t):t):Ie(t)}const Mo={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return It(this).concat(...e.map(t=>L(t)?It(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Je(this,"every",e,t,void 0,arguments)},filter(e,t){return Je(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Je(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Je(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Je(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return It(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return Je(this,"map",e,t,void 0,arguments)},pop(){return Wt(this,"pop")},push(...e){return Wt(this,"push",e)},reduce(e,...t){return nr(this,"reduce",e,t)},reduceRight(e,...t){return nr(this,"reduceRight",e,t)},shift(){return Wt(this,"shift")},some(e,t){return Je(this,"some",e,t,void 0,arguments)},splice(...e){return Wt(this,"splice",e)},toReversed(){return It(this).toReversed()},toSorted(e){return It(this).toSorted(e)},toSpliced(...e){return It(this).toSpliced(...e)},unshift(...e){return Wt(this,"unshift",e)},values(){return Zn(this,"values",e=>Ge(this,e))}};function Zn(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Se(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Lo=Array.prototype;function Je(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Se(e),c=o[t];if(c!==Lo[t]){const h=c.apply(e,i);return l?Ie(h):h}let a=n;o!==e&&(l?a=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(a=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function nr(e,t,n,s){const r=Un(e),i=r!==e&&!Se(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(a,f,h){return l&&(l=!1,a=Ge(e,a)),n.call(this,a,Ge(e,f),h,e)}):n.length>3&&(o=function(a,f,h){return n.call(this,a,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function es(e,t,n){const s=W(e);ae(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Wt(e,t,n=[]){rt(),Ds();const s=W(e)[t].apply(e,n);return Ms(),it(),s}const Vo=Cs("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($e));function jo(e){$e(e)||(e=String(e));const t=W(this);return ae(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$o:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=L(t);if(!r){let c;if(o&&(c=Mo[n]))return c;if(n==="hasOwnProperty")return jo}const l=Reflect.get(t,n,he(t)?t:s);if(($e(n)?ci.has(n):Vo(n))||(r||ae(t,"get",n),i))return l;if(he(l)){const c=o&&Ps(n)?l:l.value;return r&&$(c)?_s(c):c}return $(l)?r?_s(l):dn(l):l}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=L(t)&&Ps(n);if(!this._isShallow){const a=ot(i);if(!Se(s)&&!ot(s)&&(i=W(i),s=W(s)),!o&&he(i)&&!he(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:q(t,n),c=Reflect.set(t,n,s,he(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&et(t,"set",n,s):et(t,"add",n,s)),c}deleteProperty(t,n){const s=q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&et(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!$e(n)||!ci.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",L(t)?"length":wt),Reflect.ownKeys(t)}}class Fo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ho=new fi,Bo=new Fo,Uo=new fi(!0);const ms=e=>e,_n=e=>Reflect.getPrototypeOf(e);function Ko(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?ms:t?Ft:Ie;return!t&&ae(i,"iterate",c?gs:wt),fe(Object.create(a),{next(){const{value:h,done:g}=a.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function yn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Go(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=_n(o),a=t?ms:e?Ft:Ie;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae(W(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),a=t?ms:e?Ft:Ie;return!e&&ae(c,"iterate",wt),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return fe(n,e?{add:yn("add"),set:yn("set"),delete:yn("delete"),clear:yn("clear")}:{add(r){const i=W(this),o=_n(i),l=W(r),c=!t&&!Se(r)&&!ot(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),et(i,"add",c,c)),this},set(r,i){!t&&!Se(i)&&!ot(i)&&(i=W(i));const o=W(this),{has:l,get:c}=_n(o);let a=l.call(o,r);a||(r=W(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?We(i,f)&&et(o,"set",r,i):et(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=_n(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&et(i,"delete",r,void 0),a},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&et(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ko(r,e,t)}),n}function js(e,t){const n=Go(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const ko={get:js(!1,!1)},Wo={get:js(!1,!0)},qo={get:js(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,$o=new WeakMap;function zo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return ot(e)?e:Fs(e,!1,Ho,ko,ai)}function pi(e){return Fs(e,!1,Uo,Wo,di)}function _s(e){return Fs(e,!0,Bo,qo,hi)}function Fs(e,t,n,s,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=zo(vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function St(e){return ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Jo(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const Ie=e=>$(e)?dn(e):e,Ft=e=>$(e)?_s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Qo(e){return gi(e,!1)}function Yo(e){return gi(e,!0)}function gi(e,t){return he(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Se(t)||ot(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function Lt(e){return he(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return St(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const vn={},Sn=new WeakMap;let Rt;function nl(e,t=!1,n=Rt){if(n){let s=Sn.get(n);s||Sn.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=T=>r?T:Se(T)||r===!1||r===0?tt(T,1):tt(T);let f,h,g,m,I=!1,w=!1;if(he(e)?(h=()=>e.value,I=Se(e)):St(e)?(h=()=>a(e),I=!0):L(e)?(w=!0,I=e.some(T=>St(T)||Se(T)),h=()=>e.map(T=>{if(he(T))return T.value;if(St(T))return a(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){rt();try{g()}finally{it()}}const T=Rt;Rt=f;try{return c?c(e,3,[m]):e(m)}finally{Rt=T}}:h=qe,t&&r){const T=h,Q=r===!0?1/0:r;h=()=>tt(T(),Q)}const H=Io(),j=()=>{f.stop(),H&&H.active&&Os(H.effects,f)};if(i&&t){const T=t;t=(...Q)=>{const ie=T(...Q);return j(),ie}}let O=w?new Array(e.length).fill(vn):vn;const N=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const Q=f.run();if(T||r||I||(w?Q.some((ie,ee)=>We(ie,O[ee])):We(Q,O))){g&&g();const ie=Rt;Rt=f;try{const ee=[Q,O===vn?void 0:w&&O[0]===vn?[]:O,m];O=Q,c?c(t,3,ee):t(...ee)}finally{Rt=ie}}}else f.run()};return l&&l(N),f=new ei(h),f.scheduler=o?()=>o(N,!1):N,m=T=>nl(T,!1,f),g=f.onStop=()=>{const T=Sn.get(f);if(T){if(c)c(T,4);else for(const Q of T)Q();Sn.delete(f)}},t?s?N(!0):O=f.run():o?o(N.bind(null,!0),!0):f.run(),j.pause=f.pause.bind(f),j.resume=f.resume.bind(f),j.stop=j,j}function tt(e,t=1/0,n){if(t<=0||!$(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))tt(e.value,t,n);else if(L(e))for(let s=0;s<e.length;s++)tt(e[s],t,n);else if(st(e)||gt(e))e.forEach(s=>{tt(s,t,n)});else if(Jr(e)){for(const s in e)tt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&tt(e[s],t,n)}return e}/**
+* @vue/runtime-core v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function hn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=hn(e,t,n,s);return r&&$r(r)&&r.catch(i=>{Kn(i,t,n)}),r}if(L(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function Kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){rt(),hn(i,null,10,[e,c,a]),it();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Ke=-1;const Vt=[];let ht=null,Nt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=on(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Us(e){if(!(e.flags&1)){const t=on(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=on(n)?me.push(e):me.splice(il(t),0,e),e.flags|=1,yi()}}function yi(){Cn||(Cn=_i.then(bi))}function ol(e){if(!L(e))ht&&e.id===-1?ht.splice(Nt+1,0,e):e.flags&1||(Vt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Vt.push(e[t]);yi()}function sr(e,t,n=Ke+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function vi(e){if(Vt.length){const t=[...new Set(Vt)].sort((n,s)=>on(n)-on(s));if(Vt.length=0,ht){for(let n=0;n<t.length;n++)ht.push(t[n]);return}for(ht=t,Nt=0;Nt<ht.length;Nt++){const n=ht[Nt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ht=null,Nt=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bi(e){try{for(Ke=0;Ke<me.length;Ke++){const t=me[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<me.length;Ke++){const t=me[Ke];t&&(t.flags&=-2)}Ke=-1,me.length=0,vi(),Cn=null,(me.length||Vt.length)&&bi()}}let Ee=null,Ei=null;function On(e){const t=Ee;return Ee=e,Ei=e&&e.type.__scopeId||null,t}function ll(e,t=Ee,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&In(-1);const i=On(t),o=Ct.length;let l;try{l=e(...r)}finally{for(let c=Ct.length;c>o;c--)$i();On(i),s._d&&In(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function of(e,t){if(Ee===null)return e;const n=$n(Ee),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&tt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function bt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(rt(),Ne(c,n,8,[e.el,l,e,t]),it())}}function Rn(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||jt){let r=jt?jt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function xn(e,t,n){return Ai(e,t,n)}function Ai(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n),c=t&&s||!t&&i!=="post";let a;if(un){if(i==="sync"){const m=ul();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const f=de;l.call=(m,I,w)=>Ne(m,f,I,w);let h=!1;i==="post"?l.scheduler=m=>{ve(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():Us(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return un&&(a?a.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=Ai(r,i.bind(s),n);return o(),l}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),Gn=e=>e.__isTeleport,ts=Symbol("_leaveCb");function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==lt){t=n;break}}return t}function xi(e){if(!Gs(e))return Gn(e.type)&&e.children?dl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&B(n.default))return n.default()}}function Ks(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ks(Gn(n.type)&&xi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wi(e,t){return B(e)?fe({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function rr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pn=new WeakMap;function Zt(e,t,n,s,r=!1){if(L(e)){e.forEach((w,H)=>Zt(w,t&&(L(t)?t[H]:t),n,s,r));return}if(en(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Zt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?$n(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?qr:w=>rr(f,w)?!1:q(g,w),I=(w,H)=>!(H&&rr(f,H));if(a!=null&&a!==c){if(ir(t),ne(a))f[a]=null,m(a)&&(h[a]=null);else if(he(a)){const w=t;I(a,w.k)&&(a.value=null),w.k&&(f[w.k]=null)}}if(B(c))hn(c,l,12,[o,f]);else{const w=ne(c),H=he(c);if(w||H){const j=()=>{if(e.f){const O=w?m(c)?h[c]:f[c]:I()||!e.k?c.value:f[e.k];if(r)L(O)&&Os(O,i);else if(L(O))O.includes(i)||O.push(i);else if(w)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else w?(f[c]=o,m(c)&&(h[c]=o)):H&&(I(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const O=()=>{j(),Pn.delete(e)};O.id=-1,Pn.set(e,O),ve(O,n)}else ir(e),j()}}}function ir(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Bn().requestIdleCallback;Bn().cancelIdleCallback;const en=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function hl(e,t){Ci(e,"a",t)}function pl(e,t){Ci(e,"da",t)}function Ci(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gs(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=kn(t,e,s,!0);Oi(()=>{Os(s[t],r)},n)}function kn(e,t,n=de,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=pn(n),c=Ne(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=de)=>{(!un||e==="sp")&&kn(e,(...s)=>t(...s),n)},ml=ct("bm"),_l=ct("m"),yl=ct("bu"),vl=ct("u"),bl=ct("bum"),Oi=ct("um"),El=ct("sp"),Al=ct("rtg"),Rl=ct("rtc");function xl(e,t=de){kn("ec",e,t)}const wl="components";function Sl(e,t){return Ol(wl,e,!0,t)||e}const Cl=Symbol.for("v-ndc");function Ol(e,t,n=!0,s=!1){const r=Ee||de;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===_e(t)||l===Fn(_e(t))))return i}const o=or(r[e]||i[e],t)||or(r.appContext[e],t);return!o&&s?i:o}}function or(e,t){return e&&(e[t]||e[_e(t)]||e[Fn(_e(t))])}function lf(e,t,n,s){let r;const i=n,o=L(e);if(o||ne(e)){const l=o&&St(e);let c=!1,a=!1;l&&(c=!Se(e),a=ot(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?Ft(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if($(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ys=e=>e?Xi(e)?$n(e):ys(e.parent):null,tn=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Us(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>fl.bind(e)}),ns=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ns(s,t))return o[t]=1,s[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(n!==X&&q(n,t))return o[t]=4,n[t];vs&&(o[t]=0)}}const a=tn[t];let f,h;if(a)return t==="$attrs"&&ae(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ns(r,t)?(r[t]=n,!0):s!==X&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&q(e,l)||ns(t,l)||q(i,l)||q(s,l)||q(tn,l)||q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lr(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let vs=!0;function Tl(e){const t=Ti(e),n=e.proxy,s=e.ctx;vs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:w,deactivated:H,beforeDestroy:j,beforeUnmount:O,destroyed:N,unmounted:T,render:Q,renderTracked:ie,renderTriggered:ee,errorCaptured:Me,serverPrefetch:ut,expose:Le,inheritAttrs:ft,components:yt,directives:Ve,filters:Gt}=t;if(a&&Il(a,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);$(z)&&(e.data=dn(z))}if(vs=!0,i)for(const z in i){const G=i[z],ze=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):qe,at=!B(G)&&B(G.set)?G.set.bind(n):qe,je=Ce({get:ze,set:at});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>je.value,set:ye=>je.value=ye})}if(l)for(const z in l)Pi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Rn(G,z[G])})}f&&cr(f,e,"c");function le(z,G){L(G)?G.forEach(ze=>z(ze.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(yl,m),le(vl,I),le(hl,w),le(pl,H),le(xl,Me),le(Rl,ie),le(Al,ee),le(bl,O),le(Oi,T),le(El,ut),L(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:ze=>n[G]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===qe&&(e.render=Q),ft!=null&&(e.inheritAttrs=ft),yt&&(e.components=yt),Ve&&(e.directives=Ve),ut&&Si(e)}function Il(e,t,n=qe){L(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;$(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function cr(e,t,n){Ne(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&xn(r,i)}else if(B(e))xn(r,e.bind(n));else if($(e))if(L(e))e.forEach(i=>Pi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&xn(r,i,e)}}function Ti(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),$(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:ur,props:fr,emits:fr,methods:zt,computed:zt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:zt,directives:zt,watch:Ml,provide:ur,inject:Dl};function ur(e,t){return t?e?function(){return fe(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Dl(e,t){return zt(bs(e),bs(t))}function bs(e){if(L(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?fe(Object.create(null),e,t):t}function fr(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:fe(Object.create(null),lr(e),lr(t??{})):t}function Ml(e,t){if(!e)return t;if(!t)return e;const n=fe(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Vl(e,t){return function(s,r=null){B(s)||(s=fe({},s)),r!=null&&!$(r)&&(r=null);const i=Ii(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(a,...h)):B(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,g){if(!c){const m=a._ceVNode||Re(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,a._container=f,f.__vue_app__=a,$n(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=jt;jt=a;try{return f()}finally{jt=h}}};return a}}let jt=null;const jl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_e(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function Fl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&jl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=r.map(Hn)));let l,c=s[l=Qn(t)]||s[l=Qn(_e(t))];!c&&i&&(c=s[l=Qn(_t(t))]),c&&Ne(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(a,e,6,r)}}const Hl=new WeakMap;function Ni(e,t,n=!1){const s=n?Hl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=a=>{const f=Ni(a,t,!0);f&&(l=!0,fe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?($(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):fe(o,i),$(e)&&s.set(e,o),o)}function Wn(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:g,setupState:m,ctx:I,inheritAttrs:w}=e,H=On(e);let j,O;try{if(n.shapeFlag&4){const T=r||s,Q=T;j=ke(a.call(Q,T,f,h,m,g,I)),O=l}else{const T=t;j=ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),O=t.props?l:Bl(l)}}catch(T){Ct.length=0,Kn(T,e,1),j=Re(lt)}let N=j;if(O&&w!==!1){const T=Object.keys(O),{shapeFlag:Q}=N;T.length&&Q&7&&(i&&T.some(Vn)&&(O=Ul(O,i)),N=Ht(N,O,!1,!0))}if(n.dirs&&(N=Ht(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gn(N.type)&&xi(N)||N;Ks(T,n.transition)}return j=N,On(H),j}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Vn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Di(o,s,g)&&!Wn(a,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?dr(s,o,a):!0:!!o;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Di(t,e,i)&&!Wn(n,i))return!0}return!1}function Di(e,t,n){const s=e[n],r=t[n];return n==="style"&&$(s)&&$(r)?!Te(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Mi={},Li=()=>Object.create(Mi),Vi=e=>Object.getPrototypeOf(e)===Mi;function kl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),ji(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if(Wn(e.emitsOptions,g))continue;const m=t[g];if(c)if(q(i,g))m!==i[g]&&(i[g]=m,a=!0);else{const I=_e(g);r[I]=Es(c,l,I,m,e,!1)}else m!==i[g]&&(i[g]=m,a=!0)}}}else{ji(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=_t(h))===h||!q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],a=!0)}a&&et(e.attrs,"set","")}function ji(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Qt(c))continue;const a=t[c];let f;r&&q(r,f=_e(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:Wn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=W(n),a=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,a[h],e,!q(a,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=pn(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===_t(n))&&(s=!0))}return s}const ql=new WeakMap;function Fi(e,t,n=!1){const s=n?ql:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=Fi(h,t,!0);fe(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return $(e)&&s.set(e,Mt),Mt;if(L(i))for(let f=0;f<i.length;f++){const h=_e(i[f]);hr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=_e(f);if(hr(h)){const g=i[f],m=o[h]=L(g)||B(g)?{type:g}:fe({},g),I=m.type;let w=!1,H=!0;if(L(I))for(let j=0;j<I.length;++j){const O=I[j],N=B(O)&&O.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(H=!1)}else w=B(I)&&I.name==="Boolean";m[0]=w,m[1]=H,(w||q(m,"default"))&&l.push(h)}}const a=[o,l];return $(e)&&s.set(e,a),a}function hr(e){return e[0]!=="$"&&!Qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>L(e)?e.map(ke):[ke(e)],$l=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>Ws(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=$l(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Bi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Ui(s,t,n),n&&Qr(s,"_",r,!0)):Hi(t,s)}else t&&Bi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ui(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(Bi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},ve=ec;function Ql(e){return Yl(e)}function Yl(e,t){const n=Bn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=qe,insertStaticContent:I}=e,w=(u,d,p,y=null,b=null,_=null,x=void 0,R=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!qt(u,d)&&(y=v(u),ye(u,b,_,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:E,ref:V,shapeFlag:C}=d;switch(E){case qn:H(u,d,p,y);break;case lt:j(u,d,p,y);break;case rs:u==null&&O(d,p,y,x);break;case Xe:yt(u,d,p,y,b,_,x,R,A);break;default:C&1?Q(u,d,p,y,b,_,x,R,A):C&6?Ve(u,d,p,y,b,_,x,R,A):(C&64||C&128)&&E.process(u,d,p,y,b,_,x,R,A,D)}V!=null&&b?Zt(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&Zt(u.ref,null,_,u,!0)},H=(u,d,p,y)=>{if(u==null)s(d.el=l(d.children),p,y);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},j=(u,d,p,y)=>{u==null?s(d.el=c(d.children||""),p,y):d.el=u.el},O=(u,d,p,y)=>{[u.el,u.anchor]=I(u.children,d,p,y,u.el,u.anchor)},N=({el:u,anchor:d},p,y)=>{let b;for(;u&&u!==d;)b=g(u),s(u,p,y),u=b;s(d,p,y)},T=({el:u,anchor:d})=>{let p;for(;u&&u!==d;)p=g(u),r(u),u=p;r(d)},Q=(u,d,p,y,b,_,x,R,A)=>{if(d.type==="svg"?x="svg":d.type==="math"&&(x="mathml"),u==null)ie(d,p,y,b,_,x,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ut(u,d,b,_,x,R,A)}finally{E&&E._endPatch()}}},ie=(u,d,p,y,b,_,x,R)=>{let A,E;const{props:V,shapeFlag:C,transition:M,dirs:F}=u;if(A=u.el=o(u.type,_,V&&V.is,V),C&8?f(A,u.children):C&16&&Me(u.children,A,null,y,b,ss(u,_),x,R),F&&bt(u,null,y,"created"),ee(A,u,u.scopeId,x,y),V){for(const Y in V)Y!=="value"&&!Qt(Y)&&i(A,Y,null,V[Y],_,y);"value"in V&&i(A,"value",null,V.value,_),(E=V.onVnodeBeforeMount)&&Ue(E,y,u)}F&&bt(u,null,y,"beforeMount");const K=Xl(b,M);K&&M.beforeEnter(A),s(A,d,p),((E=V&&V.onVnodeMounted)||K||F)&&ve(()=>{try{E&&Ue(E,y,u),K&&M.enter(A),F&&bt(u,null,y,"mounted")}finally{}},b)},ee=(u,d,p,y,b)=>{if(p&&m(u,p),y)for(let _=0;_<y.length;_++)m(u,y[_]);if(b){let _=b.subTree;if(d===_||Wi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const x=b.vnode;ee(u,x,x.scopeId,x.slotScopeIds,b.parent)}}},Me=(u,d,p,y,b,_,x,R,A=0)=>{for(let E=A;E<u.length;E++){const V=u[E]=R?Ze(u[E]):ke(u[E]);w(null,V,d,p,y,b,_,x,R)}},ut=(u,d,p,y,b,_,x)=>{const R=d.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:V}=d;A|=u.patchFlag&16;const C=u.props||X,M=d.props||X;let F;if(p&&Et(p,!1),(F=M.onVnodeBeforeUpdate)&&Ue(F,p,d,u),V&&bt(d,u,p,"beforeUpdate"),p&&Et(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,x=!1,E=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,y,ss(d,b),_):x||G(u,d,R,null,p,y,ss(d,b),_,!1),A>0){if(A&16)ft(R,C,M,p,b);else if(A&2&&C.class!==M.class&&i(R,"class",null,M.class,b),A&4&&i(R,"style",C.style,M.style,b),A&8){const K=d.dynamicProps;for(let Y=0;Y<K.length;Y++){const J=K[Y],se=C[J],ce=M[J];(ce!==se||J==="value")&&i(R,J,se,ce,b,p)}}A&1&&u.children!==d.children&&f(R,d.children)}else!x&&E==null&&ft(R,C,M,p,b);((F=M.onVnodeUpdated)||V)&&ve(()=>{F&&Ue(F,p,d,u),V&&bt(d,u,p,"updated")},y)},Le=(u,d,p,y,b,_,x)=>{for(let R=0;R<d.length;R++){const A=u[R],E=d[R],V=A.el&&(A.type===Xe||!qt(A,E)||A.shapeFlag&198)?h(A.el):p;w(A,E,V,null,y,b,_,x,!0)}},ft=(u,d,p,y,b)=>{if(d!==p){if(d!==X)for(const _ in d)!Qt(_)&&!(_ in p)&&i(u,_,d[_],null,b,y);for(const _ in p){if(Qt(_))continue;const x=p[_],R=d[_];x!==R&&_!=="value"&&i(u,_,R,x,b,y)}"value"in p&&i(u,"value",d.value,p.value,b)}},yt=(u,d,p,y,b,_,x,R,A)=>{const E=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:F}=d;F&&(R=R?R.concat(F):F),u==null?(s(E,p,y),s(V,p,y),Me(d.children||[],p,V,b,_,x,R,A)):C>0&&C&64&&M&&u.dynamicChildren&&u.dynamicChildren.length===M.length?(Le(u.dynamicChildren,M,p,b,_,x,R),(d.key!=null||b&&d===b.subTree)&&Ki(u,d,!0)):G(u,d,p,V,b,_,x,R,A)},Ve=(u,d,p,y,b,_,x,R,A)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,p,y,x,A):Gt(d,p,y,b,_,x,A):Ot(u,d,A)},Gt=(u,d,p,y,b,_,x)=>{const R=u.component=lc(u,y,b);if(Gs(u)&&(R.ctx.renderer=D),uc(R,!1,x),R.asyncDep){if(b&&b.registerDep(R,le,x),!u.el){const A=R.subTree=Re(lt);j(null,A,d,p),u.placeholder=A.el}}else le(R,u,d,p,b,_,x)},Ot=(u,d,p)=>{const y=d.component=u.component;if(Kl(u,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},le=(u,d,p,y,b,_,x)=>{const R=()=>{if(u.isMounted){let{next:C,bu:M,u:F,parent:K,vnode:Y}=u;{const He=Gi(u);if(He){C&&(C.el=Y.el,z(u,C,x)),He.asyncDep.then(()=>{ve(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;Et(u,!1),C?(C.el=Y.el,z(u,C,x)):C=Y,M&&An(M),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Y),Et(u,!0);const ce=ar(u),Fe=u.subTree;u.subTree=ce,w(Fe,ce,h(Fe.el),v(Fe),u,b,_),C.el=ce.el,J===null&&Gl(u,ce.el),F&&ve(F,b),(se=C.props&&C.props.onVnodeUpdated)&&ve(()=>Ue(se,K,C,Y),b)}else{let C;const{el:M,props:F}=d,{bm:K,m:Y,parent:J,root:se,type:ce}=u,Fe=en(d);Et(u,!1),K&&An(K),!Fe&&(C=F&&F.onVnodeBeforeMount)&&Ue(C,J,d),Et(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,u.parent?u.parent.type:void 0);const He=u.subTree=ar(u);w(null,He,p,y,u,b,_),d.el=He.el}if(Y&&ve(Y,b),!Fe&&(C=F&&F.onVnodeMounted)){const He=d;ve(()=>Ue(C,J,He),b)}(d.shapeFlag&256||J&&en(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&ve(u.a,b),u.isMounted=!0,d=p=y=null}};u.scope.on();const A=u.effect=new ei(R);u.scope.off();const E=u.update=A.run.bind(A),V=u.job=A.runIfDirty.bind(A);V.i=u,V.id=u.uid,A.scheduler=()=>Us(V),Et(u,!0),E()},z=(u,d,p)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,Wl(u,d.props,y,p),Jl(u,d.children,p),rt(),sr(u),it()},G=(u,d,p,y,b,_,x,R,A=!1)=>{const E=u&&u.children,V=u?u.shapeFlag:0,C=d.children,{patchFlag:M,shapeFlag:F}=d;if(M>0){if(M&128){at(E,C,p,y,b,_,x,R,A);return}else if(M&256){ze(E,C,p,y,b,_,x,R,A);return}}F&8?(V&16&&we(E,b,_),C!==E&&f(p,C)):V&16?F&16?at(E,C,p,y,b,_,x,R,A):we(E,b,_,!0):(V&8&&f(p,""),F&16&&Me(C,p,y,b,_,x,R,A))},ze=(u,d,p,y,b,_,x,R,A)=>{u=u||Mt,d=d||Mt;const E=u.length,V=d.length,C=Math.min(E,V);let M;for(M=0;M<C;M++){const F=d[M]=A?Ze(d[M]):ke(d[M]);w(u[M],F,p,null,b,_,x,R,A)}E>V?we(u,b,_,!0,!1,C):Me(d,p,y,b,_,x,R,A,C)},at=(u,d,p,y,b,_,x,R,A)=>{let E=0;const V=d.length;let C=u.length-1,M=V-1;for(;E<=C&&E<=M;){const F=u[E],K=d[E]=A?Ze(d[E]):ke(d[E]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;E++}for(;E<=C&&E<=M;){const F=u[C],K=d[M]=A?Ze(d[M]):ke(d[M]);if(qt(F,K))w(F,K,p,null,b,_,x,R,A);else break;C--,M--}if(E>C){if(E<=M){const F=M+1,K=F<V?d[F].el:y;for(;E<=M;)w(null,d[E]=A?Ze(d[E]):ke(d[E]),p,K,b,_,x,R,A),E++}}else if(E>M)for(;E<=C;)ye(u[E],b,_,!0),E++;else{const F=E,K=E,Y=new Map;for(E=K;E<=M;E++){const be=d[E]=A?Ze(d[E]):ke(d[E]);be.key!=null&&Y.set(be.key,E)}let J,se=0;const ce=M-K+1;let Fe=!1,He=0;const kt=new Array(ce);for(E=0;E<ce;E++)kt[E]=0;for(E=F;E<=C;E++){const be=u[E];if(se>=ce){ye(be,b,_,!0);continue}let Be;if(be.key!=null)Be=Y.get(be.key);else for(J=K;J<=M;J++)if(kt[J-K]===0&&qt(be,d[J])){Be=J;break}Be===void 0?ye(be,b,_,!0):(kt[Be-K]=E+1,Be>=He?He=Be:Fe=!0,w(be,d[Be],p,null,b,_,x,R,A),se++)}const zs=Fe?Zl(kt):Mt;for(J=zs.length-1,E=ce-1;E>=0;E--){const be=K+E,Be=d[be],Js=d[be+1],Qs=be+1<V?Js.el||ki(Js):y;kt[E]===0?w(null,Be,p,Qs,b,_,x,R,A):Fe&&(J<0||E!==zs[J]?je(Be,p,Qs,2):J--)}}},je=(u,d,p,y,b=null)=>{const{el:_,type:x,transition:R,children:A,shapeFlag:E}=u;if(E&6){je(u.component.subTree,d,p,y);return}if(E&128){u.suspense.move(d,p,y);return}if(E&64){x.move(u,d,p,D);return}if(x===Xe){s(_,d,p);for(let C=0;C<A.length;C++)je(A[C],d,p,y);s(u.anchor,d,p);return}if(x===rs){N(u,d,p);return}if(y!==2&&E&1&&R)if(y===0)R.persisted&&!_[ts]?s(_,d,p):(R.beforeEnter(_),s(_,d,p),ve(()=>R.enter(_),b));else{const{leave:C,delayLeave:M,afterLeave:F}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,d,p)},Y=()=>{const J=_._isLeaving||!!_[ts];_._isLeaving&&_[ts](!0),R.persisted&&!J?K():C(_,()=>{K(),F&&F()})};M?M(_,K,Y):Y()}else s(_,d,p)},ye=(u,d,p,y=!1,b=!1)=>{const{type:_,props:x,ref:R,children:A,dynamicChildren:E,shapeFlag:V,patchFlag:C,dirs:M,cacheIndex:F,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(rt(),Zt(R,null,p,u,!0),it()),F!=null&&(d.renderCache[F]=void 0),V&256){d.ctx.deactivate(u);return}const Y=V&1&&M,J=!en(u);let se;if(J&&(se=x&&x.onVnodeBeforeUnmount)&&Ue(se,d,u),V&6)vt(u.component,p,y);else{if(V&128){u.suspense.unmount(p,y);return}Y&&bt(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,p,D,y):E&&!E.hasOnce&&(_!==Xe||C>0&&C&64)?we(E,d,p,!1,!0):(_===Xe&&C&384||!b&&V&16)&&we(A,d,p),y&&Pt(u)}const ce=K!=null&&F==null;(J&&(se=x&&x.onVnodeUnmounted)||Y||ce)&&ve(()=>{se&&Ue(se,d,u),Y&&bt(u,null,d,"unmounted"),ce&&(u.el=null)},p)},Pt=u=>{const{type:d,el:p,anchor:y,transition:b}=u;if(d===Xe){Tt(p,y);return}if(d===rs){T(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:x,delayLeave:R}=b,A=()=>x(p,_);R?R(u.el,_,A):A()}else _()},Tt=(u,d)=>{let p;for(;u!==d;)p=g(u),r(u),u=p;r(d)},vt=(u,d,p)=>{const{bum:y,scope:b,job:_,subTree:x,um:R,m:A,a:E}=u;pr(A),pr(E),y&&An(y),b.stop(),_&&(_.flags|=8,ye(x,u,d,p)),R&&ve(R,d),ve(()=>{u.isUnmounted=!0},d)},we=(u,d,p,y=!1,b=!1,_=0)=>{for(let x=_;x<u.length;x++)ye(u[x],d,p,y,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),p=d&&d[al];return p?g(p):d};let P=!1;const S=(u,d,p)=>{let y;u==null?d._vnode&&(ye(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,p),d._vnode=u,P||(P=!0,sr(y),vi(),P=!1)},D={p:w,um:ye,m:je,r:Pt,mt:Gt,mc:Me,pc:G,pbc:Le,n:v,o:e};return{render:S,hydrate:void 0,createApp:Vl(S)}}function ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ze(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Ki(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=Ze(l)),l.el=o.el),l.type===lt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function pr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ki(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ki(t.subTree):null}const Wi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Xe=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Ct=[];let Ae=null;function qi(e=!1){Ct.push(Ae=e?null:[])}function $i(){Ct.pop(),Ae=Ct[Ct.length-1]||null}let ln=1;function In(e,t=!1){ln+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function zi(e){return e.dynamicChildren=ln>0?Ae||Mt:null,$i(),ln>0&&Ae&&Ae.push(e),e}function cf(e,t,n,s,r,i){return zi(Yi(e,t,n,s,r,i,!0))}function Ji(e,t,n,s,r){return zi(Re(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,wn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||he(e)||B(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function Yi(e,t=null,n=null,s=0,r=null,i=e===Xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&wn(t),scopeId:Ei,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Dn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),ln>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Re=tc;function tc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Cl)&&(e=lt),Nn(e)){const l=Ht(e,t,!0);return n&&Dn(l,n),ln>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=nc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Is(l)),$(c)&&(Hs(c)&&!L(c)&&(c=fe({},c)),t.style=Ts(c))}const o=ne(e)?1:Wi(e)?128:Gn(e)?64:$(e)?4:B(e)?2:0;return Yi(e,t,n,s,r,o,i,!0)}function nc(e){return e?Hs(e)||Vi(e)?fe({},e):e:null}function Ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Qi(a),ref:t&&t.ref?n&&i?L(i)?i.concat(wn(t)):[i,wn(t)]:wn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Ks(f,c.clone(f)),f}function sc(e=" ",t=0){return Re(qn,null,e,t)}function uf(e="",t=!1){return t?(qi(),Ji(lt,null,e)):Re(lt,null,e)}function ke(e){return e==null||typeof e=="boolean"?Re(lt):L(e)?Re(Xe,null,e.slice()):Nn(e)?Ze(e):Re(qn,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Dn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Dn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Vi(t)?t._ctx=Ee:r===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Dn(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[sc(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Is([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(L(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Vn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Ii();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new To(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Fi(s,r),emitsOptions:Ni(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Fl.bind(null,i),e.ce&&e.ce(i),i}let de=null;const cc=()=>de||Ee;let Mn,cn;{const e=Bn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),cn=t("__VUE_SSR_SETTERS__",n=>un=n)}const pn=e=>{const t=de;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},gr=()=>{de&&de.scope.off(),Mn(null)};function Xi(e){return e.vnode.shapeFlag&4}let un=!1;function uc(e,t=!1,n=!1){t&&cn(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&cn(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=hn(s,e,0,[e.props,r]),l=$r(o);if(it(),i(),(l||e.sp)&&!en(e)&&Si(e),l){if(o.then(gr,gr),t)return o.then(c=>{cn(!0);try{mr(e,c,t)}finally{cn(!1)}}).catch(c=>{Kn(c,e,0)});e.asyncDep=o}else mr(e,o)}else Zi(e)}function mr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=mi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=pn(e);rt();try{Tl(e)}finally{it(),r()}}}const ac={get(e,t){return ae(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Jo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const Ce=(e,t)=>tl(e,t,un);function eo(e,t,n){try{In(-1);const s=arguments.length;return s===2?$(t)&&!L(t)?Nn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),Re(e,t,n))}finally{In(1)}}const gc="3.5.42";/**
+* @vue/runtime-dom v3.5.42
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let As;const _r=typeof window<"u"&&window.trustedTypes;if(_r)try{As=_r.createPolicy("vue",{createHTML:e=>e})}catch{}const to=As?e=>As.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,yr=Ye&&Ye.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ye.createElementNS(mc,e):t==="mathml"?Ye.createElementNS(_c,e):n?Ye.createElement(e,{is:n}):Ye.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=Symbol("_vtc");function bc(e,t,n){const s=e[vc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Sc(e,o,!ne(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const bn=/\s*!important$/;function Jt(e,t,n){if(L(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))bn.test(n)?e.setProperty(t,n.replace(bn,""),"important"):e.setProperty(t,n);else{const s=wc(e,t);bn.test(n)?e.setProperty(_t(s),n.replace(bn,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],is={};function wc(e,t){const n=is[t];if(n)return n;let s=_e(t);if(s!=="filter"&&s in e)return is[t]=s;s=Fn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return is[t]=i}return t}function Sc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Co(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":$e(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Yr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function nt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const a=i[t]=Mc(s,r);nt(e,l,a,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let os=0;const Nc=Promise.resolve(),Dc=()=>os||(Nc.then(()=>os=0),os=Date.now());function Mc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(L(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const a=o[c];a&&Ne(a,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Dc(),n}const wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Vn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(jc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,_e(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Vc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return wr(t)&&ne(n)?!1:t in e}function jc(e,t){const n=e._def.props;if(!n)return!1;const s=_e(t);return Array.isArray(n)?n.some(r=>_e(r)===s):Object.keys(n).some(r=>_e(r)===s)}const mt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?n=>An(t,n):t};function Fc(e){e.target.composing=!0}function Sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),En=Symbol("_initialValue");function ls(e,t,n){return t&&(e=e.trim()),n&&(e=Hn(e)),e}const ff={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[En]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[En]=e.defaultValue.replace(/\r\n?/g,`
+`))),e[xe]=mt(r);const i=s||r.props&&r.props.type==="number";nt(e,t?"change":"input",o=>{o.target.composing||e[xe](ls(e.value,n,i))}),(n||i)&&nt(e,"change",()=>{e.value=ls(e.value,n,i)}),t||(nt(e,"compositionstart",Fc),nt(e,"compositionend",Sr),nt(e,"change",Sr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[En];delete e[En],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](ls(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=mt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hn(e.value):e.value,c=t??"";if(l===c)return;const a=e.getRootNode();(a instanceof Document||a instanceof ShadowRoot)&&a.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},af={deep:!0,created(e,t,n){e[xe]=mt(n),nt(e,"change",()=>{const s=e._modelValue,r=Bt(e),i=e.checked,o=e[xe];if(L(s)){const l=Ns(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const a=[...s];a.splice(l,1),o(a)}}else if(st(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(no(e,i))})},mounted:Cr,beforeUpdate(e,t,n){e[xe]=mt(n),Cr(e,t,n)}};function Cr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(L(t))r=Ns(t,s.props.value)>-1;else if(st(t))r=t.has(s.props.value);else{if(t===n)return;r=Te(t,no(e,!0))}e.checked!==r&&(e.checked=r)}const df={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[xe]=mt(n),nt(e,"change",()=>{e[xe](Bt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=mt(s),t!==n&&(e.checked=Te(t,s.props.value))}},hf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Hn(Bt(c)):Bt(c)),i=e.multiple,o=i?st(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?L(o)?r.slice():r:o];try{e[xe](o)}finally{Bs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xe]=mt(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=mt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Hc(t,n[1],n[0]))&&Or(e,t)}};function Hc(e,t,n){if(!n||L(e))return Te(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Or(e,t){const n=e.multiple,s=L(t);if(!(n&&!s&&!st(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Bt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=Ns(t,l)>-1}else o.selected=t.has(l);else if(Te(Bt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Bt(e){return"_value"in e?e._value:e.value}function no(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bc=["ctrl","shift","alt","meta"],Uc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Bc.some(n=>e[`${n}Key`]&&!t.includes(n))},pf=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o<t.length;o++){const l=Uc[t[o]];if(l&&l(r,t))return}return e(r,...i)})},Kc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},gf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=_t(r.key);if(t.some(o=>o===i||Kc[o]===i))return e(r)})},Gc=fe({patchProp:Lc},yc);let Pr;function kc(){return Pr||(Pr=Ql(Gc))}const Wc=(...e)=>{const t=kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=$c(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function qc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $c(e){return ne(e)?document.querySelector(e):e}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Dt=typeof document<"u";function so(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&so(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=De(r)?r.map(e):e(r)}return n}const nn=()=>{},De=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ro=/#/g,Jc=/&/g,Qc=/\//g,Yc=/=/g,Xc=/\?/g,io=/\+/g,Zc=/%5B/g,eu=/%5D/g,oo=/%5E/g,tu=/%60/g,lo=/%7B/g,nu=/%7C/g,co=/%7D/g,su=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(nu,"|").replace(Zc,"[").replace(eu,"]")}function ru(e){return qs(e).replace(lo,"{").replace(co,"}").replace(oo,"^")}function Rs(e){return qs(e).replace(io,"%2B").replace(su,"+").replace(ro,"%23").replace(Jc,"%26").replace(tu,"`").replace(lo,"{").replace(co,"}").replace(oo,"^")}function iu(e){return Rs(e).replace(Yc,"%3D")}function ou(e){return qs(e).replace(ro,"%23").replace(Xc,"%3F")}function lu(e){return ou(e).replace(Qc,"%2F")}function fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const cu=/\/$/,uu=e=>e.replace(cu,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=hu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:fn(o)}}function fu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function au(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ut(t.matched[s],n.matched[r])&&uo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ut(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function uo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!du(e[n],t[n]))return!1;return!0}function du(e,t){return De(e)?Nr(e,t):De(t)?Nr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Nr(e,t){return De(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function hu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let xs=function(e){return e.pop="pop",e.push="push",e}({}),fs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function pu(e){if(!e)if(Dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),uu(e)}const gu=/^[^#]+#/;function mu(e,t){return e.replace(gu,"#")+t}function _u(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const zn=()=>({left:window.scrollX,top:window.scrollY});function yu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=_u(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Dr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function vu(e,t){ws.set(e,t)}function bu(e){const t=ws.get(e);return ws.delete(e),t}function Eu(e){return typeof e=="string"||e&&typeof e=="object"}function fo(e){return typeof e=="string"||typeof e=="symbol"}let te=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ao=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Kt(e,t){return k(new Error,{type:e,[ao]:!0},t)}function Qe(e,t){return e instanceof Error&&ao in e&&(t==null||!!(e.type&t))}const Au=["params","query","hash"];function Ru(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Au)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function xu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(io," "),i=r.indexOf("="),o=fn(i<0?r:r.slice(0,i)),l=i<0?null:fn(r.slice(i+1));if(o in t){let c=t[o];De(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=iu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(De(s)?s.map(r=>r&&Rs(r)):[s&&Rs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function wu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=De(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Su=Symbol(""),Lr=Symbol(""),Jn=Symbol(""),$s=Symbol(""),Ss=Symbol("");function $t(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function pt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=g=>{g===!1?c(Kt(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):Eu(g)?c(Kt(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(so(c)){const a=(c.__vccOpts||c)[t];a&&i.push(pt(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=zc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&pt(g,n,s,o,l,r)()}))}}return i}function Cu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Ut(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Ut(a,c))||r.push(c))}return[n,s,r]}/*!
+ * vue-router v4.6.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Ou=()=>location.protocol+"//"+location.host;function ho(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Pu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ho(e,location),I=n.value,w=t.value;let H=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}H=w?g.position-w.position:0}else s(m);r.forEach(j=>{j(n.value,I,{delta:H,type:xs.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function a(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:zn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function Vr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?zn():null}}function Tu(e){const{history:t,location:n}=window,s={value:ho(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Ou()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,a){i(c,k({},t.state,Vr(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=k({},r.value,t.state,{forward:c,scroll:zn()});i(f.current,f,!0),i(c,k({},Vr(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Iu(e){e=pu(e);const t=Tu(e),n=Pu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:mu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let xt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var oe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(oe||{});const Nu={type:xt.Static,value:""},Du=/[a-zA-Z0-9_]/;function Mu(e){if(!e)return[[]];if(e==="/")return[[Nu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=oe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===oe.Static?i.push({type:xt.Static,value:a}):n===oe.Param||n===oe.ParamRegExp||n===oe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:xt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==oe.ParamRegExp){s=n,n=oe.EscapeNext;continue}switch(n){case oe.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=oe.Param):g();break;case oe.EscapeNext:g(),n=s;break;case oe.Param:c==="("?n=oe.ParamRegExp:Du.test(c)?g():(h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case oe.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=oe.ParamRegExpEnd:f+=c;break;case oe.ParamRegExpEnd:h(),n=oe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===oe.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const jr="[^/]+?",Lu={sensitive:!1,strict:!1,start:!0,end:!0};var ge=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ge||{});const Vu=/[.+*?^${}()[\]/\\]/g;function ju(e,t){const n=k({},Lu,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[ge.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const g=a[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(g.type===xt.Static)h||(r+="/"),r+=g.value.replace(Vu,"\\$&"),m+=ge.Static;else if(g.type===xt.Param){const{value:I,repeatable:w,optional:H,regexp:j}=g;i.push({name:I,repeatable:w,optional:H});const O=j||jr;if(O!==jr){m+=ge.BonusCustomRegExp;try{`${O}`}catch(T){throw new Error(`Invalid custom RegExp for param "${I}" (${O}): `+T.message)}}let N=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;h||(N=H&&a.length<2?`(?:/${N})`:"/"+N),H&&(N+="?"),r+=N,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),w&&(m+=ge.BonusRepeatable),O===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",I=i[g-1];h[I.name]=m&&I.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===xt.Static)f+=m.value;else if(m.type===xt.Param){const{value:I,repeatable:w,optional:H}=m,j=I in a?a[I]:"";if(De(j)&&!w)throw new Error(`Provided param "${I}" is an array but it is not repeatable (* or + modifiers)`);const O=De(j)?j.join("/"):j;if(!O)if(H)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${I}"`);f+=O}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Fu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function po(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Fu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Fr(s))return 1;if(Fr(r))return-1}return r.length-s.length}function Fr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Hu={strict:!1,end:!0,sensitive:!1};function Bu(e,t,n){const s=ju(Mu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Uu(e,t){const n=[],s=new Map;t=Tr(Hu,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,w=Br(h);w.aliasOf=m&&m.record;const H=Tr(t,h),j=[w];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const Q of T)j.push(Br(k({},w,{components:m?m.record.components:w.components,path:Q,aliasOf:m?m.record:w})))}let O,N;for(const T of j){const{path:Q}=T;if(g&&Q[0]!=="/"){const ie=g.record.path,ee=ie[ie.length-1]==="/"?"":"/";T.path=g.record.path+(Q&&ee+Q)}if(O=Bu(T,g,H),m?m.alias.push(O):(N=N||O,N!==O&&N.alias.push(O),I&&h.name&&!Ur(O)&&o(h.name)),go(O)&&c(O),w.children){const ie=w.children;for(let ee=0;ee<ie.length;ee++)i(ie[ee],O,m&&m.children[ee])}m=m||O}return N?()=>{o(N)}:nn}function o(h){if(fo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=ku(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function a(h,g){let m,I={},w,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h});H=m.record.name,I=k(Hr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&Hr(h.params,m.keys.map(N=>N.name))),w=m.stringify(I)}else if(h.path!=null)w=h.path,m=n.find(N=>N.re.test(w)),m&&(I=m.parse(w),H=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Kt(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});H=m.record.name,I=k({},g.params,h.params),w=m.stringify(I)}const j=[];let O=m;for(;O;)j.unshift(O.record),O=O.parent;return{name:H,path:w,params:I,matched:j,meta:Gu(j)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ku(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ku(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Gu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function ku(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;po(e,t[i])<0?s=i:n=i+1}const r=Wu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Wu(e){let t=e;for(;t=t.parent;)if(go(t)&&po(e,t)===0)return t}function go({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Jn),n=Pe($s),s=Ce(()=>{const c=Lt(e.to);return t.resolve(c)}),r=Ce(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Ut.bind(null,f));if(g>-1)return g;const m=Gr(c[a-2]);return a>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ut.bind(null,c[a-2])):g}),i=Ce(()=>r.value>-1&&Qu(n.params,s.value.params)),o=Ce(()=>r.value>-1&&r.value===n.matched.length-1&&uo(n.params,s.value.params));function l(c={}){if(Ju(c)){const a=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:Ce(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function qu(e){return e.length===1?e[0]:e}const $u=wi({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=dn(Kr(e)),{options:s}=Pe(Jn),r=Ce(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&qu(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),zu=$u;function Ju(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!De(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Yu=wi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Ss),r=Ce(()=>e.route||s.value),i=Pe(Lr,0),o=Ce(()=>{let a=Lt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=Ce(()=>r.value.matched[o.value]);Rn(Lr,Ce(()=>o.value+1)),Rn(Su,l),Rn(Ss,r);const c=Qo();return xn(()=>[c.value,l.value,e.name],([a,f,h],[g,m,I])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Ut(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:a});const m=h.props[f],I=m?m===!0?a.params:typeof m=="function"?m(a):m:null,H=eo(g,k({},I,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:H,route:a})||H}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Xu=Yu;function Zu(e){const t=Uu(e.routes,e),n=e.parseQuery||xu,s=e.stringifyQuery||Mr,r=e.history,i=$t(),o=$t(),l=$t(),c=Yo(dt);let a=dt;Dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,lu),g=cs.bind(null,fn);function m(v,P){let S,D;return fo(v)?(S=t.getRecordMatcher(v),D=P):D=v,t.addRoute(D,S)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function j(v,P){if(P=k({},P||c.value),typeof v=="string"){const p=us(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return k(p,y,{params:g(y.params),hash:fn(p.hash),redirectedFrom:void 0,href:b})}let S;if(v.path!=null)S=k({},v,{path:us(n,v.path,P.path).path});else{const p=k({},v.params);for(const y in p)p[y]==null&&delete p[y];S=k({},v,{params:h(p)}),P.params=h(P.params)}const D=t.resolve(S,P),U=v.hash||"";D.params=f(g(D.params));const u=fu(s,k({},v,{hash:ru(U),path:D.path})),d=r.createHref(u);return k({fullPath:u,hash:U,query:s===Mr?wu(v.query):v.query||{}},D,{redirectedFrom:void 0,href:d})}function O(v){return typeof v=="string"?us(n,v,c.value.path):k({},v)}function N(v,P){if(a!==v)return Kt(te.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return ee(v)}function Q(v){return T(k(O(v),{replace:!0}))}function ie(v,P){const S=v.matched[v.matched.length-1];if(S&&S.redirect){const{redirect:D}=S;let U=typeof D=="function"?D(v,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=O(U):{path:U},U.params={}),k({query:v.query,hash:v.hash,params:U.path!=null?{}:v.params},U)}}function ee(v,P){const S=a=j(v),D=c.value,U=v.state,u=v.force,d=v.replace===!0,p=ie(S,D);if(p)return ee(k(O(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:d}),P||S);const y=S;y.redirectedFrom=P;let b;return!u&&au(s,D,S)&&(b=Kt(te.NAVIGATION_DUPLICATED,{to:y,from:D}),je(D,D,!0,!1)),(b?Promise.resolve(b):Le(y,D)).catch(_=>Qe(_)?Qe(_,te.NAVIGATION_GUARD_REDIRECT)?_:at(_):G(_,y,D)).then(_=>{if(_){if(Qe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:d},O(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),P||y)}else _=yt(y,D,!0,d,U);return ft(y,D,_),_})}function Me(v,P){const S=N(v,P);return S?Promise.reject(S):Promise.resolve()}function ut(v){const P=Tt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Le(v,P){let S;const[D,U,u]=Cu(v,P);S=as(D.reverse(),"beforeRouteLeave",v,P);for(const p of D)p.leaveGuards.forEach(y=>{S.push(pt(y,v,P))});const d=Me.bind(null,v,P);return S.push(d),we(S).then(()=>{S=[];for(const p of i.list())S.push(pt(p,v,P));return S.push(d),we(S)}).then(()=>{S=as(U,"beforeRouteUpdate",v,P);for(const p of U)p.updateGuards.forEach(y=>{S.push(pt(y,v,P))});return S.push(d),we(S)}).then(()=>{S=[];for(const p of u)if(p.beforeEnter)if(De(p.beforeEnter))for(const y of p.beforeEnter)S.push(pt(y,v,P));else S.push(pt(p.beforeEnter,v,P));return S.push(d),we(S)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),S=as(u,"beforeRouteEnter",v,P,ut),S.push(d),we(S))).then(()=>{S=[];for(const p of o.list())S.push(pt(p,v,P));return S.push(d),we(S)}).catch(p=>Qe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function ft(v,P,S){l.list().forEach(D=>ut(()=>D(v,P,S)))}function yt(v,P,S,D,U){const u=N(v,P);if(u)return u;const d=P===dt,p=Dt?history.state:{};S&&(D||d?r.replace(v.fullPath,k({scroll:d&&p&&p.scroll},U)):r.push(v.fullPath,U)),c.value=v,je(v,P,S,d),at()}let Ve;function Gt(){Ve||(Ve=r.listen((v,P,S)=>{if(!vt.listening)return;const D=j(v),U=ie(D,vt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),D).catch(nn);return}a=D;const u=c.value;Dt&&vu(Dr(u.fullPath,S.delta),zn()),Le(D,u).catch(d=>Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?d:Qe(d,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(O(d.to),{force:!0}),D).then(p=>{Qe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!S.delta&&S.type===xs.pop&&r.go(-1,!1)}).catch(nn),Promise.reject()):(S.delta&&r.go(-S.delta,!1),G(d,D,u))).then(d=>{d=d||yt(D,u,!1),d&&(S.delta&&!Qe(d,te.NAVIGATION_CANCELLED)?r.go(-S.delta,!1):S.type===xs.pop&&Qe(d,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ft(D,u,d)}).catch(nn)}))}let Ot=$t(),le=$t(),z;function G(v,P,S){at(v);const D=le.list();return D.length?D.forEach(U=>U(v,P,S)):console.error(v),Promise.reject(v)}function ze(){return z&&c.value!==dt?Promise.resolve():new Promise((v,P)=>{Ot.add([v,P])})}function at(v){return z||(z=!v,Gt(),Ot.list().forEach(([P,S])=>v?S(v):P()),Ot.reset()),v}function je(v,P,S,D){const{scrollBehavior:U}=e;if(!Dt||!U)return Promise.resolve();const u=!S&&bu(Dr(v.fullPath,0))||(D||!S)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(v,P,u)).then(d=>d&&yu(d)).catch(d=>G(d,v,P))}const ye=v=>r.go(v);let Pt;const Tt=new Set,vt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:j,options:e,push:T,replace:Q,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:ze,install(v){v.component("RouterLink",zu),v.component("RouterView",Xu),v.config.globalProperties.$router=vt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(c)}),Dt&&!Pt&&c.value===dt&&(Pt=!0,T(r.location).catch(D=>{}));const P={};for(const D in dt)Object.defineProperty(P,D,{get:()=>c.value[D],enumerable:!0});v.provide(Jn,vt),v.provide($s,pi(P)),v.provide(Ss,c);const S=v.unmount;Tt.add(v),v.unmount=function(){Tt.delete(v),Tt.size<1&&(a=dt,Ve&&Ve(),Ve=null,c.value=dt,Pt=!1,z=!1),S()}}};function we(v){return v.reduce((P,S)=>P.then(()=>ut(S)),Promise.resolve())}return vt}function mf(){return Pe(Jn)}function _f(e){return Pe($s)}const gn="/StudyBase/api";async function mn(e){if(e.status===422){const t=await e.json(),n=new Error(t.detail||"需要确认");throw n.needConfirm=!0,n}if(!e.ok){let t=`HTTP ${e.status}`;try{t=(await e.json()).detail||t}catch{}throw new Error(t)}return e}async function ef(e){const t=await fetch(gn+e);return mn(t).then(n=>n.json())}async function yf(e,t){const n=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function vf(e,t){const n=await fetch(gn+e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});return mn(n).then(s=>s.json())}async function bf(e){const t=await fetch(gn+e,{method:"DELETE"});return mn(t).then(n=>n.json())}async function Ef(e,t,n){const s=await fetch(gn+e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});await mn(s);const r=await s.blob(),i=s.headers.get("Content-Disposition")||"";let o="download.xlsx";const l=i.match(/filename\*=UTF-8''([^;]+)/);l&&(o=decodeURIComponent(l[1]));const c=URL.createObjectURL(r),a=document.createElement("a");a.href=c,a.download=o,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(c)}function Af(e){return window.confirm(e)}function Rf(e,t,n){const s=window.prompt((e?e+`
+`:"")+t,n||"");return s===null?null:s}function xf(e){window.alert(e)}const At=dn({subject:[],cause:[],source:[],archiveStatus:[],term:[],stage:[],loaded:!1});let ds=null;function tf(){return ds||(ds=ef("/questions/filter-options").then(e=>{At.subject=e.subject||[],At.cause=e.cause||[],At.source=e.source||[],At.archiveStatus=e.archive_status||[],At.term=e.term||[],At.stage=e.stage||[]}).catch(()=>{}).finally(()=>{At.loaded=!0})),ds}const wf={filters:null,idInput:"",kpInput:"",viewMode:"table",sortCol:"q.id",sortDesc:!1},nf={__name:"App",setup(e){return tf(),(t,n)=>{const s=Sl("router-view");return qi(),Ji(s)}}},sf=[{path:"/",name:"home",component:()=>re(()=>import("./Home-D8EnOka7.js"),__vite__mapDeps([0,1,2]))},{path:"/subject-portal",name:"subjectPortal",component:()=>re(()=>import("./SubjectPortal-BYEldTOj.js"),__vite__mapDeps([3,1,4]))},{path:"/questions",name:"questionList",component:()=>re(()=>import("./QuestionList-DvyMMJjZ.js"),__vite__mapDeps([5,6,1,7,8]))},{path:"/questions/add",name:"questionAdd",component:()=>re(()=>import("./QuestionAdd-BN8O3VX0.js"),__vite__mapDeps([9,1]))},{path:"/questions/import",name:"fileImport",component:()=>re(()=>import("./FileImport-Dqhg5lPG.js"),__vite__mapDeps([10,1,11]))},{path:"/questions/import/preview",name:"importPreview",component:()=>re(()=>import("./ImportPreview-DF9sYEXR.js"),__vite__mapDeps([12,6,1,7,13]))},{path:"/questions/:id(\\d+)",name:"questionDetail",component:()=>re(()=>import("./QuestionDetail-Q0IGvDsj.js"),__vite__mapDeps([14,6,1,7,15]))},{path:"/papers",name:"papersList",component:()=>re(()=>import("./PapersList-DyQQH-a_.js"),__vite__mapDeps([16,1,17]))},{path:"/papers/create-by-id",name:"papersCreateById",component:()=>re(()=>import("./PapersCreateById-7LJOQfCM.js"),[])},{path:"/papers/preview",name:"papersPreview",component:()=>re(()=>import("./PapersPreview-BPahPm51.js"),__vite__mapDeps([18,6,1,7]))},{path:"/papers/:id(\\d+)/detail",name:"papersDetail",component:()=>re(()=>import("./PapersDetail-C01UhBmx.js"),[])},{path:"/papers/:id(\\d+)/result",name:"papersResult",component:()=>re(()=>import("./PapersResult-BCK-wuV4.js"),[])},{path:"/analysis/chapters",name:"chapters",component:()=>re(()=>import("./AnalysisChapters-Ch2L8mj3.js"),__vite__mapDeps([19,1,20]))},{path:"/analysis/knowledge",name:"knowledge",component:()=>re(()=>import("./AnalysisKnowledge-BK2lprsu.js"),__vite__mapDeps([21,1,22]))},{path:"/analysis/pending",name:"pending",component:()=>re(()=>import("./AnalysisPending-BIK4LK4c.js"),__vite__mapDeps([23,1,24]))},{path:"/settings",name:"settings",component:()=>re(()=>import("./Settings-npd22zpr.js"),__vite__mapDeps([25,1,26]))},{path:"/settings/subjects",name:"settingsSubjects",component:()=>re(()=>import("./SettingsSubjects-lK432mNm.js"),__vite__mapDeps([27,1,28]))},{path:"/settings/error-causes",name:"settingsErrorCauses",component:()=>re(()=>import("./SettingsErrorCauses-BpvO0Xqb.js"),__vite__mapDeps([29,1,30]))},{path:"/settings/question-statuses",name:"settingsStatuses",component:()=>re(()=>import("./SettingsStatuses-hfl4r0IW.js"),__vite__mapDeps([31,1,32]))},{path:"/settings/default-params",name:"settingsDefaults",component:()=>re(()=>import("./SettingsDefaultParams-8xwPjjGt.js"),[])}],rf=Zu({history:Iu("/StudyBase/"),routes:sf});Wc(nf).use(rf).mount("#app");export{Is as A,pf as B,Re as C,At as D,Ts as E,Xe as F,Bs as G,vf as H,gf as I,bf as J,Rf as K,xn as L,Yi as a,_l as b,cf as c,ef as d,Qo as e,yf as f,af as g,sc as h,bl as i,ff as j,df as k,uf as l,_f as m,dn as n,qi as o,xf as p,Af as q,lf as r,Ef as s,Po as t,Lt as u,hf as v,of as w,Ce as x,mf as y,wf as z};
index bcfcf277677a1a15aa07fbbeca888468ce79d634..31dac2261c4cff354cb4327dd8c87527fd351ea8 100644 (file)
@@ -5,7 +5,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <link rel="icon" type="image/svg+xml" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><rect x='4' y='4' width='56' height='56' rx='8' ry='8' fill='%23ffffff' stroke='%234A90E2' stroke-width='6'/><text x='32' y='44' font-family='Helvetica,Arial,sans-serif' font-size='36' font-weight='bold' fill='%234A90E2' text-anchor='middle'>B</text></svg>" />
   <title>Base</title>
-  <script type="module" crossorigin src="/StudyBase/assets/index-WZbGQf5n.js"></script>
+  <script type="module" crossorigin src="/StudyBase/assets/index-PW167vf4.js"></script>
   <link rel="stylesheet" crossorigin href="/StudyBase/assets/index-D5_k2e2e.css">
 </head>
 <body>
diff --git a/frontend/dist/word-template.docx b/frontend/dist/word-template.docx
new file mode 100644 (file)
index 0000000..167acf4
Binary files /dev/null and b/frontend/dist/word-template.docx differ
diff --git a/frontend/public/word-template.docx b/frontend/public/word-template.docx
new file mode 100644 (file)
index 0000000..167acf4
Binary files /dev/null and b/frontend/public/word-template.docx differ
index eafd36c6646ea5e0a593b14696a8652a5b3af158..9821dcdd4dc6665b89abbdef27015325ba966999 100644 (file)
@@ -28,4 +28,15 @@ export function ensureFilterOptions () {
       .finally(() => { filterOptions.loaded = true })
   }
   return _p
+}
+
+// 题目列表筛选状态:跨路由挂载持久化,从详情/组卷等其他页返回时恢复,
+// 避免回到“全部试题”。模块级对象随模块缓存常驻,不会被组件卸载清空。
+export const questionListPersist = {
+  filters: null,
+  idInput: '',
+  kpInput: '',
+  viewMode: 'table',
+  sortCol: 'q.id',
+  sortDesc: false,
 }
\ No newline at end of file
index 88af2b27c34e16410c88bb50d9df66940e3bd6a0..d5ffe611d98fc3d6525bb041df07b46543a95170 100644 (file)
       </div>
 
       <div class="card" style="display:flex;gap:18px;align-items:center;flex-wrap:wrap;">
+        <div style="width:100%;font-size:13px;color:#555;margin-bottom:2px;">
+          如需使用「自组 Word 模式」上传,请先下载模板并按格式填写:
+          <a :href="templateUrl" :download="templateName" style="color:#4A90E2;text-decoration:underline;cursor:pointer;">{{ templateName }}</a>
+        </div>
         <button class="btn" :disabled="parsing" style="font-weight:bold;" @click="startImport">
           {{ parsing ? '解析中...' : '第一步:选择文件并解析' }}
         </button>
@@ -36,7 +40,7 @@
                 :style="!lastParsedData ? 'color:#999;' : ''" @click="goToConfirmPage">
           第二步:预览并确定导入
         </button>
-        <button class="btn" style="margin-left:auto;" @click="$router.push('/questions/add')">返回</button>
+        <button class="btn" style="margin-left:auto;" @click="$router.push('/questions')">返回</button>
       </div>
 
       <div style="font-size:13px;margin:6px 2px;">解析进度与JSON预览:</div>
@@ -96,6 +100,9 @@ import { apiGet, apiPost, tkAlert, tkConfirm } from '../api'
 
 const router = useRouter()
 
+const templateName = '自组WORD范本.docx'
+const templateUrl = import.meta.env.BASE_URL + 'word-template.docx'
+
 const opts = ref({
   subject: { options: [], default: '' },
   source: { options: [], default: '' },
index ec2fb967bf6f21775d96e0cdee1dd03f0d68c26d..f8ccdc8e36553ba90e88d4f3dbcad9212b3f758f 100644 (file)
@@ -4,7 +4,7 @@
       <span class="title">{{ fromPaperCreation ? '选择题目创建试卷' : '题目列表管理' }}</span>
       <button class="btn" style="margin-left:16px;" @click="$router.push('/')">返回主页</button>
       <button class="btn green" style="margin-left:10px;" @click="createPaper">➕ 创建试卷</button>
-      <button class="btn green" style="margin-left:10px;" @click="$router.push('/questions/add')">➕ 新增题目</button>
+      <button class="btn green" style="margin-left:10px;" @click="$router.push('/questions/import')">➕ 新增题目</button>
     </div>
 
     <div style="padding:10px 20px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;">
@@ -50,6 +50,7 @@
         <table class="data-table">
           <thead>
             <tr>
+              <th style="width:36px;"><input type="checkbox" :checked="allSelected" @change="toggleAll" title="全选" /></th>
               <th v-for="col in tableColumns" :key="col.key" @click="sortBy(col.key)">
                 {{ col.label }}{{ sortIndicator(col.key) }}
               </th>
@@ -58,8 +59,8 @@
           <tbody>
             <tr v-for="row in rows" :key="row.id" class="clickable"
                 :class="{ selected: selectedIds.has(row.id) }"
-                @click="toggleRow(row.id, $event)"
                 @dblclick="$router.push('/questions/' + row.id)">
+              <td class="center" @click.stop><input type="checkbox" :checked="selectedIds.has(row.id)" @change="onCheck(row.id, $event)" /></td>
               <td class="center">{{ row.Subject }}</td>
               <td class="center">{{ row.id }}</td>
               <td class="center">{{ statusDisplay(row.latest_status) }}</td>
 </template>
 
 <script setup>
-import { ref, reactive, onMounted, computed } from 'vue'
+import { ref, reactive, onMounted, onBeforeUnmount, computed } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
-import { apiPost, apiDownload, tkConfirm, tkAlert } from '../api'
-import { filterOptions } from '../stores/options'
+import { apiGet, apiPost, apiDownload, tkConfirm, tkAlert } from '../api'
+import { filterOptions, questionListPersist } from '../stores/options'
 import RichContent from '../components/RichContent.vue'
 
 const route = useRoute()
@@ -192,15 +193,15 @@ function getSelectedIds() {
   return Object.entries(checked).filter(([, v]) => v).map(([k]) => parseInt(k))
 }
 
-function toggleRow(id, ev) {
-  if (ev && (ev.ctrlKey || ev.metaKey || ev.shiftKey)) {
-    if (selectedIds.has(id)) selectedIds.delete(id)
-    else selectedIds.add(id)
-  } else {
-    const only = selectedIds.size === 1 && selectedIds.has(id)
-    selectedIds.clear()
-    if (!only) selectedIds.add(id)
-  }
+function onCheck(id, ev) {
+  if (ev.target.checked) selectedIds.add(id)
+  else selectedIds.delete(id)
+}
+
+const allSelected = computed(() => rows.value.length > 0 && rows.value.every(r => selectedIds.has(r.id)))
+function toggleAll(ev) {
+  if (ev.target.checked) { for (const r of rows.value) selectedIds.add(r.id) }
+  else { selectedIds.clear() }
 }
 
 function sortBy(colKey) {
@@ -263,15 +264,36 @@ function createPaper() {
 }
 
 async function deleteSelected() {
-  if (viewMode.value === 'table' && typeof window !== 'undefined') {
-    tkAlert('表格模式下不支持批量删除,请切换到预览模式通过复选框操作。')
-    return
-  }
   const ids = getSelectedIds()
   if (!ids.length) { tkAlert('请勾选题目'); return }
-  if (!tkConfirm(`确定删除选中的 ${ids.length} 道题吗?`)) return
-  await apiPost('/questions/delete', { ids })
-  await loadFilteredData()
+
+  const selRows = rows.value.filter(r => ids.includes(r.id))
+  const subjects = [...new Set(selRows.map(r => r.Subject).filter(Boolean))]
+  const stages = [...new Set(selRows.map(r => r.stage_name).filter(Boolean))]
+  const kpSet = new Set()
+  for (const r of selRows) {
+    const desc = (r.knowledge_points_desc || '').trim()
+    if (desc) for (const k of desc.split('、')) { const t = k.trim(); if (t) kpSet.add(t) }
+  }
+  const totalPaperCount = selRows.reduce((s, r) => s + (Number(r.paper_count) || 0), 0)
+  const involvedPaper = selRows.filter(r => (Number(r.paper_count) || 0) > 0).length
+
+  const summary = [
+    `即将从数据库删除 ${ids.length} 道题目,删除后不可恢复:`,
+    `科目:${subjects.join('、') || '未指定'}`,
+    `阶段:${stages.join('、') || '未指定'}`,
+    `涉及知识点:${kpSet.size} 个`,
+    `组卷次数:共 ${totalPaperCount} 次(其中 ${involvedPaper} 道已加入试卷)`,
+  ].join('\n')
+
+  if (!tkConfirm(summary + '\n\n确定删除吗?')) return
+  try {
+    const res = await apiPost('/questions/delete', { ids })
+    tkAlert(`已成功删除 ${res.deleted != null ? res.deleted : ids.length} 道题目。`)
+    await loadFilteredData()
+  } catch (e) {
+    tkAlert('删除失败:' + e.message)
+  }
 }
 
 async function bulkArchiveSelected() {
@@ -324,6 +346,27 @@ onMounted(async () => {
   if (route.query.kp_id) kpIdFilter.value = parseInt(route.query.kp_id)
   if (route.query.right_times) rightTimesFilter.value = route.query.right_times
 
+  // 学期筛选默认选中系统设定中的默认学期(路由显式带入 term 时仍以其为准)
+  try {
+    const defParams = await apiGet('/settings/default-params')
+    if (defParams && defParams.term && defParams.term.default) {
+      filters.term = defParams.term.default
+    }
+  } catch (e) { /* 取默认失败则维持“全部” */ }
+
+  // 从其他页返回列表时恢复上一次筛选结果(分析页跳转带筛选参数时仍以参数为准)
+  const hasInitQuery = !!(route.query.chapter_id || route.query.kp_id || route.query.right_times ||
+    route.query.subject || route.query.stage || route.query.term || route.query.status ||
+    route.query.archive_status || route.query.question_nature || route.query.paper_count)
+  if (!hasInitQuery && questionListPersist.filters) {
+    Object.assign(filters, questionListPersist.filters)
+    idInput.value = questionListPersist.idInput
+    kpInput.value = questionListPersist.kpInput
+    viewMode.value = questionListPersist.viewMode
+    sortCol.value = questionListPersist.sortCol
+    sortDesc.value = questionListPersist.sortDesc
+  }
+
   // initial_filters(遗留分析页跳入)
   const f = route.query
   if (f.subject) filters.subject = f.subject
@@ -336,6 +379,15 @@ onMounted(async () => {
 
   await loadFilteredData()
 })
+
+onBeforeUnmount(() => {
+  questionListPersist.filters = { ...filters }
+  questionListPersist.idInput = idInput.value
+  questionListPersist.kpInput = kpInput.value
+  questionListPersist.viewMode = viewMode.value
+  questionListPersist.sortCol = sortCol.value
+  questionListPersist.sortDesc = sortDesc.value
+})
 </script>
 
 <style scoped>
index 40b89c476e9730d991de471a555e61310121d5eb..4c7c7e065d1bc797615bbf1c1c8909ec1b24060d 100644 (file)
Binary files a/s/studybase.db and b/s/studybase.db differ