build(admin): track the SPA build output so git deploys carry it

assets/admin/build was gitignored, so servers deployed by git pull kept
running a stale admin bundle — the icon picker integration in the tabbar
and floating-button settings pages never reached them. Track the build
directory (rebuild with: cd assets/admin && npm run build) and commit the
current bundle containing the universal icon picker.
This commit is contained in:
kate522 committed 2026-09-06 14:35:15 +08:00
1 parent 2e25894eb5
commit 27d8a9ea71
64 files changed
+15839 -3

No files matched your search

@@ -0,0 +1 @@
import{o as S,X as v,a4 as a,a3 as t,r as g,a1 as m,e as U,_ as V,W as p,f as b,Y as o,F,R as I,a2 as q,Z as z,c as D}from"./vendor-vue.BxZIRU0_.js";import{a as k}from"./shared-api.DnsQ5cxS.js";import{P as E}from"./PageHeader.CtT29f8Y.js";import{_ as H}from"./FaIcon.NZ6TDkNu.js";import{_ as L}from"./index.js";import{u as R}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const T={class:"aksrt-page-container"},W={class:"aksrt-attach__summary"},X={class:"aksrt-form-actions"},Y={__name:"AttachmentPermissions",setup(Z){const y=V(),u=R(),c=g(!0),d=g(!1),s=U({avatar_max_size:2,submit_image_max_size:5,comment_image_max_size:2,resource_max_size:50}),h=D(()=>[{key:"profile",icon:"fa fas fa-id-card",label:"资料卡图片",enabled:!0},{key:"submit",icon:"fa fas fa-edit",label:"投稿图片",enabled:!0},{key:"comment",icon:"fa fas fa-comment-dots",label:"评论图片",enabled:!0},{key:"resource",icon:"fa fas fa-file-archive",label:"资源附件",enabled:!0}]);function w(){y.push("/permissions/moderation")}async function B(){c.value=!0;try{const l=await k.getPermissionsAttachmentSettings(),e=(l==null?void 0:l.data)??l??{};s.avatar_max_size=Number(e.avatar_max_size||2),s.submit_image_max_size=Number(e.submit_image_max_size||5),s.comment_image_max_size=Number(e.comment_image_max_size||2),s.resource_max_size=Number(e.resource_max_size||50)}catch(l){u.error(l.message||"加载附件权限失败")}finally{c.value=!1}}async function M(){d.value=!0;try{await k.savePermissionsAttachmentSettings({avatar_max_size:s.avatar_max_size,submit_image_max_size:s.submit_image_max_size,comment_image_max_size:s.comment_image_max_size,resource_max_size:s.resource_max_size}),u.success("附件治理配置已保存")}catch(l){u.error(l.message||"保存失败")}finally{d.value=!1}}return S(B),(l,e)=>{const x=m("n-button"),N=m("n-space"),P=m("n-grid-item"),A=m("n-grid"),i=m("n-card"),r=m("n-input-number"),_=m("n-form-item"),f=m("n-form"),C=m("n-spin");return p(),v("div",T,[a(E,{title:"附件治理",desc:"管理各类上传文件的大小、安全限制和审核策略;准入权限请在“基本权限”中配置。"},{actions:t(()=>[a(N,null,{default:t(()=>[a(x,{quaternary:"",onClick:w},{default:t(()=>[...e[4]||(e[4]=[b("审核策略",-1)])]),_:1})]),_:1})]),_:1}),a(C,{show:c.value,style:{width:"100%","min-height":"200px"}},{default:t(()=>[a(i,{class:"aksrt-section-card"},{default:t(()=>[e[5]||(e[5]=o("div",{class:"aksrt-section-header"},[o("h3",null,"上传策略总览")],-1)),a(A,{cols:3,"x-gap":12,"y-gap":12},{default:t(()=>[(p(!0),v(F,null,I(h.value,n=>(p(),q(P,{key:n.key},{default:t(()=>[o("div",W,[a(H,{icon:n.icon,size:16,color:n.enabled?"#52c41a":"var(--aksrt-color-muted)"},null,8,["icon","color"]),o("div",null,[o("strong",null,z(n.label),1),o("p",null,z(n.enabled?"已启用":"已关闭"),1)])])]),_:2},1024))),128))]),_:1})]),_:1}),a(i,{class:"aksrt-section-card"},{default:t(()=>[e[6]||(e[6]=o("div",{class:"aksrt-section-header"},[o("h3",null,"用户资料卡背景图")],-1)),a(f,{model:s,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:t(()=>[a(_,{label:"头像/用户资料卡背景图大小上限 (MB)"},{default:t(()=>[a(r,{value:s.avatar_max_size,"onUpdate:value":e[0]||(e[0]=n=>s.avatar_max_size=n),min:1,max:10,style:{"max-width":"160px"}},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(i,{class:"aksrt-section-card"},{default:t(()=>[e[7]||(e[7]=o("div",{class:"aksrt-section-header"},[o("h3",null,"内容上传")],-1)),a(f,{model:s,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:t(()=>[a(_,{label:"投稿图片大小上限 (MB)"},{default:t(()=>[a(r,{value:s.submit_image_max_size,"onUpdate:value":e[1]||(e[1]=n=>s.submit_image_max_size=n),min:1,max:20,style:{"max-width":"160px"}},null,8,["value"])]),_:1}),a(_,{label:"评论图片大小上限 (MB)"},{default:t(()=>[a(r,{value:s.comment_image_max_size,"onUpdate:value":e[2]||(e[2]=n=>s.comment_image_max_size=n),min:1,max:10,style:{"max-width":"160px"}},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(i,{class:"aksrt-section-card"},{default:t(()=>[e[8]||(e[8]=o("div",{class:"aksrt-section-header"},[o("h3",null,"资源附件")],-1)),a(f,{model:s,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:t(()=>[a(_,{label:"资源附件大小上限 (MB)"},{default:t(()=>[a(r,{value:s.resource_max_size,"onUpdate:value":e[3]||(e[3]=n=>s.resource_max_size=n),min:1,max:200,style:{"max-width":"160px"}},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),o("div",X,[a(x,{type:"primary",loading:d.value,onClick:M},{default:t(()=>[...e[9]||(e[9]=[b("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}},ee=L(Y,[["__scopeId","data-v-d6037ce3"]]);export{ee as default};
@@ -0,0 +1 @@
.aksrt-attach__summary[data-v-d6037ce3]{display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;background:#fafafa}.aksrt-attach__summary strong[data-v-d6037ce3]{display:block;font-size:13px;color:var(--aksrt-color-text)}.aksrt-attach__summary p[data-v-d6037ce3]{margin:2px 0 0;font-size:12px;color:var(--aksrt-color-muted)}
@@ -0,0 +1 @@
import{a as U}from"./shared-api.DnsQ5cxS.js";import{u as R}from"./vendor-naive.CKYCZmXD.js";import{o as W,X as E,Y as o,a4 as a,a3 as n,a1 as m,r as v,e as L,W as I,f as C}from"./vendor-vue.BxZIRU0_.js";import"./vendor-misc.bELTaXdf.js";const T={class:"aksrt-page-container"},D={class:"aksrt-form-footer"},K={__name:"CmsCredits",setup(F){const b=R(),t=L({enabled:!0,currency_name:"",register_bonus:10,daily_signin:{enabled:!0,base:1,streak:{3:2,7:5,30:20}},comment_reward:{enabled:!0,amount:1,daily_cap:5,min_length:10,on_approved:!0},referral_reward:{enabled:!0,promoter_amount:5,referred_amount:2,level_points:0,require_verify:!0,ip_daily_cap:3},download_default_cost:0}),g=v("{}"),k=v(!1),y=v(!1),$=v([]),c=v(1),N=v(1),u=L({asset:null,transaction_id:"",operation_key:"",ref_type:"",ref_key:"",actor_user_id:""}),z=[{label:"积分",value:"points"},{label:"余额",value:"balance"}],B=[{title:"交易号",key:"transaction_label",width:100,fixed:"left"},{title:"幂等键",key:"operation_key",width:260,ellipsis:{tooltip:!0}},{title:"资产",key:"assets_label",width:100},{title:"原因",key:"reason",width:150,ellipsis:{tooltip:!0}},{title:"业务引用",key:"reference_label",width:200,ellipsis:{tooltip:!0}},{title:"操作者",key:"actor_label",width:100},{title:"增减 / 手续费",key:"delta_label",width:180,ellipsis:{tooltip:!0}},{title:"变动后余额",key:"balance_label",width:150,ellipsis:{tooltip:!0}},{title:"备注",key:"remark",width:180,ellipsis:{tooltip:!0}},{title:"UTC 时间",key:"created_at",width:190}];function j(d,e){if(d==="balance")return typeof e=="string"&&/^[+-]?\d+\.\d{2}$/.test(e)?e:"0.00";const i=String(e??"0");return/^-?\d+$/.test(i)?i:"0"}async function w(){y.value=!0;try{const d={page:c.value,per_page:20};Object.entries(u).forEach(([r,p])=>{p!==null&&String(p).trim()!==""&&(d[r]=p)});const e=await U.getCreditLog(d),i=(e==null?void 0:e.data)||e||{};$.value=(i.items||[]).map(r=>{const p=Array.isArray(r.entries)?r.entries:[];return{...r,transaction_label:`#${r.id}`,assets_label:(r.assets||[]).join(" / "),reference_label:[r.ref_type,r.ref_key].filter(Boolean).join(":")||"—",actor_label:r.actor_user_id?`#${r.actor_user_id}`:"系统",delta_label:p.map(s=>{const _=j(s.asset,s.delta),f=s.asset==="points"&&!_.startsWith("-")&&_!=="0"?`+${_}`:_;return`${s.asset}:${f}`}).join(";"),balance_label:p.map(s=>`${s.asset}:${j(s.asset,s.balance_after)}`).join(";")}}),N.value=Math.max(1,Math.ceil(Number(i.total||0)/Number(i.per_page||20)))}catch(d){b.error(d.message||"加载账本失败")}finally{y.value=!1}}function O(){c.value=1,w()}function J(){Object.assign(u,{asset:null,transaction_id:"",operation_key:"",ref_type:"",ref_key:"",actor_user_id:""}),O()}async function M(){var d;try{const e=await U.getCreditSettings(),i=(e==null?void 0:e.data)||e||{};Object.assign(t,i),g.value=JSON.stringify(((d=t.daily_signin)==null?void 0:d.streak)||{},null,0)}catch(e){b.error(e.message||"加载失败")}}async function P(){k.value=!0;try{let d={};try{d=JSON.parse(g.value||"{}")}catch{}t.daily_signin.streak=d,await U.saveCreditSettings(t),b.success("已保存")}catch(d){b.error(d.message||"保存失败")}finally{k.value=!1}}return W(()=>{M(),w()}),(d,e)=>{const i=m("n-switch"),r=m("n-form-item"),p=m("n-input"),s=m("n-input-number"),_=m("n-form"),f=m("n-card"),V=m("n-select"),x=m("n-button"),S=m("n-space"),q=m("n-data-table"),A=m("n-pagination");return I(),E("div",T,[e[36]||(e[36]=o("h2",{class:"aksrt-page-title"},"积分配置",-1)),e[37]||(e[37]=o("p",{class:"aksrt-page-desc"}," 配置积分规则与发放策略。可自定义货币名称(如”金币”、”魔石”等)。用户余额与手工调整在 WordPress 原生”用户”菜单中管理。 ",-1)),a(f,{class:"aksrt-section-card"},{default:n(()=>[e[26]||(e[26]=o("div",{class:"aksrt-section-header"},[o("h3",null,"主开关 + 基础设置")],-1)),a(_,{model:t,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:n(()=>[a(r,{label:"启用积分系统"},{default:n(()=>[a(i,{value:t.enabled,"onUpdate:value":e[0]||(e[0]=l=>t.enabled=l)},null,8,["value"])]),_:1}),a(r,{label:"自定义货币名称"},{feedback:n(()=>[...e[25]||(e[25]=[o("span",{class:"aksrt-hint-text"},'自定义货币显示名称,如"金币"、"魔石"等。留空则使用默认名称"积分"。',-1)])]),default:n(()=>[a(p,{value:t.currency_name,"onUpdate:value":e[1]||(e[1]=l=>t.currency_name=l),placeholder:"积分",maxlength:"20"},null,8,["value"])]),_:1}),a(r,{label:"注册赠送积分"},{default:n(()=>[a(s,{value:t.register_bonus,"onUpdate:value":e[2]||(e[2]=l=>t.register_bonus=l),min:0,max:1e4},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(f,{title:"统一资产账本",class:"aksrt-section-card"},{default:n(()=>[a(S,{vertical:"",size:12},{default:n(()=>[a(S,{wrap:""},{default:n(()=>[a(V,{value:u.asset,"onUpdate:value":e[3]||(e[3]=l=>u.asset=l),options:z,clearable:"",placeholder:"资产",style:{width:"130px"}},null,8,["value"]),a(p,{value:u.transaction_id,"onUpdate:vLine truncated
@@ -0,0 +1 @@
import t from"./SchemaPage._RXlmOMl.js";import{a2 as o,W as m}from"./vendor-vue.BxZIRU0_.js";import"./shared-api.DsnKC5vk.js";import"./FaIcon.NZ6TDkNu.js";import"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";import"./FaIconPicker.DuahAn6_.js";import"./shared-api.DnsQ5cxS.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const h={__name:"CommentSettings",setup(r){return(p,e)=>(m(),o(t,{domain:"post_list",section:"comment"}))}};export{h as default};
@@ -0,0 +1 @@
import{X as n,Y as a,a4 as f,Z as l,a3 as u,a2 as y,a5 as c,F as h,R as P,c as o,a1 as V,$ as b,W as r,f as _}from"./vendor-vue.BxZIRU0_.js";import{_ as S}from"./FaIcon.NZ6TDkNu.js";import{_ as C}from"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const F={class:"aksrt-deferred-page"},R={class:"aksrt-deferred-page__icon"},w={class:"aksrt-deferred-page__title"},A={class:"aksrt-deferred-page__desc"},I={class:"aksrt-deferred-page__meta"},T={key:0,class:"aksrt-deferred-page__depends"},$={class:"aksrt-deferred-page__depends-list"},E={key:1,class:"aksrt-deferred-page__reason"},L={key:2,class:"aksrt-deferred-page__features"},W={class:"aksrt-deferred-page__badge"},X={__name:"DeferredPage",props:{title:{type:String,default:""},description:{type:String,default:""},icon:{type:String,default:""},features:{type:Array,default:()=>[]},status:{type:String,default:""},phase:{type:String,default:""},dependsOn:{type:Array,default:()=>[]},reason:{type:String,default:""}},setup(z){const t=z,d=b(),O=o(()=>{var s,e;return t.title||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.title)||"功能开发中"}),x=o(()=>{var s,e;return t.description||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.description)||"此功能正在规划开发中,将在后续版本上线。"}),D=o(()=>{var s,e;return t.icon||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.icon)||"fa fas fa-rocket"}),B=o(()=>{var s,e;return t.status||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.status)||"deferred"}),g=o(()=>{var s,e;return t.phase||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.phase)||""}),m=o(()=>{var s,e;return t.dependsOn&&t.dependsOn.length?t.dependsOn:((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.dependsOn)||[]}),k=o(()=>{var s,e;return t.reason||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.reason)||""}),v=o(()=>{var s,e;return t.features&&t.features.length?t.features:((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.features)||[]});return(s,e)=>{const p=V("n-tag");return r(),n("div",F,[a("div",R,[f(S,{icon:D.value,size:48},null,8,["icon"])]),a("h2",w,l(O.value),1),a("p",A,l(x.value),1),a("div",I,[f(p,{size:"small",type:"info"},{default:u(()=>[_(l(B.value),1)]),_:1}),g.value?(r(),y(p,{key:0,size:"small",type:"warning"},{default:u(()=>[_("Phase "+l(g.value),1)]),_:1})):c("",!0)]),m.value.length?(r(),n("div",T,[e[0]||(e[0]=a("span",{class:"aksrt-deferred-page__label"},"依赖",-1)),a("div",$,[(r(!0),n(h,null,P(m.value,i=>(r(),y(p,{key:i,size:"small",type:"default"},{default:u(()=>[_(l(i),1)]),_:2},1024))),128))])])):c("",!0),k.value?(r(),n("div",E,[e[1]||(e[1]=a("span",{class:"aksrt-deferred-page__label"},"原因",-1)),a("p",null,l(k.value),1)])):c("",!0),v.value&&v.value.length?(r(),n("div",L,[(r(!0),n(h,null,P(v.value,(i,N)=>(r(),n("div",{key:N,class:"aksrt-deferred-page__feature"},[f(S,{icon:"fa fas fa-check-circle",size:14}),a("span",null,l(i),1)]))),128))])):c("",!0),a("div",W,[f(p,{type:"info",size:"small"},{default:u(()=>[...e[2]||(e[2]=[_("即将推出",-1)])]),_:1})])])}}},H=C(X,[["__scopeId","data-v-2af15f85"]]);export{H as default};
+1
View File
@@ -0,0 +1 @@
.aksrt-deferred-page[data-v-2af15f85]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:40px 20px}.aksrt-deferred-page__icon[data-v-2af15f85]{color:var(--aksrt-color-border-strong);margin-bottom:20px}.aksrt-deferred-page__title[data-v-2af15f85]{margin:0 0 10px;font-size:20px;font-weight:600;color:var(--aksrt-color-text)}.aksrt-deferred-page__desc[data-v-2af15f85]{margin:0 0 20px;font-size:14px;color:var(--aksrt-color-muted);max-width:400px;line-height:1.6}.aksrt-deferred-page__meta[data-v-2af15f85]{display:flex;gap:10px;margin-bottom:18px}.aksrt-deferred-page__depends[data-v-2af15f85],.aksrt-deferred-page__reason[data-v-2af15f85]{width:min(520px,100%);margin-bottom:18px;text-align:left}.aksrt-deferred-page__label[data-v-2af15f85]{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--aksrt-color-text-secondary)}.aksrt-deferred-page__depends-list[data-v-2af15f85]{display:flex;flex-wrap:wrap;gap:8px}.aksrt-deferred-page__reason p[data-v-2af15f85]{margin:0;color:var(--aksrt-color-muted);line-height:1.7}.aksrt-deferred-page__features[data-v-2af15f85]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.aksrt-deferred-page__feature[data-v-2af15f85]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--aksrt-color-muted)}.aksrt-deferred-page__feature[data-v-2af15f85] i{color:#52c41a}
+1
View File
@@ -0,0 +1 @@
.aksrt-docs__grid[data-v-096fd8a8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-bottom:16px}.aksrt-docs__card[data-v-096fd8a8]{cursor:pointer;transition:box-shadow .2s}.aksrt-docs__card[data-v-096fd8a8]:hover{box-shadow:0 2px 12px #00000014}.aksrt-docs__card-inner[data-v-096fd8a8]{display:flex;align-items:center;gap:12px}.aksrt-docs__card-icon[data-v-096fd8a8]{flex-shrink:0;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.aksrt-docs__card-body[data-v-096fd8a8]{flex:1;min-width:0}.aksrt-docs__card-title[data-v-096fd8a8]{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--aksrt-color-text)}.aksrt-docs__card-desc[data-v-096fd8a8]{margin:0;font-size:12px;color:var(--aksrt-color-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aksrt-docs__card-arrow[data-v-096fd8a8]{flex-shrink:0;color:#c0c4cc}.aksrt-docs__section[data-v-096fd8a8]{margin-bottom:16px}.aksrt-docs__action[data-v-096fd8a8]{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:6px;background:#fafafa}.aksrt-docs__action i[data-v-096fd8a8]{color:var(--aksrt-color-primary);margin-top:2px}.aksrt-docs__action strong[data-v-096fd8a8]{display:block;font-size:14px;color:var(--aksrt-color-text);margin-bottom:2px}.aksrt-docs__action p[data-v-096fd8a8]{margin:0 0 4px;font-size:12px;color:var(--aksrt-color-muted)}.aksrt-docs__action a[data-v-096fd8a8]{font-size:12px;color:var(--aksrt-color-primary);text-decoration:none}.aksrt-docs__action a[data-v-096fd8a8]:hover{text-decoration:underline}
+1
View File
@@ -0,0 +1 @@
import{P as h}from"./PageHeader.CtT29f8Y.js";import{_ as r}from"./FaIcon.NZ6TDkNu.js";import{a as A}from"./shared-api.DnsQ5cxS.js";import{_ as C}from"./index.js";import{r as m,o as D,X as y,a4 as t,a3 as o,Y as s,F as V,R as P,a1 as i,W as p,f as d,a2 as B,I as T,Z as _}from"./vendor-vue.BxZIRU0_.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const $={class:"aksrt-page-container"},I={class:"aksrt-docs__action"},K={class:"aksrt-docs__action"},N={class:"aksrt-docs__action"},R={class:"aksrt-docs__action"},F={class:"aksrt-docs__grid"},H={class:"aksrt-docs__card-inner"},L={class:"aksrt-docs__card-body"},E={class:"aksrt-docs__card-title"},J={class:"aksrt-docs__card-desc"},M={__name:"DocsPage",setup(O){var k;const b=m(((k=window.aksrtAdminData)==null?void 0:k.themeVersion)||"3.4.0-dev"),u=m("—"),w=m([{key:"admin-ia-map",title:"后台 IA 蓝图",description:"完整的后台信息架构映射,12 个顶级分区及子页面清单。",icon:"fa fas fa-sitemap",color:"var(--aksrt-color-primary)",file:"admin-ia-map.md"},{key:"legacy-gap-matrix",title:"对标差异矩阵",description:"AKSRT 当前 → 原主题参考 → AKSRT 目标三层对照表。",icon:"fa fas fa-columns",color:"#722ed1",file:"legacy-gap-matrix.md"},{key:"frontend-page-matrix",title:"前端页面矩阵",description:"前端模板、CSS、JS 资产映射与覆盖范围。",icon:"fa fas fa-desktop",color:"#13c2c2",file:"frontend-page-matrix.md"},{key:"manual-acceptance-baseline",title:"验收基线",description:"每个 Phase 的人工验收标准和检查清单。",icon:"fa fas fa-clipboard",color:"#52c41a",file:"manual-acceptance-baseline.md"},{key:"feature-domain-map",title:"功能域地图",description:"业务域划分、依赖关系和模块边界说明。",icon:"fa fas fa-map",color:"#fa8c16",file:"feature-domain-map.md"},{key:"migration-map",title:"迁移地图",description:"设置 key 迁移、旧选项兼容和 Schema 版本对照。",icon:"fa fas fa-exchange-alt",color:"#eb2f96",file:"migration-map.md"}]);D(async()=>{try{const e=await A.getHealthCheck();e!=null&&e.data&&(u.value=e.data.db_schema_version||"—")}catch{}});function x(e){var n;const a=((n=window.aksrtAdminData)==null?void 0:n.siteUrl)||window.location.origin;window.open(`${a}/wp-content/themes/AKSRT-theme/docs/${e.file}`,"_blank")}return(e,a)=>{const n=i("router-link"),c=i("n-grid-item"),z=i("n-grid"),f=i("n-card"),g=i("n-tag"),v=i("n-descriptions-item"),S=i("n-descriptions");return p(),y("div",$,[t(h,{title:"文档中心",desc:"主题使用文档、开发指南、迁移说明和更新日志。"}),t(f,{title:"常用操作",size:"small",class:"aksrt-docs__section"},{default:o(()=>[t(z,{cols:2,"x-gap":12,"y-gap":12},{default:o(()=>[t(c,null,{default:o(()=>[s("div",I,[t(r,{icon:"fa fas fa-paint-brush",size:16}),s("div",null,[a[1]||(a[1]=s("strong",null,"全局设置",-1)),a[2]||(a[2]=s("p",null,"Logo、导航栏、自定义代码",-1)),t(n,{to:"/global/common"},{default:o(()=>[...a[0]||(a[0]=[d("前往配置 →",-1)])]),_:1})])])]),_:1}),t(c,null,{default:o(()=>[s("div",K,[t(r,{icon:"fa fas fa-home",size:16}),s("div",null,[a[4]||(a[4]=s("strong",null,"首页配置",-1)),a[5]||(a[5]=s("p",null,"首页模块、布局、排序和预设模板",-1)),t(n,{to:"/page-display/homepage"},{default:o(()=>[...a[3]||(a[3]=[d("前往配置 →",-1)])]),_:1})])])]),_:1}),t(c,null,{default:o(()=>[s("div",N,[t(r,{icon:"fa fas fa-users",size:16}),s("div",null,[a[7]||(a[7]=s("strong",null,"用户管理",-1)),a[8]||(a[8]=s("p",null,"登录注册、OAuth、签到、积分",-1)),t(n,{to:"/users/auth"},{default:o(()=>[...a[6]||(a[6]=[d("前往配置 →",-1)])]),_:1})])])]),_:1}),t(c,null,{default:o(()=>[s("div",R,[t(r,{icon:"fa fas fa-wrench",size:16}),s("div",null,[a[10]||(a[10]=s("strong",null,"工具",-1)),a[11]||(a[11]=s("p",null,"导入导出、健康检查、备份与更新",-1)),t(n,{to:"/tools/import-export"},{default:o(()=>[...a[9]||(a[9]=[d("前往配置 →",-1)])]),_:1})])])]),_:1})]),_:1})]),_:1}),s("div",F,[(p(!0),y(V,null,P(w.value,l=>(p(),B(f,{key:l.key,class:"aksrt-docs__card",size:"small",hoverable:"",onClick:U=>x(l)},{default:o(()=>[s("div",H,[s("div",{class:"aksrt-docs__card-icon",style:T({background:l.color})},[t(r,{icon:l.icon,size:20,color:"#fff"},null,8,["icon"])],4),s("div",L,[s("h4",E,_(l.title),1),s("p",J,_(l.description),1)]),t(r,{icon:"fa fas fa-external-link-alt",size:12,class:"aksrt-docs__card-arrow"})])]),_:2},1032,["onClick"]))),128))]),t(f,{title:"当前版本",size:"small",class:"aksrt-docs__section"},{default:o(()=>[t(S,{column:2,bordered:"","label-placement":"left",size:"small"},{default:o(()=>[t(v,{label:"主题版本"},{default:o(()=>[t(g,{type:"success",size:"small"},{default:o(()=>[d(_(b.value),1)]),_:1})]),_:1}),t(v,{label:"Schema 版本"},{default:o(()=>[t(g,{type:"info",size:"small"},{default:o(()=>[d(_(u.value),1)]),_:1})]),_:1})]),_:1})]),_:1})])}}},Q=C(M,[["__scopeId","data-v-096fd8a8"]]);export{Q as default};
@@ -0,0 +1 @@
import{X as l,a4 as I,Y as s,f as d,Z as i,a5 as m,L as k,j as _,ag as P,aj as w,ah as u,F as S,R as E,o as V,c as g,r as f,e as C,a1 as O,W as r}from"./vendor-vue.BxZIRU0_.js";import{P as U}from"./PageHeader.CtT29f8Y.js";import{a as A}from"./shared-api.DnsQ5cxS.js";import{_ as L}from"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const W={name:"ExtensionAI",components:{PageHeader:U},setup(){const n=f({enabled:!1,provider:"none",configured:!1,model:"",api_key:"",rate_limit:10,available:!1,backend:"none",wp_ai_available:!1,theme_available:!1,seo_ai_enabled:!1,write_assist:!1}),a=C({enabled:!1,provider:"none",api_key:"",api_base:"https://api.openai.com/v1",model:"gpt-3.5-turbo",max_tokens:1e3,rate_limit:10}),v=f(!1),e=f(""),b=g(()=>({wp_ai:"WP AI Client",theme:"主题 Provider",none:"无"})[n.value.backend]||n.value.backend||"无"),c=g(()=>{const t=!!n.value.available;return[{key:"seo",name:"AI 生成 SEO",scene:"文章/分类「独立 SEO」框",ready:t&&!!n.value.seo_ai_enabled},{key:"summary",name:"AI 生成摘要",scene:"前台投稿页",ready:t},{key:"tags",name:"AI 建议标签",scene:"前台投稿页",ready:t}]});function p(t){!t||typeof t!="object"||(n.value={enabled:!!t.enabled,provider:t.provider||"none",configured:!!t.configured,model:t.model||"",api_key:"",rate_limit:t.rate_limit||10,available:!!t.available,backend:t.backend||"none",wp_ai_available:!!t.wp_ai_available,theme_available:!!t.theme_available,seo_ai_enabled:!!t.seo_ai_enabled,write_assist:!!t.write_assist},a.enabled=!!t.enabled,a.provider=t.provider||"none",a.model=t.model||"gpt-3.5-turbo",a.rate_limit=t.rate_limit||10,t.api_base&&(a.api_base=t.api_base),typeof t.max_tokens=="number"&&t.max_tokens>0&&(a.max_tokens=t.max_tokens))}async function o(){e.value="";try{const t=await A.getAiStatus();p(t.data||{})}catch(t){console.error("Load AI status failed:",t),e.value=(t==null?void 0:t.message)||"加载 AI 状态失败"}}async function x(){v.value=!0;try{const t={enabled:a.enabled,provider:a.provider,api_base:a.api_base,model:a.model,max_tokens:a.max_tokens,rate_limit:a.rate_limit};a.api_key&&a.api_key!=="***"&&(t.api_key=a.api_key);const y=await A.updateAiSettings(t);alert(y.message||"设置已保存"),await o()}catch(t){console.error("Save failed:",t),alert((t==null?void 0:t.message)||"保存失败")}finally{v.value=!1}}return V(()=>o()),{status:n,form:a,saving:v,loadError:e,features:c,backendLabel:b,saveSettings:x}}},j={class:"aksrt-page-container"},N={key:0,class:"aksrt-ai__form-card aksrt-ai__load-error",role:"alert"},B={class:"aksrt-ai__status"},M={class:"aksrt-ai__status-card"},R={class:"aksrt-ai__status-info"},F={class:"aksrt-ai__status-value"},H={class:"aksrt-ai__status-card"},T={class:"aksrt-ai__status-info"},D={class:"aksrt-ai__status-value"},K={class:"aksrt-ai__status-card"},z={class:"aksrt-ai__status-info"},X={class:"aksrt-ai__status-value"},Y={class:"aksrt-ai__status-card"},Z={class:"aksrt-ai__status-info"},q={class:"aksrt-ai__status-value"},G={class:"aksrt-ai__form-card"},J={class:"aksrt-form-group"},Q={class:"aksrt-form-group"},h={key:0,class:"aksrt-form-group"},$={key:1,class:"aksrt-form-group"},aa={key:2,class:"aksrt-form-group"},sa={key:3,class:"aksrt-form-group"},ta={key:4,class:"aksrt-form-group"},ea={class:"aksrt-form-actions"},oa=["disabled"],la={class:"aksrt-ai__form-card"},ia={class:"aksrt-table aksrt-table--sm"};function ra(n,a,v,e,b,c){const p=O("PageHeader");return r(),l("div",j,[I(p,{title:"AI 连接配置",desc:"配置 AI 生成能力的连接方式。优先使用 WordPress AI Connectors;也可填写 OpenAI 兼容接口。SEO 生成入口在文章「独立 SEO」框,摘要/标签入口在前台投稿页。"}),e.loadError?(r(),l("div",N,[a[8]||(a[8]=s("strong",null,"加载失败:",-1)),d(i(e.loadError),1)])):m("",!0),s("div",B,[s("div",M,[s("div",{class:k(["aksrt-ai__status-icon",e.status.available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--off"])},[...a[9]||(a[9]=[s("i",{class:"fa fab fa-android"},null,-1)])],2),s("div",R,[a[10]||(a[10]=s("div",{class:"aksrt-ai__status-label"},"可用状态",-1)),s("div",F,i(e.status.available?"可用":"不可用"),1)])]),s("div",H,[s("div",{class:k(["aksrt-ai__status-icon",e.status.wp_ai_available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--warn"])},[...a[11]||(a[11]=[s("i",{class:"fa fas fa-plug"},null,-1)])],2),s("div",T,[a[12]||(a[12]=s("div",{class:"aksrt-ai__status-label"},"WP AI Client",-1)),s("div",D,i(e.status.wp_ai_available?"已就绪":"不可用"),1)])]),s("div",K,[s("div",{class:k(["aksrt-ai__status-icon",e.status.theme_available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--warn"])},[...a[13]||(a[13]=[s("i",{class:"fa fas fa-key"},null,-1)])],2),s("div",z,[a[14]||(a[14]=s("div",{class:"aksrt-ai__status-label"},"主题 Provider",-1)),s("div",X,i(e.status.theme_available?"已配置":"未配置"),1)])]),s("div",Y,[a[16]||(a[16]=s("div",{class:"aksrt-ai__status-icon aksrt-ai__status-icon--info"},[s("i",{clLine truncated
+1
View File
@@ -0,0 +1 @@
.aksrt-ai__status[data-v-290bff3b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.aksrt-ai__status-card[data-v-290bff3b]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.aksrt-ai__status-icon[data-v-290bff3b]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.aksrt-ai__status-icon--ok[data-v-290bff3b]{background:#d4edda;color:#155724}.aksrt-ai__status-icon--warn[data-v-290bff3b]{background:#fff3cd;color:#856404}.aksrt-ai__status-icon--off[data-v-290bff3b]{background:#f8d7da;color:#721c24}.aksrt-ai__status-icon--info[data-v-290bff3b]{background:#d1ecf1;color:#0c5460}.aksrt-ai__status-value[data-v-290bff3b]{font-size:18px;font-weight:600;color:var(--aksrt-color-text)}.aksrt-ai__status-label[data-v-290bff3b]{font-size:12px;color:#888}.aksrt-ai__form-card[data-v-290bff3b]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px;margin-bottom:16px}.aksrt-ai__form-card h3[data-v-290bff3b]{margin:0 0 16px;font-size:16px;font-weight:600}.aksrt-form-hint[data-v-290bff3b]{font-size:12px;color:#888;margin-top:4px}.aksrt-ai__load-error[data-v-290bff3b]{background:#fdecea;border-color:#f5c2c0;color:#842029;margin-bottom:16px}.aksrt-ai__notice[data-v-290bff3b]{background:#fff8e1;border-color:#ffe082}.aksrt-ai__notice h3[data-v-290bff3b]{color:#e65100}.aksrt-ai__notice ul[data-v-290bff3b]{margin:0;padding-left:20px}.aksrt-ai__notice li[data-v-290bff3b]{margin-bottom:8px;font-size:14px}.aksrt-ai__notice code[data-v-290bff3b]{background:#0000000f;padding:2px 6px;border-radius:3px;font-size:13px}.aksrt-badge[data-v-290bff3b]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.aksrt-badge--success[data-v-290bff3b]{background:#d4edda;color:#155724}.aksrt-badge--warning[data-v-290bff3b]{background:#fff3cd;color:#856404}.aksrt-table[data-v-290bff3b]{width:100%;border-collapse:collapse}.aksrt-table th[data-v-290bff3b],.aksrt-table td[data-v-290bff3b]{border-bottom:1px solid #eee;padding:10px 8px;text-align:left}.aksrt-form-group[data-v-290bff3b]{margin-bottom:14px}.aksrt-input[data-v-290bff3b],.aksrt-select[data-v-290bff3b]{width:100%;max-width:480px;padding:8px 10px}.aksrt-button[data-v-290bff3b]{padding:8px 16px;border:0;border-radius:6px;cursor:pointer}.aksrt-button--primary[data-v-290bff3b]{background:#1677ff;color:#fff}.aksrt-button[data-v-290bff3b]:disabled{opacity:.6;cursor:not-allowed}
+1
View File
@@ -0,0 +1 @@
import{W as r,X as p,I as f,L as u,c as a}from"./vendor-vue.BxZIRU0_.js";const c={__name:"FaIcon",props:{icon:{type:String,required:!0},size:{type:[Number,String],default:null},fw:{type:Boolean,default:!1},spin:{type:Boolean,default:!1},pulse:{type:Boolean,default:!1},rotate:{type:[Number,String],default:null},flip:{type:String,default:null},extraClass:{type:String,default:""}},setup(l){const e=l,i=a(()=>{const t=[],s=e.icon.trim();return s.startsWith("fa-")?t.push("fa","fas",s):t.push(...s.split(/\s+/)),e.fw&&t.push("fa-fw"),e.spin&&t.push("fa-spin"),e.pulse&&t.push("fa-pulse"),e.rotate&&t.push(`fa-rotate-${e.rotate}`),e.flip&&t.push(`fa-flip-${e.flip}`),e.extraClass&&t.push(e.extraClass),t.join(" ")}),n=a(()=>e.size?{fontSize:typeof e.size=="number"?`${e.size}px`:e.size}:{});return(t,s)=>(r(),p("i",{class:u(i.value),style:f(n.value),"aria-hidden":"true"},null,6))}};export{c as _};
@@ -0,0 +1 @@
import{_ as x}from"./FaIcon.NZ6TDkNu.js";import{_ as H}from"./index.js";import{N as p,W as a,X as n,L as V,a5 as z,c as C,o as O,a1 as g,a4 as d,a3 as v,Y as k,F as S,R as $,a2 as A,f as I,Z as R,r as y}from"./vendor-vue.BxZIRU0_.js";import{a as U}from"./shared-api.DnsQ5cxS.js";function L(e){const i=String(e||"").trim();if(!i)return"";let c;try{c=new DOMParser().parseFromString(i,"image/svg+xml")}catch{return""}if(c.querySelector("parsererror"))return"";const o=c.querySelector("svg");if(!o||o.querySelector("script, foreignObject, animate"))return"";["class","id","style","t","version","p-id"].forEach(l=>o.removeAttribute(l)),Array.from(o.attributes).forEach(l=>{l.name.indexOf("data-")===0&&o.removeAttribute(l.name)});const u=new XMLSerializer().serializeToString(o);return/<path|<use|<g\b|<circle|<rect|<polygon|<ellipse|<line/i.test(u)?u:""}function Z(e){return/^fa[\s-]/.test(String(e||"").trim())}function D(e){return String(e||"").trim().startsWith("zibsvg-")}function G(e){return String(e||"").trim().startsWith("customsvg-")}function X(e){return String(e||"").trim().slice(7).replace(/[^a-zA-Z0-9_-]/g,"")}function F(e){const i=X(e);return i?`<svg class="icon" aria-hidden="true"><use xlink:href="#icon-${i}"></use></svg>`:""}function B(e,i){return e.type==="fa"?`fa ${e.id} fa-${i}`:e.type==="svg"?`zibsvg-${i}`:String(i||"")}const j=["innerHTML"],Y=["innerHTML"],J={__name:"IconValue",props:{value:{type:String,default:""}},setup(e){const i=e,c=C(()=>{const o=String(i.value||"").trim();return o.startsWith("fa-")?`fa fas ${o}`:o});return(o,u)=>p(Z)(e.value)?(a(),n("i",{key:0,class:V(c.value),"aria-hidden":"true"},null,2)):p(D)(e.value)?(a(),n("span",{key:1,class:"aksrt-icon-value__svg",innerHTML:p(F)(e.value)},null,8,j)):p(G)(e.value)?(a(),n("span",{key:2,class:"aksrt-icon-value__svg",innerHTML:p(L)(e.value.slice(10))},null,8,Y)):z("",!0)}},Q=H(J,[["__scopeId","data-v-127de8f8"]]),ee={class:"aksrt-fa-icon-picker"},te={class:"aksrt-icon-picker__panel"},se={class:"aksrt-icon-picker__search"},ae={class:"aksrt-icon-picker__tabs"},ne={key:0,class:"aksrt-icon-picker__custom"},ie={class:"aksrt-icon-picker__custom-actions"},re=["innerHTML"],oe={key:0,class:"aksrt-icon-picker__grid aksrt-icon-picker__grid--session"},le=["onClick","innerHTML"],ce={key:1,class:"aksrt-icon-picker__grid",ref:"gridRef"},ue=["title","onClick"],de=["innerHTML"],ve={key:0,class:"aksrt-icon-picker__empty"},pe={__name:"FaIconPicker",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"选择图标"}},emits:["update:modelValue"],setup(e,{emit:i}){const c=i,u=y([{id:"fas",title:"Solid",type:"fa",icons:[]},{id:"far",title:"Regular",type:"fa",icons:[]},{id:"fab",title:"Brands",type:"fa",icons:[]},{id:"zibsvg",title:"内置 SVG",type:"svg",icons:[]},{id:"custom",title:"自定义",type:"custom",icons:[]}]),l=y(""),m=y("fas"),f=y(""),h=y([]),b=C(()=>u.value.find(t=>t.id===m.value)||u.value[0]),T=C(()=>{const t=b.value;if(!t||t.type==="custom")return[];const r=l.value.toLowerCase().replace(/\s+/g,"");return r?t.icons.filter(_=>_.includes(r)):t.icons}),M=C(()=>L(f.value));function N(t){c("update:modelValue",B(b.value,t))}function q(){const t=L(f.value);t&&(h.value.includes(t)||h.value.push(t),c("update:modelValue",`customsvg-${t}`),f.value="")}return O(async()=>{try{const t=await U.getIconCatalog();t!=null&&t.success&&Array.isArray(t.groups)&&t.groups.length&&(u.value=t.groups)}catch{}}),(t,r)=>{const _=g("n-input"),P=g("n-radio-button"),W=g("n-radio-group"),E=g("n-button"),K=g("n-popover");return a(),n("div",ee,[d(K,{trigger:"click",placement:"bottom-start",width:460,style:{padding:0}},{trigger:v(()=>[d(_,{value:e.modelValue,placeholder:e.placeholder,readonly:"",clearable:"",onClear:r[0]||(r[0]=s=>t.$emit("update:modelValue",""))},{prefix:v(()=>[e.modelValue?(a(),A(Q,{key:0,value:e.modelValue},null,8,["value"])):(a(),n(S,{key:1},[],64))]),suffix:v(()=>[d(x,{icon:"fa fas fa-chevron-down",size:12})]),_:1},8,["value","placeholder"])]),default:v(()=>[k("div",te,[k("div",se,[d(_,{value:l.value,"onUpdate:value":r[1]||(r[1]=s=>l.value=s),placeholder:"搜索图标...",size:"small",clearable:""},{prefix:v(()=>[d(x,{icon:"fa fas fa-search",size:12})]),_:1},8,["value"])]),k("div",ae,[d(W,{value:m.value,"onUpdate:value":r[2]||(r[2]=s=>m.value=s),size:"small"},{default:v(()=>[(a(!0),n(S,null,$(u.value,s=>(a(),A(P,{key:s.id,value:s.id},{default:v(()=>[I(R(s.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),m.value==="custom"?(a(),n("div",ne,[d(_,{value:f.value,"onUpdate:value":r[3]||(r[3]=s=>f.value=s),type:"textarea",placeholder:'<svg viewBox="0 0 1024 1024"><path d="…"></path></svg>',rows:4},null,8,["value"]),k("div",ie,[k("span",{class:"aksrt-icon-picker__custom-preview",innerHTML:M.value},null,8,re),d(E,{size:"small",type:"primary",disabled:!M.value,onClick:q},{default:v(()=>[...r[4]||(r[4]=[I(" 确认插入 ",-1)])]),_:1},8,["disabled"])]),h.value.length?(a(),n("div",oe,[(a(!0),n(S,null,$(h.value,(s,w)=>(a(),n("div",{key:w,clasLine truncated
+1
View File
@@ -0,0 +1 @@
.aksrt-icon-value__svg[data-v-127de8f8]{display:inline-flex}.aksrt-icon-value__svg[data-v-127de8f8] svg,.aksrt-icon-value__svg svg[data-v-127de8f8]{width:1em;height:1em;fill:currentColor}.aksrt-icon-picker__panel[data-v-b3172250]{padding:12px}.aksrt-icon-picker__search[data-v-b3172250],.aksrt-icon-picker__tabs[data-v-b3172250]{margin-bottom:10px}.aksrt-icon-picker__tabs[data-v-b3172250] .n-radio-group{flex-wrap:wrap}.aksrt-icon-picker__grid[data-v-b3172250]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:260px;overflow-y:auto}.aksrt-icon-picker__item[data-v-b3172250]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;cursor:pointer;font-size:16px;color:var(--aksrt-color-text-secondary);transition:all .15s}.aksrt-icon-picker__item[data-v-b3172250]:hover{background:var(--aksrt-color-primary-soft);color:var(--aksrt-color-primary)}.aksrt-icon-picker__item.is-active[data-v-b3172250]{background:var(--aksrt-color-primary);color:#fff}.aksrt-icon-picker__item[data-v-b3172250] svg,.aksrt-icon-picker__preview-svg[data-v-b3172250] svg,.aksrt-icon-picker__preview-svg svg[data-v-b3172250]{width:18px;height:18px;fill:currentColor}.aksrt-icon-picker__preview-svg[data-v-b3172250]{display:inline-flex}.aksrt-icon-picker__empty[data-v-b3172250]{grid-column:1 / -1;text-align:center;padding:20px;color:var(--aksrt-color-muted);font-size:13px}.aksrt-icon-picker__custom-actions[data-v-b3172250]{display:flex;align-items:center;gap:10px;margin-top:8px}.aksrt-icon-picker__custom-preview[data-v-b3172250]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px dashed var(--aksrt-color-muted);border-radius:4px}.aksrt-icon-picker__grid--session[data-v-b3172250]{margin-top:10px;padding-top:8px;border-top:1px solid var(--aksrt-color-muted)}
@@ -0,0 +1 @@
import{d as ae}from"./vendor-draggable.BooRVfGb.js";import{a as le}from"./shared-api.DnsQ5cxS.js";import{P as Fe}from"./PageHeader.CtT29f8Y.js";import{I as C,F as oe}from"./FaIconPicker.DuahAn6_.js";import{_ as Ve}from"./index.js";import{u as Be,a as De,B as g,b as T}from"./vendor-naive.CKYCZmXD.js";import{o as Pe,X as y,a4 as a,a3 as o,r as I,a1 as p,e as se,W as r,N as f,f as u,Y as i,a2 as c,a5 as v,Z as x,F as ie,R as ne,c as U}from"./vendor-vue.BxZIRU0_.js";import"./FaIcon.NZ6TDkNu.js";import"./vendor-misc.bELTaXdf.js";const Se={class:"aksrt-page-container content-page"},Te={class:"aksrt-card-header-row"},Ie={class:"aksrt-card-header-row__left"},Me={class:"aksrt-card-header-row__title"},je={class:"float-btn-sort__item"},Le={class:"float-btn-sort__main"},He={class:"float-btn-sort__icon"},Ne={class:"float-btn-sort__meta"},Oe={class:"float-btn-sort__title-row"},Ee={class:"float-btn-sort__desc"},Re={class:"float-btn-sort__actions"},We={class:"aksrt-form-actions"},Xe={class:"icon-preview-row"},Ye={key:0,class:"theme-icon-preview-inline"},Ze={key:2,class:"muted-text"},Ge={key:7,class:"add-items-editor"},Je={class:"add-items-editor__head"},Ke={class:"add-items-editor__head-actions"},et={key:0,class:"add-items-editor__list"},tt={class:"add-items-editor__row"},at={class:"add-items-preview"},lt={class:"add-items-preview__panel add-items-preview__panel--light"},ot={class:"add-items-preview__trigger"},st={class:"add-items-preview__menu"},it={key:0,class:"add-items-preview__list"},nt={key:1,class:"add-items-preview__empty"},dt={class:"add-items-preview__panel add-items-preview__panel--dark"},rt={class:"add-items-preview__trigger add-items-preview__trigger--dark"},ut={class:"add-items-preview__menu add-items-preview__menu--dark"},_t={key:0,class:"add-items-preview__list"},pt={key:1,class:"add-items-preview__empty add-items-preview__empty--dark"},ct={class:"aksrt-modal-footer"},ft={__name:"FloatingButtonsSettings",setup(mt){var X,Y;const m=Be(),de=De(),M=I(!0),A=I(!1),z=I(!1),q=I(-1),$=(((X=window.aksrtAdminData)==null?void 0:X.siteUrl)||"").replace(/\/$/,"");(((Y=window.aksrtAdminData)==null?void 0:Y.adminUrl)||"").replace(/\/$/,"");const n=se({enabled:!0,style:"round",position:"bottom",scroll_hide:!1,scroll_down_hide:!0,filter_blur:["mobile"],items:[]}),t=se(V()),H=[{label:"自定义链接",value:"custom"},{label:"回到顶部",value:"back_top"},{label:"主题切换",value:"theme_mode"},{label:"页面二维码",value:"qrcode"},{label:"发布入口",value:"add"},{label:"QQ 客服",value:"service_qq"},{label:"微信客服",value:"service_wechat"},{label:"会员入口",value:"pay_vip"}],j=Object.fromEntries(H.map(s=>[s.value,s.label])),re=U(()=>[{label:"写文章",key:"post"},{label:"投稿页",key:"submit"},{label:"用户中心创作",key:"profile"}].map(e=>{const d=E(e.key);return{...e,disabled:d,label:d?`${e.label}(已存在)`:e.label}})),F=U(()=>["custom","add"].includes(t.type)&&!t.hover),Q=U(()=>t.type==="custom"),N=U(()=>["service_qq","service_wechat"].includes(t.type)),ue=U(()=>t.type==="pay_vip"),O=U(()=>["service_qq","service_wechat"].includes(t.type)&&t.action_mode==="qrcode"),_e=U(()=>!O.value);function V(){return{id:"",type:"custom",icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"",desc:"",action_mode:"link",qq:"",qrcode_img:"",wechat_img:"",link:"",add_items:[],hover:"",qr_size:120,hover_width:200,pc_s:!0,m_s:!0,color:null,bg:null,enabled:!0,sort_order:0}}function pe(s){const e={custom:{icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"链接",desc:"",link:"",hover:"",action_mode:"link",qr_size:120},back_top:{icon:"fa fas fa-chevron-up",icon_dark:"",icon_light:"",text:"顶部",desc:"返回顶部",link:"",hover:"",action_mode:"link",qr_size:120},theme_mode:{icon:"fa fas fa-sun",icon_dark:"",icon_light:"",text:"主题",desc:"切换主题",link:"",hover:"",action_mode:"link",qr_size:120},qrcode:{icon:"fa fas fa-qrcode",icon_dark:"",icon_light:"",text:"二维码",desc:"扫码继续浏览",link:"",hover:"",action_mode:"qrcode",qr_size:120},service_qq:{icon:"fa fab fa-qq",icon_dark:"",icon_light:"",text:"QQ",desc:"QQ 联系",link:"",hover:"",action_mode:"link",qr_size:120},service_wechat:{icon:"fa fab fa-weixin",icon_dark:"",icon_light:"",text:"微信",desc:"扫码添加微信",link:"",hover:"",action_mode:"link",qr_size:120},pay_vip:{icon:"fa fas fa-gem",icon_dark:"",icon_light:"",text:"会员",desc:"开通/升级会员弹窗",link:"",hover:"",action_mode:"link",qr_size:120},add:{icon:"fa fas fa-plus",icon_dark:"",icon_light:"",text:"发布",desc:"发布内容",link:"",hover:"",action_mode:"link",qr_size:120}};return e[s]||e.custom}function ce(s){const e=pe(s);t.icon=e.icon,t.icon_dark=e.icon_dark,t.icon_light=e.icon_light,t.action_mode=e.action_mode,t.qr_size=e.qr_size,t.text||(t.text=e.text),t.desc||(t.desc=e.desc),Q.value||(t.hover=""),s==="service_qq"&&t.action_mode==="qrcode"&&(t.qq=""),s==="service_wechat"&&t.action_mode==="qrcode"&&(t.link=""),["service_qq","service_wechat"].includes(sLine truncated
@@ -0,0 +1 @@
.icon-preview-row[data-v-1ae52996]{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px}.theme-icon-preview[data-v-1ae52996]{display:flex;flex-direction:column;gap:6px;color:var(--n-text-color-3);font-size:13px}.theme-icon-preview span[data-v-1ae52996],.theme-icon-preview-inline[data-v-1ae52996]{display:inline-flex;align-items:center;gap:6px}.icon-preview-row a[data-v-1ae52996]{color:var(--n-primary-color);text-decoration:none}.icon-preview-row a[data-v-1ae52996]:hover{text-decoration:underline}.muted-text[data-v-1ae52996]{color:#999;font-size:12px}.aksrt-modal-footer[data-v-1ae52996]{display:flex;justify-content:flex-end;gap:10px}.section-desc[data-v-1ae52996]{color:var(--n-text-color-3);font-size:13px;margin:0 0 16px}.float-btn-sort[data-v-1ae52996]{display:flex;flex-direction:column;gap:12px}.float-btn-sort__item[data-v-1ae52996]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--n-border-color);border-radius:14px;background:var(--n-card-color)}.float-btn-sort__main[data-v-1ae52996]{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.float-btn-sort__handle[data-v-1ae52996]{width:30px;height:30px;border:0;background:transparent;color:var(--n-text-color-3);cursor:grab}.float-btn-sort__handle[data-v-1ae52996]:active{cursor:grabbing}.float-btn-sort__icon[data-v-1ae52996]{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#88abda1f;color:var(--n-text-color-2)}.float-btn-sort__meta[data-v-1ae52996]{min-width:0;flex:1}.float-btn-sort__title-row[data-v-1ae52996]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.float-btn-sort__desc[data-v-1ae52996]{font-size:13px;color:var(--n-text-color-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-btn-sort__actions[data-v-1ae52996]{display:flex;gap:8px;flex-shrink:0}.float-btn-sort__ghost[data-v-1ae52996]{opacity:.45}.add-items-editor[data-v-1ae52996]{margin-bottom:16px}.add-items-editor__head[data-v-1ae52996]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.add-items-editor__head-actions[data-v-1ae52996]{display:flex;gap:8px}.add-items-editor__list[data-v-1ae52996]{display:flex;flex-direction:column;gap:10px}.add-items-editor__row[data-v-1ae52996]{display:grid;grid-template-columns:auto 1fr 1fr 1.4fr auto;gap:10px;align-items:center}.add-items-editor__drag[data-v-1ae52996]{width:32px;height:32px;border:0;border-radius:8px;background:#88abda1f;color:var(--n-text-color-3);cursor:grab}.add-items-editor__drag[data-v-1ae52996]:active{cursor:grabbing}.add-items-editor__ghost[data-v-1ae52996]{opacity:.45}.add-items-preview[data-v-1ae52996]{margin-top:14px;padding:14px;border:1px dashed var(--n-border-color);border-radius:14px;background:#88abda0a}.add-items-preview__title[data-v-1ae52996]{font-size:13px;color:var(--n-text-color-3);margin-bottom:10px}.add-items-preview__panel[data-v-1ae52996]{display:flex;align-items:center;gap:12px;margin-top:12px}.add-items-preview__panel[data-v-1ae52996]:first-of-type{margin-top:0}.add-items-preview__mode[data-v-1ae52996]{width:40px;flex-shrink:0;font-size:12px;color:var(--n-text-color-3)}.add-items-preview__trigger[data-v-1ae52996]{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--n-border-color);display:inline-flex;align-items:center;justify-content:center;color:var(--n-text-color-2);box-shadow:0 8px 20px #11182714}.add-items-preview__trigger--dark[data-v-1ae52996]{background:#232734;border-color:#ffffff14;color:#d8dee9;box-shadow:0 12px 28px #00000047}.add-items-preview__menu[data-v-1ae52996]{flex:1;min-width:0;padding:10px;border-radius:14px;background:#fff;border:1px solid var(--n-border-color)}.add-items-preview__menu--dark[data-v-1ae52996]{background:#232734;border-color:#ffffff14}.add-items-preview__list[data-v-1ae52996]{display:flex;flex-direction:column;gap:6px}.add-items-preview__item[data-v-1ae52996]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#88abda0f;color:var(--n-text-color-2);text-decoration:none}.add-items-preview__item i[data-v-1ae52996]{width:18px;text-align:center;color:var(--n-primary-color)}.add-items-preview__item--dark[data-v-1ae52996]{background:#ffffff0d;color:#e5e7eb}.add-items-preview__item--dark i[data-v-1ae52996]{color:#9fc0ec}.add-items-preview__empty[data-v-1ae52996]{font-size:13px;color:var(--n-text-color-3);padding:10px 12px}.add-items-preview__empty--dark[data-v-1ae52996]{color:#e5e7ebb8}
@@ -0,0 +1 @@
import{d as E}from"./vendor-draggable.BooRVfGb.js";import{a as D}from"./shared-api.DnsQ5cxS.js";import{P as pe}from"./PageHeader.CtT29f8Y.js";import{I as j,F as L}from"./FaIconPicker.DuahAn6_.js";import{_ as _e}from"./index.js";import{u as ce,a as be,B as m,b as z}from"./vendor-naive.CKYCZmXD.js";import{o as me,X as y,a4 as o,a3 as s,r as C,a1 as _,e as W,W as i,N as p,f as u,Y as n,Z as w,a2 as c,a5 as v,F as $,R as ye,c as ve}from"./vendor-vue.BxZIRU0_.js";import"./FaIcon.NZ6TDkNu.js";import"./vendor-misc.bELTaXdf.js";const ge={class:"aksrt-page-container content-page"},ke={class:"aksrt-card-header-row"},we={class:"aksrt-card-header-row__left"},he={class:"aksrt-card-header-row__title"},xe={class:"section-desc section-desc--tight"},Te={class:"tabbar-sort__item"},Ue={class:"tabbar-sort__main"},Ce={class:"tabbar-sort__icon"},$e={class:"tabbar-sort__meta"},Ie={class:"tabbar-sort__title-row"},ze={class:"tabbar-sort__desc"},Fe={class:"tabbar-sort__actions"},Ve={class:"aksrt-form-actions"},Ae={class:"icon-preview-row"},De={key:1,class:"muted-text"},Se={key:5,class:"add-items-editor"},Ne={class:"add-items-editor__head"},Pe={class:"add-items-editor__presets"},Be={key:0,class:"add-items-editor__list"},Oe={class:"add-items-editor__row"},Me={key:1,class:"muted-text"},qe={class:"aksrt-modal-footer"},Ee={__name:"FooterTabbarSettings",setup(je){const b=ce(),G=be(),F=C(!0),I=C(!1),x=C(!1),h=C(-1),V=C([]),d=W({enabled:!0,scroll_hide:!1,scroll_down_hide:!0,footer_tabbar_single:"default",items:[]}),a=W({id:"",type:"link",icon:"",text:"",link:"",badge:"",badge_mode:"static",category_id:null,search_default_type:"post",new_window:!1,add_items:[],enabled:!0,sort_order:0,ontop:!1}),H=[{label:"首页",value:"home"},{label:"分类页",value:"category"},{label:"链接",value:"link"},{label:"中央发布按钮",value:"add"},{label:"用户中心",value:"user"},{label:"登录/我的",value:"auth"},{label:"搜索",value:"search"},{label:"消息中心",value:"msg"},{label:"开通会员",value:"pay_vip"}],R={home:"首页",category:"分类页",link:"链接",add:"中央发布按钮",user:"用户中心",auth:"登录/我的",search:"搜索",msg:"消息中心",pay_vip:"开通会员"},S={home:{icon:"fa fas fa-home",text:"首页"},category:{icon:"fa fas fa-th-large",text:"分类"},link:{icon:"fa fas fa-link",text:"链接"},add:{icon:"fa fas fa-plus",text:"发布"},user:{icon:"fa fas fa-user",text:"用户中心"},auth:{icon:"fa fas fa-user",text:"我的"},search:{icon:"fa fas fa-search",text:"搜索"},msg:{icon:"fa fas fa-bell",text:"消息"},pay_vip:{icon:"fa fas fa-gem",text:"会员"}},X=ve(()=>d.items.filter(t=>t.enabled));function Y(t){var e;if(t.type==="home")return t.ontop?"首页按钮,滚动后切换返回顶部":"首页按钮";if(t.type==="category"){if(t.category_id){const r=V.value.find(f=>f.value===t.category_id);return r?`跳转到分类: ${r.label}`:`跳转到分类 ID ${t.category_id}`}return"跳转到分类聚合页"}return t.type==="add"?(e=t.add_items)!=null&&e.length?`展开 ${t.add_items.length} 个发布入口`:"点击后打开默认发布入口":t.type==="search"?`打开顶部搜索面板,默认搜索${t.search_default_type==="category"?"分类":t.search_default_type==="tag"?"标签":"文章"}`:t.type==="user"?"自动跳转到用户中心或登录页":t.type==="auth"?"登录用户显示我的,游客显示登录":t.type==="msg"?"跳转到消息中心页面":t.type==="pay_vip"?t.link||"跳转到会员开通页":t.link||"自定义链接按钮"}const Z=[{label:"写文章",icon:"fa fas fa-pen",url:"/submit"},{label:"投稿页",icon:"fa fas fa-file-alt",url:"/submit"},{label:"发布资源",icon:"fa fas fa-cloud-upload-alt",url:"/resource-new"},{label:"创作中心",icon:"fa fas fa-paint-brush",url:"/creator"}];function J(t){a.add_items.some(e=>e.url===t.url)||a.add_items.push({id:`add_${Date.now()}_${a.add_items.length}`,label:t.label,icon:t.icon,url:t.url})}function K(){a.add_items.push({id:`add_${Date.now()}_${a.add_items.length}`,label:"",icon:"fa fas fa-pen",url:""})}function Q(t){a.add_items.splice(t,1)}function N(){d.items=d.items.map((t,e)=>({...t,sort_order:e}))}function ee(t,e=!1){const r=S[t]||S.link;(e||!a.icon)&&(a.icon=r.icon),(e||!a.text)&&(a.text=r.text),["link","msg","pay_vip"].includes(t)||(a.link=""),t!=="category"&&(a.category_id=null),t!=="search"&&(a.search_default_type="post"),t!=="add"&&(a.add_items=[]),t!=="home"&&(a.ontop=!1)}function ae(t){ee(t,!1)}function te(){if(d.items.length>=5){b.warning("底部Tab最多只能配置 5 个按钮");return}Object.assign(a,{id:`tab_${Date.now()}`,type:"link",icon:"fa fas fa-link",text:"链接",link:"",badge:"",badge_mode:"static",category_id:null,search_default_type:"post",new_window:!1,add_items:[],enabled:!0,sort_order:d.items.length,ontop:!1}),h.value=-1,x.value=!0}function le(t){const e=d.items[t];Object.assign(a,{id:e.id,type:e.type||"link",icon:e.icon||"",text:e.text||"",link:e.link||"",badge:e.badge||"",badge_mode:e.badge_mode||"static",category_id:e.cateLine truncated
@@ -0,0 +1 @@
.icon-preview-row[data-v-cc40d71e]{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13px}.icon-preview-row a[data-v-cc40d71e]{color:var(--n-primary-color);text-decoration:none}.icon-preview-row a[data-v-cc40d71e]:hover{text-decoration:underline}.muted-text[data-v-cc40d71e]{color:#999;font-size:12px}.aksrt-modal-footer[data-v-cc40d71e]{display:flex;justify-content:flex-end;gap:10px}.section-desc[data-v-cc40d71e]{color:var(--n-text-color-3);font-size:13px;margin:0 0 16px}.section-desc--tight[data-v-cc40d71e]{margin-top:-6px}.add-items-editor[data-v-cc40d71e]{margin-bottom:16px}.add-items-editor__head[data-v-cc40d71e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.add-items-editor__presets[data-v-cc40d71e]{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}.add-items-editor__presets-label[data-v-cc40d71e]{font-size:12px;color:var(--n-text-color-3, #999)}.add-items-editor__list[data-v-cc40d71e]{display:flex;flex-direction:column;gap:10px}.add-items-editor__row[data-v-cc40d71e]{display:grid;grid-template-columns:32px 1fr 1fr 1.2fr 40px;gap:8px;align-items:center}.add-items-editor__drag[data-v-cc40d71e]{width:32px;height:32px;border:0;border-radius:10px;background:#f3f5f7;color:#6b7280;cursor:grab}.add-items-editor__ghost[data-v-cc40d71e]{opacity:.5}.tabbar-sort[data-v-cc40d71e]{display:flex;flex-direction:column;gap:12px}.tabbar-sort__item[data-v-cc40d71e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--n-border-color);border-radius:14px;background:#fff}.tabbar-sort__main[data-v-cc40d71e]{min-width:0;display:flex;align-items:center;gap:12px;flex:1}.tabbar-sort__handle[data-v-cc40d71e]{width:32px;height:32px;border:0;border-radius:10px;background:#f3f5f7;color:#6b7280;cursor:grab}.tabbar-sort__icon[data-v-cc40d71e]{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#18a0581f;color:var(--aksrt-color-primary);font-size:18px;flex:0 0 auto}.tabbar-sort__meta[data-v-cc40d71e]{min-width:0;flex:1}.tabbar-sort__title-row[data-v-cc40d71e]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.tabbar-sort__desc[data-v-cc40d71e]{color:var(--n-text-color-3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar-sort__actions[data-v-cc40d71e]{display:flex;gap:6px;flex:0 0 auto}.tabbar-sort__ghost[data-v-cc40d71e]{opacity:.5}@media(max-width:1023px){.tabbar-sort__item[data-v-cc40d71e]{flex-direction:column;align-items:stretch}.tabbar-sort__actions[data-v-cc40d71e]{justify-content:flex-end}.add-items-editor__row[data-v-cc40d71e]{grid-template-columns:32px 1fr}}
@@ -0,0 +1 @@
import{o as d,X as a,Y as o,Z as u,c as l,$ as _,W as r}from"./vendor-vue.BxZIRU0_.js";import{_ as m}from"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const v={class:"aks-native-ops-redirect"},f={key:0},h=["href"],k={key:1,class:"desc"},w={__name:"NativeOpsRedirect",setup(y){const n=_(),p=l(()=>{var e;return((e=n.meta)==null?void 0:e.title)||"运营功能已迁移"}),t=l(()=>{var c,i;const e=((c=n.meta)==null?void 0:c.nativeAdminPath)||"";return e?(((i=window.aksrtAdminData)==null?void 0:i.adminUrl)||"/wp-admin/").replace(/\/?$/,"/")+e.replace(/^\//,""):""});return d(()=>{t.value&&window.location.replace(t.value)}),(e,s)=>(r(),a("div",v,[o("h2",null,u(p.value),1),s[0]||(s[0]=o("p",{class:"desc"}," 此运营功能已迁移到 WordPress 原生后台侧栏(对齐 legacy)。正在跳转… ",-1)),t.value?(r(),a("p",f,[o("a",{class:"button button-primary",href:t.value},"立即打开原生页面",8,h)])):(r(),a("p",k,"未配置原生跳转地址,请从左侧 WP 菜单进入。"))]))}},P=m(w,[["__scopeId","data-v-6c4fe740"]]);export{P as default};
+1
View File
@@ -0,0 +1 @@
.aks-native-ops-redirect[data-v-6c4fe740]{max-width:640px;margin:48px auto;padding:24px;background:var(--aks-surface, #fff);border-radius:8px;border:1px solid var(--aks-border, #e5e7eb)}.desc[data-v-6c4fe740]{color:#646970;line-height:1.6}.button[data-v-6c4fe740]{display:inline-block;margin-top:8px;padding:8px 14px;background:#2271b1;color:#fff;border-radius:4px;text-decoration:none}
@@ -0,0 +1 @@
import{_ as n}from"./index.js";import{X as s,Y as d,Z as o,l as r,a5 as c,W as t,f as i}from"./vendor-vue.BxZIRU0_.js";const _={class:"aksrt-page-header"},l={class:"aksrt-page-header__main"},h={class:"aksrt-page-header__title"},p={key:0,class:"aksrt-page-header__desc"},u={key:1,class:"aksrt-page-header__desc"},g={key:0,class:"aksrt-page-header__actions"},k={__name:"PageHeader",props:{title:{type:String,required:!0},desc:{type:String,default:""}},setup(a){return(e,m)=>(t(),s("header",_,[d("div",l,[d("h2",h,o(a.title),1),a.desc?(t(),s("p",p,[r(e.$slots,"desc",{},()=>[i(o(a.desc),1)],!0)])):e.$slots.desc?(t(),s("div",u,[r(e.$slots,"desc",{},void 0,!0)])):c("",!0)]),e.$slots.actions?(t(),s("div",g,[r(e.$slots,"actions",{},void 0,!0)])):c("",!0)]))}},$=n(k,[["__scopeId","data-v-9e7de2bf"]]);export{$ as P};
+1
View File
@@ -0,0 +1 @@
.aksrt-page-header[data-v-9e7de2bf]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.aksrt-page-header__main[data-v-9e7de2bf]{flex:1 1 auto;min-width:0}.aksrt-page-header__title[data-v-9e7de2bf]{margin:0 0 6px;color:var(--aksrt-color-text);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.3}.aksrt-page-header__desc[data-v-9e7de2bf]{margin:0;color:var(--aksrt-color-muted);font-size:13px;line-height:1.65}.aksrt-page-header__actions[data-v-9e7de2bf]{flex:0 0 auto;display:flex;align-items:center;gap:8px}@media(max-width:768px){.aksrt-page-header[data-v-9e7de2bf]{margin-bottom:14px;gap:10px}.aksrt-page-header__title[data-v-9e7de2bf]{font-size:18px}.aksrt-page-header__desc[data-v-9e7de2bf]{font-size:12px}.aksrt-page-header__actions[data-v-9e7de2bf]{width:100%}}
@@ -0,0 +1 @@
import{_ as H,a1 as s,W as r,X as q,a4 as p,a3 as t,a2 as m,F as A,R as D,f as B,Z as y,a5 as C,l as I,N as P,c as V,o as O,r as N,Y as f,L as $}from"./vendor-vue.BxZIRU0_.js";import{a as E}from"./shared-api.DnsQ5cxS.js";import{P as R}from"./PageHeader.CtT29f8Y.js";import{u as T,A as U,g as W}from"./shared-api.DsnKC5vk.js";import{u as L}from"./vendor-naive.CKYCZmXD.js";import{_ as X}from"./index.js";import"./FaIcon.NZ6TDkNu.js";import"./FaIconPicker.DuahAn6_.js";import"./vendor-misc.bELTaXdf.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const Y={class:"aksrt-page-container"},Z={__name:"PaymentSectionPage",props:{section:{type:String,required:!0},title:{type:String,required:!0},desc:{type:String,default:""},note:{type:String,default:""},links:{type:Array,default:()=>[]}},setup(c){const g=c,h=H(),l=L(),u=V(()=>W("payment",g.section)||{groups:[]}),F=V(()=>{const n={};return(u.value.groups||[]).forEach(x=>{(x.fields||[]).forEach(S=>{S.default!==void 0&&(n[S.key]=S.default)})}),n}),{formData:e,loading:v,saving:_,loadError:i,dirty:a,save:k,reload:d}=T({fetch:()=>E.getSchemaPage("payment",g.section),submit:n=>E.saveSchemaPage("payment",g.section,n),defaults:F.value,onSaved:()=>{l.success("设置已保存")}});function w(n){h.push(n)}async function o(){try{await k()}catch(n){l.error(n.message||"保存失败")}}function M(){d(),l.info("已放弃更改")}return(n,x)=>{const S=s("n-button"),z=s("n-space"),G=s("n-alert"),j=s("n-card");return r(),q("div",Y,[p(R,{title:c.title,desc:c.desc},{actions:t(()=>[c.links.length?(r(),m(z,{key:0},{default:t(()=>[(r(!0),q(A,null,D(c.links,b=>(r(),m(S,{key:b.path,quaternary:"",onClick:ee=>w(b.path)},{default:t(()=>[B(y(b.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})):C("",!0)]),_:1},8,["title","desc"]),c.note?(r(),m(j,{key:0,class:"aksrt-section-card"},{default:t(()=>[p(G,{type:"info","show-icon":!1},{default:t(()=>[B(y(c.note),1)]),_:1})]),_:1})):C("",!0),I(n.$slots,"before-form"),p(U,{schema:u.value.groups,"form-data":P(e),dirty:P(a),loading:P(v),saving:P(_),"load-error":P(i),"show-search":!1,"onUpdate:formData":x[0]||(x[0]=b=>e.value=b),onSave:o,onReload:M},null,8,["schema","form-data","dirty","loading","saving","load-error"])])}}},J={class:"aksrt-gateway__card"},K={class:"aksrt-gateway__help"},Q={__name:"PaymentGateway",setup(c){const g=L(),h=N([]),l=N({}),u=N(!1);function F(e){return e==="balance"||e==="alipay"||e==="epay_alipay"?"fa fas fa-credit-card":e==="wechatpay"||e==="epay_wxpay"?"fa fab fa-weixin":e==="paypal"?"fa fab fa-paypal":e==="stripe"?"fa fab fa-cc-stripe":"fa fas fa-credit-card"}return O(async()=>{var e,v,_;u.value=!0;try{const[i,a]=await Promise.all([E.request("/payment/overview").catch(()=>null)]);if((v=(e=i==null?void 0:i.data)==null?void 0:e.gateway)!=null&&v.gateways){const k=Object.entries(i.data.gateway.gateways).map(([d,w])=>({id:d,name:d,configured:!!w}));h.value=k}(_=a==null?void 0:a.data)!=null&&_.gateway?l.value=a.data.gateway:a!=null&&a.data&&(l.value=a.data)}catch{g.warning("部分支付接口暂不可用")}finally{u.value=!1}}),(e,v)=>{const _=s("n-tag"),i=s("n-grid-item"),a=s("n-grid"),k=s("n-empty"),d=s("n-card"),w=s("n-spin");return r(),m(Z,{section:"gateway",title:"收款接口",desc:"管理余额、支付宝、微信、PayPal、Stripe、易支付与卡密兑换通道。",note:"以渠道开关与凭据是否齐全为准;异步回调由各网关验签。卡密为兑换入口,不进入收银台。",links:[{label:"余额充值",path:"/payment/recharge"},{label:"充值卡",path:"/payment/card-pass"}]},{"before-form":t(()=>[p(w,{show:u.value},{default:t(()=>[p(d,{class:"aksrt-section-card",title:"网关状态"},{default:t(()=>[p(a,{cols:3,"x-gap":12,"y-gap":12},{default:t(()=>[(r(!0),q(A,null,D(h.value,o=>(r(),m(i,{key:o.id},{default:t(()=>[f("div",J,[f("div",{class:$(["aksrt-gateway__icon",o.configured?"aksrt-gateway__icon--active":""])},[f("i",{class:$(F(o.id))},null,2)],2),f("div",null,[f("strong",null,y(o.name),1),f("p",null,y(o.configured?"已配置":"未配置"),1)]),p(_,{type:o.configured?"success":"default",size:"small",round:""},{default:t(()=>[B(y(o.configured?"可用":"不可用"),1)]),_:2},1032,["type"])])]),_:2},1024))),128))]),_:1}),!u.value&&h.value.length===0?(r(),m(k,{key:0,description:"暂无已注册的支付网关"})):C("",!0)]),_:1}),l.value.help_text?(r(),m(d,{key:0,class:"aksrt-section-card",title:"运行说明"},{default:t(()=>[f("p",K,y(l.value.help_text),1)]),_:1})):C("",!0)]),_:1},8,["show"])]),_:1})}}},fe=X(Q,[["__scopeId","data-v-37b55ac6"]]);export{fe as default};
+1
View File
@@ -0,0 +1 @@
.aksrt-gateway__card[data-v-37b55ac6]{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;background:var(--surface-2, #fafafa);border:1px solid var(--color-line, #f0f0f0)}.aksrt-gateway__icon[data-v-37b55ac6]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--surface-3, #f0f0f0);color:var(--aksrt-color-muted);font-size:16px}.aksrt-gateway__icon--active[data-v-37b55ac6]{background:var(--color-primary-soft, #f0f5ff);color:var(--aksrt-color-primary)}.aksrt-gateway__card strong[data-v-37b55ac6]{display:block;font-size:14px;color:var(--aksrt-color-text)}.aksrt-gateway__card p[data-v-37b55ac6]{margin:2px 0 0;font-size:12px;color:var(--aksrt-color-muted)}.aksrt-gateway__help[data-v-37b55ac6]{margin:0;font-size:13px;color:var(--color-ink-3, #5c6370);line-height:1.6}
@@ -0,0 +1 @@
import{a as V}from"./shared-api.DnsQ5cxS.js";import{P as T}from"./PageHeader.CtT29f8Y.js";import{_ as U}from"./index.js";import{u as q,b as C,c as H,d as I}from"./vendor-naive.CKYCZmXD.js";import{o as L,X as w,a4 as l,a3 as n,r as f,e as P,a1 as u,W as h,f as d,a2 as j,Y as c,N as S,Z as v,a5 as W,F as X,R as Y,k as p}from"./vendor-vue.BxZIRU0_.js";import"./vendor-misc.bELTaXdf.js";const Z={class:"aksrt-page-container"},A={class:"aksrt-cap-matrix__header"},G={class:"aksrt-cap-matrix__title"},K={class:"aksrt-cap-matrix__desc"},Q={class:"aksrt-form-actions"},$={__name:"PermissionsCapabilities",setup(ee){const y=q(),g=f(!0),k=f(!1),b=f([]),x=f({}),_=P({cap_count:0,group_count:0,column_count:0}),o=P({}),N=f({});L(B);async function B(){g.value=!0;try{const e=await V.getCapabilities(),a=(e==null?void 0:e.data)||{};x.value=a.columns||{},b.value=a.groups||[],Object.assign(_,a.summary||{cap_count:0,group_count:0,column_count:0});const s={};for(const t of b.value)for(const i of t.items||[])s[i.cap_id]={...i.values||{}};O(o,s),N.value=JSON.parse(JSON.stringify(s))}catch(e){y.error((e==null?void 0:e.message)||"加载能力矩阵失败")}finally{g.value=!1}}function O(e,a){Object.keys(e).forEach(s=>delete e[s]),Object.entries(a).forEach(([s,t])=>{e[s]={...t}})}function z(e){const a=[{title:"能力项",key:"label",fixed:"left",width:280,render:t=>p("div",{class:"aksrt-cap-matrix__cap"},[p("strong",t.label),p("code",t.cap_id)])}],s=new Set;for(const t of e.items||[])for(const i of t.visible_columns||[])s.add(i);for(const t of Object.keys(x.value||{}))s.has(t)&&a.push({title:x.value[t],key:t,width:t==="level"||t==="vip"?110:100,render:i=>E(i,t)});return a}function E(e,a){var t,i;return(e.visible_columns||[]).includes(a)?(o[e.cap_id]||(o[e.cap_id]={...e.values||{}}),a==="level"||a==="vip"?p(H,{value:((t=o[e.cap_id])==null?void 0:t[a])??-1,min:-1,max:a==="level"?10:2,step:1,size:"small",style:"width: 90px",onUpdateValue:r=>J(e.cap_id,a,r??-1)}):p(I,{value:!!((i=o[e.cap_id])!=null&&i[a]),size:"small",onUpdateValue:r=>J(e.cap_id,a,r)})):p("span",{class:"aksrt-cap-matrix__empty"},"—")}function J(e,a,s){o[e]||(o[e]={}),o[e][a]=s}function M(){O(o,JSON.parse(JSON.stringify(N.value||{}))),y.info("已恢复默认矩阵")}async function D(){k.value=!0;try{await V.saveCapabilities(JSON.parse(JSON.stringify(o))),N.value=JSON.parse(JSON.stringify(o)),y.success("能力矩阵已保存")}catch(e){y.error((e==null?void 0:e.message)||"保存能力矩阵失败")}finally{k.value=!1}}return(e,a)=>{const s=u("n-button"),t=u("n-space"),i=u("n-alert"),r=u("n-card"),F=u("n-data-table"),R=u("n-spin");return h(),w("div",Z,[l(T,{title:"基本权限 / 能力矩阵",desc:"统一管理用户治理、投稿和评论的角色能力矩阵。"},{actions:n(()=>[l(t,null,{default:n(()=>[l(s,{quaternary:"",onClick:M},{default:n(()=>[...a[0]||(a[0]=[d("恢复默认",-1)])]),_:1})]),_:1})]),_:1}),l(i,{type:"warning","show-icon":!0,style:{margin:"12px 0 16px"}},{default:n(()=>[...a[1]||(a[1]=[d(" 每项能力都通过“所有人、已登录、等级、VIP、已认证”五列治理;管理员(manage_options)始终可通过。 ",-1)])]),_:1}),l(R,{show:g.value,style:{width:"100%","min-height":"240px"}},{default:n(()=>[_.cap_count?(h(),j(r,{key:0,class:"aksrt-section-card"},{default:n(()=>[a[2]||(a[2]=c("div",{class:"aksrt-section-header"},[c("h3",null,"矩阵概览")],-1)),l(t,null,{default:n(()=>[l(S(C),{round:"",type:"info"},{default:n(()=>[d("能力项:"+v(_.cap_count),1)]),_:1}),l(S(C),{round:"",type:"info"},{default:n(()=>[d("分组:"+v(_.group_count),1)]),_:1}),l(S(C),{round:"",type:"info"},{default:n(()=>[d("角色列:"+v(_.column_count),1)]),_:1})]),_:1})]),_:1})):W("",!0),(h(!0),w(X,null,Y(b.value,m=>(h(),j(r,{key:m.key,class:"aksrt-section-card"},{header:n(()=>[c("div",A,[c("div",null,[c("h3",G,v(m.title),1),c("p",K,"共 "+v(m.items.length)+" 项能力",1)])])]),default:n(()=>[l(F,{columns:z(m),data:m.items,bordered:!0,size:"small","single-line":!1,"scroll-x":1200},null,8,["columns","data"])]),_:2},1024))),128)),c("div",Q,[l(s,{type:"primary",loading:k.value,onClick:D},{default:n(()=>[...a[3]||(a[3]=[d("保存能力矩阵",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}},le=U($,[["__scopeId","data-v-01a5a887"]]);export{le as default};
@@ -0,0 +1 @@
.aksrt-cap-matrix__header[data-v-01a5a887]{display:flex;align-items:center;justify-content:space-between}.aksrt-cap-matrix__title[data-v-01a5a887]{margin:0;font-size:15px;font-weight:600}.aksrt-cap-matrix__desc[data-v-01a5a887]{margin:4px 0 0;font-size:12px;color:var(--aksrt-color-muted)}.aksrt-cap-matrix__cap[data-v-01a5a887]{display:flex;flex-direction:column;gap:4px}.aksrt-cap-matrix__cap code[data-v-01a5a887]{font-size:11px;color:#667085}.aksrt-cap-matrix__empty[data-v-01a5a887]{color:#c0c4cc}.aksrt-form-actions[data-v-01a5a887]{display:flex;justify-content:flex-end;margin-top:16px}
@@ -0,0 +1 @@
import t from"./SchemaPage._RXlmOMl.js";import{a2 as o,W as r}from"./vendor-vue.BxZIRU0_.js";import"./shared-api.DsnKC5vk.js";import"./FaIcon.NZ6TDkNu.js";import"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";import"./FaIconPicker.DuahAn6_.js";import"./shared-api.DnsQ5cxS.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const d={__name:"PostPageSettings",setup(p){return(m,e)=>(r(),o(t,{domain:"post_list",section:"page"}))}};export{d as default};
@@ -0,0 +1 @@
import{aa as q,a1 as i,W as _,a2 as b,a3 as s,a4 as l,f,Y as I,a5 as K,ab as Y,c as z,w as Z,b as ve,X as E,ac as _e,R as ee,N as R,ad as ye,I as ge,Z as ke,r as B,$ as we,F as be,a6 as he,l as Se,ae as Ce,af as xe,n as Ae}from"./vendor-vue.BxZIRU0_.js";import{u as Te,A as Ie,n as ze,g as te}from"./shared-api.DsnKC5vk.js";import{a as O}from"./shared-api.DnsQ5cxS.js";import{_ as Ue}from"./index.js";import{u as Pe}from"./vendor-naive.CKYCZmXD.js";import"./FaIcon.NZ6TDkNu.js";import"./FaIconPicker.DuahAn6_.js";import"./vendor-misc.bELTaXdf.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const Ve={__name:"TencentConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:Y(["clear-secret","restore-secret"],["update:modelValue"]),setup(U,{emit:P}){const n=q(U,"modelValue"),k=P;function A(u){k("clear-secret",u),n.value={...n.value,[u]:""}}function y(u,e){e!==""&&k("restore-secret",u)}const d=z(()=>{const u=n.value;return!!(u.secret_id&&u.secret_key&&u.app_id&&u.app_secret_key)});return(u,e)=>{const w=i("n-divider"),m=i("n-a"),g=i("n-alert"),v=i("n-input"),C=i("n-form-item"),x=i("n-button"),h=i("n-tag"),$=i("n-space"),M=i("n-form");return _(),b(M,{"label-placement":"left","label-width":"130"},{default:s(()=>[l($,{vertical:"",style:{width:"100%"}},{default:s(()=>[l(w,{"title-placement":"left"},{default:s(()=>[...e[8]||(e[8]=[f("云 API 密钥(用于 TC3 签名)",-1)])]),_:1}),l(g,{type:"warning",style:{"margin-bottom":"12px"}},{default:s(()=>[e[10]||(e[10]=f(" 请从 ",-1)),l(m,{href:"https://console.cloud.tencent.com/cam/capi",target:"_blank"},{default:s(()=>[...e[9]||(e[9]=[f("访问管理控制台 → API 密钥管理",-1)])]),_:1}),e[11]||(e[11]=f(" 获取。建议使用子账号密钥并仅授予 ",-1)),e[12]||(e[12]=I("code",null,"QcloudCaptchaFullAccess",-1)),e[13]||(e[13]=f(" 权限。 ",-1))]),_:1}),l(C,{label:"SecretId"},{default:s(()=>[l(v,{value:n.value.secret_id,"onUpdate:value":e[0]||(e[0]=o=>n.value.secret_id=o),placeholder:"腾讯云 API SecretId",autocomplete:"off"},null,8,["value"])]),_:1}),l(C,{label:"SecretKey"},{default:s(()=>[l(v,{value:n.value.secret_key,"onUpdate:value":[e[1]||(e[1]=o=>n.value.secret_key=o),e[2]||(e[2]=o=>y("secret_key",o))],type:"password",placeholder:"腾讯云 API SecretKey",autocomplete:"new-password","show-password-on":"click"},null,8,["value"]),n.value.secret_key==="***"?(_(),b(x,{key:0,size:"tiny",type:"error",ghost:"",style:{"margin-left":"8px"},onClick:e[3]||(e[3]=o=>A("secret_key"))},{default:s(()=>[...e[14]||(e[14]=[f("清除",-1)])]),_:1})):K("",!0)]),_:1}),l(w,{"title-placement":"left"},{default:s(()=>[...e[15]||(e[15]=[f("验证码密钥",-1)])]),_:1}),l(C,{label:"CaptchaAppId"},{default:s(()=>[l(v,{value:n.value.app_id,"onUpdate:value":e[4]||(e[4]=o=>n.value.app_id=o),placeholder:"从验证码控制台获取 CaptchaAppId",autocomplete:"off"},null,8,["value"])]),_:1}),l(C,{label:"AppSecretKey"},{feedback:s(()=>[...e[17]||(e[17]=[f("请从「验证管理 → 基础配置」完整复制,注意区分 I/l/1/O/0",-1)])]),default:s(()=>[l(v,{value:n.value.app_secret_key,"onUpdate:value":[e[5]||(e[5]=o=>n.value.app_secret_key=o),e[6]||(e[6]=o=>y("app_secret_key",o))],type:"password",placeholder:"从验证码控制台获取 AppSecretKey",autocomplete:"new-password","show-password-on":"click"},null,8,["value"]),n.value.app_secret_key==="***"?(_(),b(x,{key:0,size:"tiny",type:"error",ghost:"",style:{"margin-left":"8px"},onClick:e[7]||(e[7]=o=>A("app_secret_key"))},{default:s(()=>[...e[16]||(e[16]=[f("清除",-1)])]),_:1})):K("",!0)]),_:1}),l(g,{type:"info",style:{"margin-bottom":"12px"}},{default:s(()=>[...e[18]||(e[18]=[f(" 腾讯云验证码 2.0 — 验证类型(滑动拼图、文字点选、空间语义等)请在",-1),I("a",{href:"https://console.cloud.tencent.com/captcha/graphical",target:"_blank"},"验证码控制台",-1),f("配置。 ",-1)])]),_:1}),d.value?(_(),b(h,{key:0,type:"success",size:"small"},{default:s(()=>[...e[19]||(e[19]=[f("✓ 已完整配置",-1)])]),_:1})):(_(),b(h,{key:1,type:"warning",size:"small"},{default:s(()=>[...e[20]||(e[20]=[f("未完成配置",-1)])]),_:1}))]),_:1})]),_:1})}}},De={__name:"AliyunConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:Y(["clear-secret","restore-secret"],["update:modelValue"]),setup(U,{emit:P}){const n=q(U,"modelValue"),k=P;function A(u){k("clear-secret",u),n.value={...n.value,[u]:""}}function y(u,e){e!==""&&k("restore-secret",u)}const d=z(()=>{const u=n.value;return!!(u.region&&u.prefix&&u.scene_id&&u.access_key_id&&u.access_key_secret)});return(u,e)=>{const w=i("n-divider"),m=i("n-select"),g=i("n-form-item"),v=i("n-input"),C=i("n-button"),x=i("n-alert"),h=i("n-tag"),$=i("n-space"),M=i("n-form");return _(),b(M,{"label-placement":"left","label-width":"130"},{default:s(()=>[l($,{vertical:"",style:{width:"100%"}},{default:s(()=>[l(w,{"title-placement":"left"},{default:s(()=>[...e[7]||(e[7]=[f("前端配置",-1)])]),_:1}),l(g,{label:"所属Line truncated
+1
View File
@@ -0,0 +1 @@
.aksrt-schema-page[data-v-62325927]{max-width:none;margin:0}.aksrt-schema-page__tool-actions[data-v-62325927]{display:flex;justify-content:flex-end;margin-top:16px}.aksrt-schema-page__field-hint[data-v-62325927]{margin:8px 0 0;font-size:12px;color:var(--aksrt-color-muted)}.captcha-test-overlay[data-v-62325927]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.captcha-test-panel[data-v-62325927]{background:#fff;border-radius:12px;width:420px;max-width:90%;box-shadow:0 8px 32px #0000002e}.captcha-test-header[data-v-62325927]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e8e8ec;font-size:16px;font-weight:600}.captcha-test-close[data-v-62325927]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.captcha-test-close[data-v-62325927]:hover{color:#333}.captcha-test-body[data-v-62325927]{padding:24px;min-height:180px;display:flex;justify-content:center;align-items:center}
@@ -0,0 +1 @@
import{X as k,a4 as n,a3 as o,a1 as s,_ as c,W as x,f as e}from"./vendor-vue.BxZIRU0_.js";import{P as C}from"./PageHeader.CtT29f8Y.js";import"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const g={class:"aksrt-page-container"},w={__name:"ThemeAuthorizationPage",setup(v){const d=c();function r(a){d.push(a)}return(a,t)=>{const u=s("n-button"),p=s("n-space"),_=s("n-alert"),i=s("n-card"),l=s("n-list-item"),m=s("n-list");return x(),k("div",g,[n(C,{title:"主题授权",desc:"当前版本按产品决策不实现在线授权/撤销授权,仅保留主题信息与更新能力。"},{actions:o(()=>[n(p,null,{default:o(()=>[n(u,{quaternary:"",onClick:t[0]||(t[0]=f=>r("/tools/import-export"))},{default:o(()=>[...t[2]||(t[2]=[e("兼容&工具",-1)])]),_:1}),n(u,{quaternary:"",onClick:t[1]||(t[1]=f=>r("/tools/update"))},{default:o(()=>[...t[3]||(t[3]=[e("更新中心",-1)])]),_:1})]),_:1})]),_:1}),n(i,{class:"aksrt-section-card"},{default:o(()=>[n(_,{type:"info",title:"按设计省略","show-icon":!0},{default:o(()=>[...t[4]||(t[4]=[e(" 本主题当前不实现 原主题风格的授权码校验、域名绑定、撤销授权、本地免授权等机制。 `AKSRT_Update_Checker` 仅负责匿名版本检测与更新提示,不与授权系统耦合。 ",-1)])]),_:1})]),_:1}),n(i,{class:"aksrt-section-card",title:"当前策略",size:"small"},{default:o(()=>[n(m,{bordered:""},{default:o(()=>[n(l,null,{default:o(()=>[...t[5]||(t[5]=[e("不提供授权码输入框或“立即授权”按钮",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[6]||(t[6]=[e("不提供“已授权 / 未授权 / 本地免授权”三态逻辑",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[7]||(t[7]=[e("更新能力统一收口到“更新中心”与“主题信息”页",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[8]||(t[8]=[e("若未来恢复授权体系,应单独立项,不与现有更新检测器混接",-1)])]),_:1})]),_:1})]),_:1})])}}};export{w as default};
+1
View File
@@ -0,0 +1 @@
.aksrt-theme-info__loading[data-v-4017c910]{display:flex;justify-content:center;padding:60px 0}.aksrt-theme-info__card[data-v-4017c910]{margin-bottom:16px}.aksrt-theme-info__modules[data-v-4017c910]{display:flex;flex-wrap:wrap;gap:8px}.aksrt-theme-info__module-tag[data-v-4017c910]{display:inline-flex;align-items:center;gap:5px}.aksrt-theme-info__links[data-v-4017c910]{display:flex;flex-wrap:wrap;gap:12px}.aksrt-theme-info__link[data-v-4017c910]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;background:#f5f7fa;color:#333;text-decoration:none;font-size:13px;transition:background .2s}.aksrt-theme-info__link[data-v-4017c910]:hover{background:#e8eaed}
@@ -0,0 +1 @@
import{P as M}from"./PageHeader.CtT29f8Y.js";import{_ as m}from"./FaIcon.NZ6TDkNu.js";import{a as B}from"./shared-api.DnsQ5cxS.js";import{_ as P}from"./index.js";import{b as f,e as b}from"./vendor-naive.CKYCZmXD.js";import{o as T,X as z,a4 as e,F as w,a3 as a,r as V,a1 as c,W as p,N as d,f as n,Z as u,Y as _,R as N,a2 as x,a5 as S,k as C}from"./vendor-vue.BxZIRU0_.js";import"./vendor-misc.bELTaXdf.js";const I={class:"aksrt-page-container"},F={key:0,class:"aksrt-theme-info__loading"},H={class:"aksrt-theme-info__modules"},E={class:"aksrt-theme-info__links"},L={__name:"ThemeInfoPage",setup(R){const g=V(!0),t=V({themeVersion:"",wpVersion:"",phpVersion:"",dbSchemaVersion:"",emailBackfillDone:!1,siteUrl:"",apiUrl:"",themeDir:"",uploadDir:"",isMultisite:!1,debugMode:!1,modules:[],tables:[]}),D=[{title:"数据表",key:"name",width:220},{title:"状态",key:"exists",width:100,render(s){return C(f,{type:s.exists?"success":"error",size:"small",bordered:!1},{default:()=>s.exists?"正常":"缺失"})}},{title:"行数",key:"rows",width:100,render(s){return s.exists?s.rows.toLocaleString():"—"}}];T(async()=>{var s,l,v,o,k;try{const r=await B.getHealthCheck(),i=(r==null?void 0:r.data)||r||{};t.value={themeVersion:((s=window.aksrtAdminData)==null?void 0:s.themeVersion)||i.theme_version||"3.4.0-dev",wpVersion:i.wp_version||"",phpVersion:i.php_version||"",dbSchemaVersion:i.db_schema_version||"",emailBackfillDone:!!i.email_backfill_done,siteUrl:i.site_url||((l=window.aksrtAdminData)==null?void 0:l.siteUrl)||"",apiUrl:i.api_url||((v=window.aksrtAdminData)==null?void 0:v.apiUrl)||"",themeDir:i.theme_dir||"",uploadDir:i.upload_dir||"",isMultisite:!!i.is_multisite,debugMode:!!i.debug_mode,modules:U(i.modules||[]),tables:A(i.tables||[])}}catch(r){console.error("[ThemeInfo] Failed to load health data:",r),t.value.themeVersion="3.4.0-dev",t.value.siteUrl=((o=window.aksrtAdminData)==null?void 0:o.siteUrl)||"",t.value.apiUrl=((k=window.aksrtAdminData)==null?void 0:k.apiUrl)||""}finally{g.value=!1}});function U(s){return Array.isArray(s)?s.map(l=>({key:l.key||l.name||"",label:l.label||l.name||l.key||"",enabled:!!l.enabled})):[]}function A(s){return Array.isArray(s)?s.map(l=>({name:l.name||"",exists:!!l.exists,rows:l.rows||0})):[]}return(s,l)=>{const v=c("n-spin"),o=c("n-descriptions-item"),k=c("n-descriptions"),r=c("n-card"),i=c("n-data-table"),h=c("router-link");return p(),z("div",I,[e(M,{title:"主题信息",desc:"主题版本、运行环境、已启用模块和关键系统信息。"}),g.value?(p(),z("div",F,[e(v,{size:"medium"})])):(p(),z(w,{key:1},[e(r,{class:"aksrt-theme-info__card",title:"版本信息",size:"small"},{default:a(()=>[e(k,{column:2,bordered:"","label-placement":"left",size:"small"},{default:a(()=>[e(o,{label:"主题版本"},{default:a(()=>[e(d(f),{type:"success",size:"small"},{default:a(()=>[n(u(t.value.themeVersion),1)]),_:1})]),_:1}),e(o,{label:"WordPress 版本"},{default:a(()=>[n(u(t.value.wpVersion),1)]),_:1}),e(o,{label:"PHP 版本"},{default:a(()=>[e(d(f),{type:t.value.phpVersion>="8.1"?"success":"warning",size:"small"},{default:a(()=>[n(u(t.value.phpVersion),1)]),_:1},8,["type"])]),_:1}),e(o,{label:"数据库 Schema"},{default:a(()=>[e(d(f),{type:"info",size:"small"},{default:a(()=>[n(u(t.value.dbSchemaVersion),1)]),_:1})]),_:1}),e(o,{label:"邮箱验证回填"},{default:a(()=>[e(d(f),{type:t.value.emailBackfillDone?"success":"default",size:"small"},{default:a(()=>[n(u(t.value.emailBackfillDone?"已完成":"未触发"),1)]),_:1},8,["type"])]),_:1})]),_:1})]),_:1}),e(r,{class:"aksrt-theme-info__card",title:"运行环境",size:"small"},{default:a(()=>[e(k,{column:2,bordered:"","label-placement":"left",size:"small"},{default:a(()=>[e(o,{label:"站点地址"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.siteUrl),1)]),_:1})]),_:1}),e(o,{label:"REST API"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.apiUrl),1)]),_:1})]),_:1}),e(o,{label:"主题目录"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.themeDir),1)]),_:1})]),_:1}),e(o,{label:"上传目录"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.uploadDir),1)]),_:1})]),_:1}),e(o,{label:"多站点"},{default:a(()=>[e(d(f),{type:t.value.isMultisite?"warning":"default",size:"small"},{default:a(()=>[n(u(t.value.isMultisite?"是":"否"),1)]),_:1},8,["type"])]),_:1}),e(o,{label:"调试模式"},{default:a(()=>[e(d(f),{type:t.value.debugMode?"warning":"default",size:"small"},{default:a(()=>[n(u(t.value.debugMode?"开启":"关闭"),1)]),_:1},8,["type"])]),_:1})]),_:1})]),_:1}),e(r,{class:"aksrt-theme-info__card",title:"已启用模块",size:"small"},{default:a(()=>[_("div",H,[(p(!0),z(w,null,N(t.value.modules,y=>(p(),x(d(f),{key:y.key,type:y.enabled?"success":"default",size:"small",class:"aksrt-theme-info__module-tag"},{default:a(()=>[e(m,{icon:y.enabled?"fa fas fa-check-circle":"fa fas fa-circle",size:10},null,8,["icon"]),n(" "+u(y.label),1)]),_:2},1032,["type"]))),128))]),t.value.modules.length?S("",!0):(p()Line truncated
@@ -0,0 +1 @@
import{o as C,X as _,a4 as n,a3 as o,r as d,a1 as s,_ as H,W as l,f as p,Y as r,F as D,R as N,a2 as R,Z as i,c as V}from"./vendor-vue.BxZIRU0_.js";import{a as F}from"./shared-api.DnsQ5cxS.js";import{P as I}from"./PageHeader.CtT29f8Y.js";import{_ as M}from"./index.js";import{u as P}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const j={class:"aksrt-page-container"},q={class:"aksrt-health-grid"},E={class:"aksrt-section-header"},L={style:{margin:"0",color:"#4b5565"}},O={__name:"ToolsHealth",setup(S){const m=H(),f=P(),c=d(!0),u=d({}),h=V(()=>Object.entries(u.value||{}).map(([t,e])=>({key:t,...e||{}})));function g(t){m.push(t)}function v(t){return(t==null?void 0:t.data)??t??{}}function y(t){return t==="ok"?"success":t==="warning"?"warning":t==="error"?"error":"info"}async function k(){c.value=!0;try{const t=await F.getHealthCheck();u.value=v(t).checks||{}}catch(t){f.error(t.message||"加载健康检查失败")}finally{c.value=!1}}return C(k),(t,e)=>{const x=s("n-button"),w=s("n-space"),b=s("n-tag"),T=s("n-card"),B=s("n-spin");return l(),_("div",j,[n(I,{title:"健康检查",desc:"集中查看运行环境、数据库表和系统诊断状态。"},{actions:o(()=>[n(w,null,{default:o(()=>[n(x,{quaternary:"",onClick:e[0]||(e[0]=a=>g("/tools/import-export"))},{default:o(()=>[...e[1]||(e[1]=[p("导入导出",-1)])]),_:1})]),_:1})]),_:1}),n(B,{show:c.value,style:{width:"100%","min-height":"200px"}},{default:o(()=>[r("div",q,[(l(!0),_(D,null,N(h.value,a=>(l(),R(T,{key:a.key,class:"aksrt-section-card"},{default:o(()=>[r("div",E,[r("h3",null,i(a.label),1),n(b,{round:"",type:y(a.status)},{default:o(()=>[p(i(a.status),1)]),_:2},1032,["type"])]),r("p",L,i(a.value),1)]),_:2},1024))),128))])]),_:1},8,["show"])])}}},A=M(O,[["__scopeId","data-v-b6c15d59"]]);export{A as default};
+1
View File
@@ -0,0 +1 @@
.aksrt-health-grid[data-v-b6c15d59]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
@@ -0,0 +1,3 @@
import{X as $,a4 as a,a3 as l,a1 as c,_ as A,W as B,f as r,Y as n,Z as P,r as u}from"./vendor-vue.BxZIRU0_.js";import{a as f}from"./shared-api.DnsQ5cxS.js";import{P as V}from"./PageHeader.CtT29f8Y.js";import{_ as q}from"./index.js";import{u as U}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const z={class:"aksrt-page-container"},H={class:"aksrt-tools-output"},M={__name:"ToolsImportExport",setup(W){const b=A(),s=U(),m=u(!1),i=u(!1),y=u(!1),g=u(!1),v=u(""),d=u(""),k=u("global"),N=[{label:"全局&功能",value:"global"},{label:"页面&显示",value:"page_display"},{label:"文章&列表",value:"post_list"},{label:"用户&互动",value:"users"},{label:"支付&付费",value:"payment"}];function w(e){b.push(e)}function C(e){return(e==null?void 0:e.data)??e??{}}function S(){try{return JSON.parse(v.value||"{}")}catch{throw new Error("导入 JSON 格式无效")}}async function O(){m.value=!0;try{const e=C(await f.exportSettings());v.value=JSON.stringify(e,null,2),d.value=`导出完成
版本: ${e.version||"unknown"}
时间: ${e.exported||"unknown"}`,s.success("导出成功")}catch(e){s.error(e.message||"导出失败")}finally{m.value=!1}}async function J(){i.value=!0;try{const e=S(),t=await f.importSettings({...e,dry_run:!0});d.value=JSON.stringify(t,null,2),s.success("Dry Run 校验完成")}catch(e){s.error(e.message||"校验失败")}finally{i.value=!1}}async function R(){i.value=!0;try{const e=S(),t=await f.importSettings(e);d.value=JSON.stringify(t,null,2),s.success("导入完成")}catch(e){s.error(e.message||"导入失败")}finally{i.value=!1}}async function D(){y.value=!0;try{const e=await f.resetDomain(k.value);d.value=JSON.stringify(e,null,2),s.success("域设置已重置")}catch(e){s.error(e.message||"重置失败")}finally{y.value=!1}}async function E(){if(window.confirm("确认重置全部 schema 托管设置吗?系统会先自动创建一份“重置全部前快照”。")){g.value=!0;try{const e=await f.resetAllSettings();d.value=JSON.stringify(e,null,2),s.success("全部设置已重置")}catch(e){s.error(e.message||"重置全部失败")}finally{g.value=!1}}}return(e,t)=>{const o=c("n-button"),x=c("n-space"),T=c("n-input"),_=c("n-card"),I=c("n-select");return B(),$("div",z,[a(V,{title:"导入导出",desc:"导出当前设置快照、执行 dry-run 导入校验,并支持按域重置到 schema 默认值。"},{actions:l(()=>[a(x,null,{default:l(()=>[a(o,{quaternary:"",onClick:t[0]||(t[0]=p=>w("/tools/backup"))},{default:l(()=>[...t[4]||(t[4]=[r("数据备份",-1)])]),_:1}),a(o,{quaternary:"",onClick:t[1]||(t[1]=p=>w("/tools/health"))},{default:l(()=>[...t[5]||(t[5]=[r("健康检查",-1)])]),_:1})]),_:1})]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[9]||(t[9]=n("div",{class:"aksrt-section-header"},[n("h3",null,"导出与导入")],-1)),a(x,{style:{"margin-bottom":"16px"}},{default:l(()=>[a(o,{loading:m.value,onClick:O},{default:l(()=>[...t[6]||(t[6]=[r("导出当前配置",-1)])]),_:1},8,["loading"]),a(o,{loading:i.value,onClick:J},{default:l(()=>[...t[7]||(t[7]=[r("Dry Run 校验",-1)])]),_:1},8,["loading"]),a(o,{type:"primary",loading:i.value,onClick:R},{default:l(()=>[...t[8]||(t[8]=[r("执行导入",-1)])]),_:1},8,["loading"])]),_:1}),a(T,{value:v.value,"onUpdate:value":t[2]||(t[2]=p=>v.value=p),type:"textarea",autosize:{minRows:12,maxRows:20},placeholder:"导出的 JSON 会出现在这里,也可以直接粘贴导入。"},null,8,["value"]),t[10]||(t[10]=n("p",{class:"aksrt-tools-hint"}," 正式导入前会自动创建一份“导入前自动快照”,与“数据备份”页的快照体系共用,便于回滚。 ",-1))]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[13]||(t[13]=n("div",{class:"aksrt-section-header"},[n("h3",null,"按域重置")],-1)),a(x,{align:"center",wrap:""},{default:l(()=>[a(I,{value:k.value,"onUpdate:value":t[3]||(t[3]=p=>k.value=p),options:N,style:{width:"220px"}},null,8,["value"]),a(o,{loading:y.value,onClick:D},{default:l(()=>[...t[11]||(t[11]=[r("重置所选域",-1)])]),_:1},8,["loading"]),a(o,{type:"error",tertiary:"",loading:g.value,onClick:E},{default:l(()=>[...t[12]||(t[12]=[r("重置全部",-1)])]),_:1},8,["loading"])]),_:1}),t[14]||(t[14]=n("p",{class:"aksrt-tools-hint"},"仅支持重置 schema 托管的业务域。健康检查和迁移状态属于运维面板,不参与按域回滚。",-1))]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[15]||(t[15]=n("div",{class:"aksrt-section-header"},[n("h3",null,"最近结果")],-1)),n("pre",H,P(d.value||"尚未执行操作。"),1)]),_:1})])}}},G=q(M,[["__scopeId","data-v-c6830358"]]);export{G as default};
+1
View File
@@ -0,0 +1 @@
.aksrt-tools-output[data-v-c6830358]{margin:0;padding:14px;border-radius:12px;background:#101828;color:#d0d7e2;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.aksrt-tools-hint[data-v-c6830358]{margin:12px 0 0;color:#667085;font-size:12px;line-height:1.7}
@@ -0,0 +1 @@
import{o as H,X as h,a4 as l,a3 as s,r as _,a1 as u,_ as M,W as c,f as o,Y as n,Z as r,a2 as x,a5 as b,F as S,R as T}from"./vendor-vue.BxZIRU0_.js";import{a as w}from"./shared-api.DnsQ5cxS.js";import{P as q}from"./PageHeader.CtT29f8Y.js";import{_ as F}from"./index.js";import{u as L}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const Q={class:"aksrt-page-container"},R={key:0,class:"aksrt-update__changelog"},W={class:"aksrt-update__grid"},$=["href"],E={__name:"ToolsUpdate",setup(X){const C=M(),i=L(),f=_(!0),g=_(!1),m=_(!1),a=_({current_version:"0.0.0",remote_version:"",update_available:!1,download_url:"",changelog:"",last_check:0}),P=[{key:"rewrite",title:"伪静态配置",desc:"检查固定链接与重写规则",url:"/wp-admin/options-permalink.php"},{key:"oauth",title:"第三方登录",desc:"检查 GitHub / Gitee / QQ / Google 登录",url:"#/users/oauth"},{key:"backup",title:"设置快照",desc:"创建与恢复站点配置快照",url:"#/tools/backup"},{key:"health",title:"健康检查",desc:"查看 PHP / WP / 数据表状态",url:"#/tools/health"},{key:"meilisearch",title:"Meilisearch",desc:"配置搜索索引与同步策略",url:"#/global/search"},{key:"i18n",title:"多语言翻译",desc:"检查语言切换与术语配置",url:"#/global/i18n"},{key:"cdn",title:"静态资源与 CDN",desc:"核对前端资源地址与缓存策略",url:"#/global/common"},{key:"ip-geo",title:"IP 归属地",desc:"验证 IP 查询服务与密钥配置",url:"#/extensions/ip"},{key:"payment",title:"支付与会员",desc:"核对网关、会员与充值配置",url:"#/payment/gateway"},{key:"credits",title:"积分与签到",desc:"检查积分规则、签到与推广奖励",url:"#/users/credits"},{key:"badge",title:"等级与徽章",desc:"维护等级、认证与徽章体系",url:"#/users/badge"}];H(N);function D(e){C.push(e)}function I(e){if(!e)return"未检测";const t=Number(e);return!Number.isNaN(t)&&t>0?new Date(t*1e3).toLocaleString():String(e)}async function N(){f.value=!0;try{const e=await w.getUpdateInfo();a.value=(e==null?void 0:e.data)||{}}catch(e){i.error((e==null?void 0:e.message)||"加载更新状态失败")}finally{f.value=!1}}async function U(){g.value=!0;try{const e=await w.detectUpdate();a.value=(e==null?void 0:e.data)||{},i.success("更新检测完成")}catch(e){i.error((e==null?void 0:e.message)||"检测更新失败")}finally{g.value=!1}}async function B(){if(a.value.remote_version){m.value=!0;try{await w.dismissUpdate(a.value.remote_version),i.success("已忽略此版本"),await N()}catch(e){i.error((e==null?void 0:e.message)||"忽略版本失败")}finally{m.value=!1}}}return(e,t)=>{const p=u("n-button"),v=u("n-space"),k=u("n-tag"),y=u("n-card"),V=u("n-alert"),G=u("n-spin");return c(),h("div",Q,[l(q,{title:"更新中心",desc:"查看版本状态、检测更新并浏览更新日志与教程入口。"},{actions:s(()=>[l(v,null,{default:s(()=>[l(p,{quaternary:"",loading:g.value,onClick:U},{default:s(()=>[...t[1]||(t[1]=[o("检测更新",-1)])]),_:1},8,["loading"]),l(p,{quaternary:"",onClick:t[0]||(t[0]=d=>D("/docs"))},{default:s(()=>[...t[2]||(t[2]=[o("文档中心",-1)])]),_:1})]),_:1})]),_:1}),l(G,{show:f.value,style:{width:"100%","min-height":"220px"}},{default:s(()=>[l(y,{class:"aksrt-section-card"},{default:s(()=>[t[3]||(t[3]=n("div",{class:"aksrt-section-header"},[n("h3",null,"版本状态")],-1)),l(v,null,{default:s(()=>[l(k,{round:"",type:"info"},{default:s(()=>[o("当前版本:"+r(a.value.current_version||"0.0.0"),1)]),_:1}),l(k,{round:"",type:a.value.update_available?"warning":"success"},{default:s(()=>[o(r(a.value.update_available?`发现新版本 ${a.value.remote_version}`:"已是最新版本"),1)]),_:1},8,["type"]),l(k,{round:"",type:"default"},{default:s(()=>[o("上次检测:"+r(I(a.value.last_check)),1)]),_:1})]),_:1})]),_:1}),a.value.update_available?(c(),x(y,{key:0,class:"aksrt-section-card"},{default:s(()=>[t[7]||(t[7]=n("div",{class:"aksrt-section-header"},[n("h3",null,"可用更新")],-1)),l(V,{type:"warning",style:{"margin-bottom":"12px"}},{default:s(()=>[o(" 检测到新版本 "+r(a.value.remote_version)+",当前版本为 "+r(a.value.current_version)+"。 ",1)]),_:1}),l(v,null,{default:s(()=>[a.value.download_url?(c(),x(p,{key:0,type:"primary",tag:"a",href:a.value.download_url,target:"_blank"},{default:s(()=>[...t[4]||(t[4]=[o(" 下载更新 ",-1)])]),_:1},8,["href"])):b("",!0),l(p,{onClick:B,loading:m.value},{default:s(()=>[...t[5]||(t[5]=[o("忽略此版本",-1)])]),_:1},8,["loading"])]),_:1}),a.value.changelog?(c(),h("div",R,[t[6]||(t[6]=n("h4",null,"更新日志",-1)),n("pre",null,r(a.value.changelog),1)])):b("",!0)]),_:1})):b("",!0),l(y,{class:"aksrt-section-card"},{default:s(()=>[t[8]||(t[8]=n("div",{class:"aksrt-section-header"},[n("h3",null,"常用教程入口")],-1)),n("div",W,[(c(),h(S,null,T(P,d=>n("a",{key:d.key,class:"aksrt-update__guide",href:d.url,target:"_blank",rel:"noreferrer"},[n("strong",null,r(d.title),1),n("span",null,r(d.desc),1)],8,$)),64))])]),Line truncated
+1
View File
@@ -0,0 +1 @@
.aksrt-update__changelog[data-v-978699d0]{margin-top:16px}.aksrt-update__changelog pre[data-v-978699d0]{margin:8px 0 0;padding:12px 14px;border-radius:12px;background:#101828;color:#d0d7e2;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.aksrt-update__grid[data-v-978699d0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.aksrt-update__guide[data-v-978699d0]{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--aksrt-color-border);border-radius:12px;text-decoration:none;color:inherit;background:#fafafa}.aksrt-update__guide[data-v-978699d0]:hover{border-color:var(--aksrt-color-primary);background:#f5faff}.aksrt-update__guide span[data-v-978699d0]{font-size:12px;color:#667085}
@@ -0,0 +1 @@
import{o as ee,X as v,a4 as a,a3 as l,r as T,a1 as u,e as ae,_ as le,W as m,f as o,Y as i,Z as b,a2 as k,a5 as U,F as $,R as q,N as se,c as te}from"./vendor-vue.BxZIRU0_.js";import{a as D}from"./shared-api.DnsQ5cxS.js";import{P as ne}from"./PageHeader.CtT29f8Y.js";import{d as E,M as re}from"./badge.CKTsmH1z.js";import{_ as ue}from"./index.js";import{u as de}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const oe={class:"aksrt-page-container"},_e={class:"aksrt-section-header",style:{display:"flex","justify-content":"space-between","align-items":"center"}},me={style:{"margin-top":"8px","text-align":"right"}},ie={class:"aksrt-form-actions"},pe={__name:"UsersBadge",setup(ce){const I=le(),C=de(),x=T(!0),h=T(!1),V=re,s=ae({user_medal_s:!1,user_medal_public_display:!0,user_medal_limit:3,user_medal_args:E()}),L=te(()=>s.user_medal_args.reduce((n,e)=>n+(Array.isArray(e.items)?e.items.length:0),0));function A(n){I.push(n)}function F(n){return(n==null?void 0:n.data)??n??{}}function N(){return{slug:"",name:"",desc:"",icon:"",get_type:"manually_add",get_val:0}}function z(n){return Array.isArray(n)?n.map(e=>({cat_name:String((e==null?void 0:e.cat_name)||(e==null?void 0:e.name)||"未命名").trim()||"未命名",items:Array.isArray(e==null?void 0:e.items)?e.items.map(t=>({slug:String((t==null?void 0:t.slug)||"").trim(),name:String((t==null?void 0:t.name)||"").trim(),desc:String((t==null?void 0:t.desc)||"").trim(),icon:String((t==null?void 0:t.icon)||(t==null?void 0:t.icon_url)||"").trim(),get_type:String((t==null?void 0:t.get_type)||"manually_add").trim()||"manually_add",get_val:Math.max(0,Number((t==null?void 0:t.get_val)??0)||0)})):[]})):E()}function Y(){s.user_medal_args.push({cat_name:"新分类",items:[N()]})}function j(n){s.user_medal_args.splice(n,1)}function G(n){s.user_medal_args[n].items||(s.user_medal_args[n].items=[]),s.user_medal_args[n].items.push(N())}function H(n,e){s.user_medal_args[n].items.splice(e,1)}async function K(){x.value=!0;try{const n=await D.getSchemaPage("users","badge"),e=F(n);s.user_medal_s=!!(e.user_medal_s??e.user_badge_enabled),s.user_medal_public_display=e.user_medal_public_display!==void 0?e.user_medal_public_display!==!1:e.user_badge_public_display!==!1,s.user_medal_limit=Number(e.user_medal_limit??e.user_badge_limit??3),s.user_medal_args=z(e.user_medal_args??null)}catch(n){C.error(n.message||"加载用户徽章配置失败")}finally{x.value=!1}}async function O(){h.value=!0;try{const n=z(s.user_medal_args);for(const e of n)for(const t of e.items)if(!t.slug||!t.name||!t.get_type){C.error("每个条目需要 slug、名称和获取条件"),h.value=!1;return}await D.saveSchemaPage("users","badge",{user_medal_s:!!s.user_medal_s,user_medal_public_display:!!s.user_medal_public_display,user_medal_limit:Number(s.user_medal_limit||3),user_medal_args:n}),s.user_medal_args=n,C.success("用户徽章配置已保存")}catch(n){C.error(n.message||"保存失败")}finally{h.value=!1}}return ee(K),(n,e)=>{const t=u("n-button"),w=u("n-space"),c=u("n-tag"),g=u("n-card"),B=u("n-switch"),S=u("n-form-item"),M=u("n-input-number"),W=u("n-form"),P=u("n-empty"),f=u("n-input"),p=u("n-grid-item"),X=u("n-select"),Z=u("n-grid"),J=u("n-alert"),Q=u("n-spin");return m(),v("div",oe,[a(ne,{title:"用户徽章",desc:"配置勋章分类、自动授予条件(get_type / get_val)与公开展示。路由 /users/badge,存储键 user_medal_*。"},{actions:l(()=>[a(w,null,{default:l(()=>[a(t,{quaternary:"",onClick:e[0]||(e[0]=d=>A("/users/notifications"))},{default:l(()=>[...e[5]||(e[5]=[o("消息通知",-1)])]),_:1}),a(t,{quaternary:"",onClick:e[1]||(e[1]=d=>A("/users/level"))},{default:l(()=>[...e[6]||(e[6]=[o("用户等级",-1)])]),_:1})]),_:1})]),_:1}),a(Q,{show:x.value,style:{width:"100%","min-height":"200px"}},{default:l(()=>[a(g,{class:"aksrt-section-card"},{default:l(()=>[e[7]||(e[7]=i("div",{class:"aksrt-section-header"},[i("h3",null,"当前摘要")],-1)),a(w,null,{default:l(()=>[a(c,{round:"",type:s.user_medal_s?"success":"default"},{default:l(()=>[o(" 徽章系统:"+b(s.user_medal_s?"已启用":"已关闭"),1)]),_:1},8,["type"]),a(c,{round:"",type:s.user_medal_public_display?"info":"default"},{default:l(()=>[o(" 公开展示:"+b(s.user_medal_public_display?"开启":"关闭"),1)]),_:1},8,["type"]),a(c,{round:"",type:"info"},{default:l(()=>[o("最多显示:"+b(s.user_medal_limit)+" 枚",1)]),_:1}),a(c,{round:"",type:"info"},{default:l(()=>[o("分类:"+b(s.user_medal_args.length),1)]),_:1}),a(c,{round:"",type:"info"},{default:l(()=>[o("条目:"+b(L.value),1)]),_:1})]),_:1})]),_:1}),a(g,{class:"aksrt-section-card"},{default:l(()=>[e[8]||(e[8]=i("div",{class:"aksrt-section-header"},[i("h3",null,"徽章展示")],-1)),a(W,{model:s,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:l(()=>[a(S,{label:"启用徽章/勋章系统"},{default:l(()=>[a(B,{value:s.user_medal_s,"onUpdate:value":e[2]||(e[2]=d=>s.user_medal_s=d)},null,8,["value"])]),_:1}),s.user_medal_s?(m(),k(S,Line truncated
+1
View File
@@ -0,0 +1 @@
.medal-cat-block[data-v-fe872f5e]{margin-bottom:16px}.medal-item-row[data-v-fe872f5e]{padding:12px;border:1px solid var(--n-border-color, #efeff5);border-radius:8px;margin-bottom:8px}
@@ -0,0 +1 @@
import{e as le,o as te,X as x,a4 as s,a3 as n,r as O,a1 as o,_ as ae,W as d,f as p,Y as i,Z as g,a2 as f,a5 as y,N as b,F as j,R as B,c as P,k as L}from"./vendor-vue.BxZIRU0_.js";import{a as A}from"./shared-api.DnsQ5cxS.js";import{P as se}from"./PageHeader.CtT29f8Y.js";import{d as G,a as C,I as V}from"./level.E3ANSDAX.js";import{_ as ne}from"./index.js";import{u as re,c as k,f as T}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const _e={class:"aksrt-page-container"},ue={style:{margin:"0 0 8px"}},oe={class:"integral-field"},ie={class:"integral-field__label"},de={class:"aksrt-form-actions"},me={__name:"UsersLevel",setup(pe){const $=ae(),h=re(),N=O(!0),M=O(!1),l=le({user_level_s:!0,user_level_public_display:!0,user_level_max:10,user_level_opt:C(10),user_integral_opt:G(),user_level_notify:!0}),q=P(()=>[...new Set(V.map(t=>t.group))]),w=P(()=>{const t=Math.max(3,Math.min(30,Number(l.user_level_max)||10)),e=[];for(let a=1;a<=t;a++)e.push({level:a,name:l.user_level_opt["name_"+a]??"LV"+a,upgrade:Number(l.user_level_opt["upgrade_integral_"+a]??0)});return e}),D=[{title:"等级",key:"level",width:80},{title:"名称",key:"name",render:t=>L(T,{value:l.user_level_opt["name_"+t.level]??"",size:"small",onUpdateValue:e=>{l.user_level_opt["name_"+t.level]=e}})},{title:"等级图标 URL",key:"icon",render:t=>L(T,{value:l.user_level_opt["icon_img_"+t.level]??"",size:"small",placeholder:t.level<=10?"留空使用主题内置图标":"请输入图片 URL",onUpdateValue:e=>{l.user_level_opt["icon_img_"+t.level]=e}})},{title:"升级所需累计经验",key:"upgrade",width:200,render:t=>L(k,{value:Number(l.user_level_opt["upgrade_integral_"+t.level]??0),min:0,max:9999999,size:"small",style:"width: 160px;",onUpdateValue:e=>{l.user_level_opt["upgrade_integral_"+t.level]=Number(e||0)}})}];function I(t){$.push(t)}function E(t){return(t==null?void 0:t.data)??t??{}}function F(t){const e=Math.max(3,Math.min(30,Number(t)||10));l.user_level_max=e;const a={...l.user_level_opt},_=C(e);for(let r=1;r<=e;r++)a["upgrade_integral_"+r]===void 0&&(a["upgrade_integral_"+r]=_["upgrade_integral_"+r]),a["name_"+r]===void 0&&(a["name_"+r]="LV"+r),a["icon_img_"+r]===void 0&&(a["icon_img_"+r]="");for(const r of Object.keys(a)){const m=r.match(/_(\d+)$/);m&&Number(m[1])>e&&delete a[r]}l.user_level_opt=a}function R(t){const e=G();if(!t||typeof t!="object")return e;for(const a of V)t[a.key]!==void 0&&(e[a.key]=Math.max(0,Number(t[a.key])||0));return t.day_max!==void 0&&(e.day_max=Math.max(0,Number(t.day_max)||0)),e}function S(t,e){const a=C(e);if(!t||typeof t!="object")return a;for(let _=1;_<=e;_++)t["upgrade_integral_"+_]!==void 0&&(a["upgrade_integral_"+_]=Math.max(0,Number(t["upgrade_integral_"+_])||0)),t["name_"+_]!==void 0&&(a["name_"+_]=String(t["name_"+_]||"")),t["icon_img_"+_]!==void 0&&(a["icon_img_"+_]=String(t["icon_img_"+_]||""));return a}async function H(){N.value=!0;try{const t=await A.getSchemaPage("users","level"),e=E(t),a=e.user_level_s!==!1;l.user_level_s=a,l.user_level_public_display=e.user_level_public_display!==!1,l.user_level_max=Math.max(3,Math.min(30,Number(e.user_level_max||10))),l.user_level_notify=e.user_level_notify!==!1,l.user_level_opt=S(e.user_level_opt,l.user_level_max),l.user_integral_opt=R(e.user_integral_opt)}catch(t){h.error(t.message||"加载用户等级配置失败")}finally{N.value=!1}}async function W(){M.value=!0;try{const t=Math.max(3,Math.min(30,Number(l.user_level_max)||10)),e={user_level_s:!!l.user_level_s,user_level_public_display:!!l.user_level_public_display,user_level_max:t,user_level_notify:!!l.user_level_notify,user_level_opt:S(l.user_level_opt,t),user_integral_opt:R(l.user_integral_opt)};await A.saveSchemaPage("users","level",e),Object.assign(l,{user_level_max:t,user_level_opt:e.user_level_opt,user_integral_opt:e.user_integral_opt}),h.success("用户等级配置已保存")}catch(t){h.error(t.message||"保存失败")}finally{M.value=!1}}return te(H),(t,e)=>{const a=o("n-button"),_=o("n-space"),r=o("n-tag"),m=o("n-card"),U=o("n-switch"),c=o("n-form-item"),z=o("n-form"),X=o("n-alert"),Y=o("n-data-table"),Z=o("n-divider"),J=o("n-grid-item"),K=o("n-grid"),Q=o("n-spin");return d(),x("div",_e,[s(se,{title:"用户等级",desc:"配置等级开关、最高等级、升级经验阈值与经验获取矩阵(对齐 legacy 用户等级 / 经验值)。"},{actions:n(()=>[s(_,null,{default:n(()=>[s(a,{quaternary:"",onClick:e[0]||(e[0]=u=>I("/users/credits"))},{default:n(()=>[...e[7]||(e[7]=[p("用户积分",-1)])]),_:1}),s(a,{quaternary:"",onClick:e[1]||(e[1]=u=>I("/users/badge"))},{default:n(()=>[...e[8]||(e[8]=[p("用户徽章",-1)])]),_:1})]),_:1})]),_:1}),s(Q,{show:N.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[s(m,{class:"aksrt-section-card"},{default:n(()=>[e[9]||(e[9]=i("div",{class:"aksrt-section-header"},[i("h3",null,"当前摘要")],-1)),s(_,null,{default:n(()=>[s(r,{round:"",type:l.user_level_s?"success":"default"},{default:n(()=>[p(" 等级系统:"+g(l.user_level_s?"Line truncated
+1
View File
@@ -0,0 +1 @@
.integral-field__label[data-v-d90bca95]{font-size:12px;margin-bottom:4px;opacity:.8}
+1
View File
@@ -0,0 +1 @@
.aksrt-status-card[data-v-2e5fcc8a] .n-card__content{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.aksrt-section-card[data-v-2e5fcc8a],.aksrt-provider-tabs[data-v-2e5fcc8a]{margin-top:16px}.aksrt-form-actions[data-v-2e5fcc8a]{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@@ -0,0 +1,2 @@
import{P as be}from"./PageHeader.CtT29f8Y.js";import{a as S}from"./shared-api.DnsQ5cxS.js";import{_ as ge}from"./index.js";import{u as we,a as Ue}from"./vendor-naive.CKYCZmXD.js";import{w as xe,o as ke,X as j,a4 as l,a3 as a,r as I,a1 as o,e as P,c as A,W as c,f as d,Z as m,F as M,R as W,a2 as b,a5 as U,Y as h}from"./vendor-vue.BxZIRU0_.js";import"./vendor-misc.bELTaXdf.js";const Pe={class:"aksrt-page-container"},Re={class:"aksrt-form-actions"},Se={__name:"UsersVerify",setup(Ie){const y=we(),ee=Ue(),x=["aliyun","tencent"],le=[{label:"实人认证(ID_PRO)",value:"ID_PRO"},{label:"活体人脸验证(PV_FV)",value:"PV_FV"},{label:"活体检测(LR_FR)",value:"LR_FR"}],H={aliyun:[{key:"access_key_id",label:"AccessKey ID"},{key:"access_key_secret",label:"AccessKey Secret"}],tencent:[{key:"secret_id",label:"SecretId"},{key:"secret_key",label:"SecretKey"}]},J={user_verify_enabled:!0,user_verify_public_display:!0,user_verify_allow_apply:!0,user_verify_allow_manual_fallback:!0,user_verify_session_ttl_minutes:30,user_verify_poll_interval_seconds:5,user_verify_personal_fee:"0.00",user_verify_enterprise_fee:"0.00",user_verify_personal_badge_text:"个人认证",user_verify_enterprise_badge_text:"企业认证",user_verify_disable_desc:`由于系统正在维护,暂时无法申请身份认证
详情请联系管理员`,user_verify_desc:"认证用户会在昵称后显示认证徽章,同时享受多种优先待遇。申请请确保信息属实。",user_verify_aliyun_region:"cn-hangzhou",user_verify_aliyun_personal_flow:"",user_verify_aliyun_product_code:"ID_PRO",user_verify_aliyun_enterprise_flow:"",user_verify_tencent_region:"ap-guangzhou",user_verify_tencent_personal_flow:"",user_verify_tencent_enterprise_flow:""},B=I(!0),C=I(!1),E=I(""),F=I("aliyun"),V=P({aliyun:"",tencent:""}),K=A(()=>V[p.provider]||""),z=I(""),O=P({aliyun:{},tencent:{}}),n=P({...J}),p=P({provider:"aliyun"}),k=P({aliyun:{},tencent:{}}),g=P({aliyun:!1,tencent:!1}),L=A(()=>JSON.stringify({verifyForm:n,identityForm:p,credentials:k,clearCredentials:g})),ae=A(()=>z.value!==""&&L.value!==z.value);xe(()=>p.provider,r=>{F.value=r});function w(r){return r==="aliyun"?"阿里云":"腾讯云"}function R(r){return O[r]||{}}function te(r,e){var i;return(i=R(r).configured_fields)!=null&&i[e]?"已配置,留空则保留":"尚未配置"}function D(r){return(r==null?void 0:r.data)??r??{}}async function X(){B.value=!0;try{const[r,e]=await Promise.all([S.getSchemaPage("users","verify"),S.getIdentitySettings()]);Object.assign(n,J,D(r));const i=D(e);p.provider=x.includes(i.provider)?i.provider:"aliyun",Object.assign(V,i.callback_url||{}),x.forEach(_=>{var v;O[_]=((v=i.providers)==null?void 0:v[_])||{},k[_]={},g[_]=!1}),F.value=p.provider,z.value=L.value}catch(r){y.error(r.message||"加载身份认证配置失败")}finally{B.value=!1}}function Y(r){const e={};return H[r].forEach(({key:i})=>{var v;const _=String(((v=k[r])==null?void 0:v[i])||"").trim();_&&(e[i]=_)}),{credentials:e,clear_credentials:g[r]}}async function ne(){const[r,e]=await Promise.all([S.saveSchemaPage("users","verify",{...n}),S.saveIdentitySettings({provider:p.provider,providers:{aliyun:Y("aliyun"),tencent:Y("tencent")}})]),i=D(e);Object.assign(n,D(r)),x.forEach(_=>{var v;O[_]=((v=i.providers)==null?void 0:v[_])||O[_],k[_]={},g[_]=!1}),Object.assign(V,i.callback_url||V),z.value=L.value}async function re(){const r=x.some(i=>g[i]),e=async()=>{C.value=!0;try{await ne(),y.success("身份认证配置已保存")}catch(i){y.error(i.message||"保存失败")}finally{C.value=!1}};if(!r)return e();ee.warning({title:"确认清除凭证",content:"已勾选的服务商凭证将被永久删除,是否继续保存?",positiveText:"清除并保存",negativeText:"取消",onPositiveClick:e})}async function se(r){E.value=r;try{const e=await S.testIdentitySettings({provider:r});y.success((e==null?void 0:e.message)||`${w(r)}配置测试通过`)}catch(e){y.error(e.message||`${w(r)}配置测试失败`)}finally{E.value=""}}async function ue(){if(!K.value)return y.warning("回调地址暂不可用");try{await navigator.clipboard.writeText(K.value),y.success("回调地址已复制")}catch{y.error("复制失败,请手动复制")}}return ke(X),(r,e)=>{const i=o("n-statistic"),_=o("n-tag"),v=o("n-card"),Z=o("n-grid-item"),oe=o("n-grid"),N=o("n-switch"),s=o("n-form-item"),q=o("n-input-number"),f=o("n-input"),$=o("n-form"),G=o("n-radio-button"),Q=o("n-space"),ie=o("n-radio-group"),T=o("n-button"),_e=o("n-input-group"),de=o("n-alert"),ve=o("n-select"),fe=o("n-checkbox"),ce=o("n-tab-pane"),pe=o("n-tabs"),ye=o("n-spin");return c(),j("div",Pe,[l(be,{title:"身份认证",desc:"统一管理认证申请规则与云服务商凭证;审核、驳回和取消认证仍在 WordPress 用户菜单处理。"}),l(ye,{show:B.value,style:{width:"100%","min-height":"240px"}},{default:a(()=>[l(oe,{cols:3,"x-gap":12,"y-gap":12,responsive:"screen","item-responsive":""},{default:a(()=>[l(Z,{span:"3 m:1"},{default:a(()=>[l(v,{class:"aksrt-status-card",size:"small"},{default:a(()=>[l(i,{label:"身份认证功能"},{default:a(()=>[d(m(n.user_verify_enabled?"已启用":"已停用"),1)]),_:1}),l(_,{type:n.user_verify_enabled?"success":"default",round:"",size:"small"},{default:a(()=>[d(m(n.user_verify_enabled?"运行中":"未运行"),1)]),_:1},8,["type"])]),_:1})]),_:1}),(c(),j(M,null,W(x,t=>l(Z,{span:"3 m:1",key:t},{default:a(()=>[l(v,{class:"aksrt-status-card",size:"small"},{default:a(()=>[l(i,{label:w(t)+"凭证"},{default:a(()=>[d(m(R(t).configured?"已配置":"未配置"),1)]),_:2},1032,["label"]),l(_,{type:R(t).configured?"success":"warning",round:"",size:"small"},{default:a(()=>[d(m(p.provider===t?"当前服务商":"备用服务商"),1)]),_:2},1032,["type"])]),_:2},1024)]),_:2},1024)),64))]),_:1}),l(v,{class:"aksrt-section-card",title:"通用认证设置"},{default:a(()=>[l($,{model:n,"label-placement":"left","label-width":"190"},{default:a(()=>[l(s,{label:"启用身份认证"},{default:a(()=>[l(N,{value:n.user_verify_enabled,"onUpdate:value":e[0]||(e[0]=t=>n.user_verify_enabled=t)},null,8,["value"])]),_:1}),l(s,{label:"公开页显示认证徽标"},{default:a(()=>[l(N,{value:n.user_verify_public_display,"onUpdate:value":e[1]||(e[1]=t=>n.user_verify_public_display=t)},null,8,["value"])]),_:1}),l(s,{label:"允许用户前台申 Line truncated
@@ -0,0 +1 @@
import{X as u,a4 as w,Y as s,L as n,Z as o,j as _,ag as y,f as g,ah as f,F as b,R as x,o as T,c as S,r as p,e as D,a1 as V,W as k}from"./vendor-vue.BxZIRU0_.js";import{P as I}from"./PageHeader.CtT29f8Y.js";import{a as h}from"./shared-api.DnsQ5cxS.js";import{_ as U}from"./index.js";import"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const A={name:"UsersWechatTemplate",components:{PageHeader:I},setup(){const r=p({enabled:!1,configured:!1,has_token:!1,has_template:!1,bound_users:0}),t=D({enabled:!1,app_id:"",app_secret:"",template_id:""}),d=p(!1),a=[{key:"comment_reply",desc:"评论回复通知"},{key:"system_notice",desc:"系统公告通知"},{key:"order_paid",desc:"订单支付通知"},{key:"credits_change",desc:"积分变动通知"}],i=p([]),m=S(()=>a.map(e=>({...e,ready:i.value.length===0||i.value.includes(e.key)})));async function c(){try{const e=await h.request("/wechat/status");e.success&&(r.value=e.data,t.enabled=e.data.enabled||!1,t.app_id=e.data.appid||"",t.app_secret=(e.data.app_secret==="***",""),t.template_id=e.data.template_id||"",i.value=e.data.allowed_types||[])}catch(e){console.error("Load WeChat status failed:",e)}}async function l(){d.value=!0;try{const e={...t};!e.app_secret&&r.value.configured&&(e.app_secret="***");const v=await h.request("/wechat/settings",{method:"POST",data:e});v.success?(alert("设置已保存"),c()):alert(v.message||"保存失败")}catch(e){console.error("Save failed:",e),alert("保存失败: "+(e.message||"未知错误"))}finally{d.value=!1}}return T(()=>c()),{status:r,form:t,saving:d,eventTypes:m,saveSettings:l}}},C={class:"aksrt-page-container"},P={class:"aksrt-wechat__status"},W={class:"aksrt-wechat__status-card"},j={class:"aksrt-wechat__status-info"},B={class:"aksrt-wechat__status-value"},H={class:"aksrt-wechat__status-card"},L={class:"aksrt-wechat__status-info"},M={class:"aksrt-wechat__status-value"},N={class:"aksrt-wechat__status-card"},q={class:"aksrt-wechat__status-info"},F={class:"aksrt-wechat__status-value"},z={class:"aksrt-wechat__status-card"},E={class:"aksrt-wechat__status-info"},O={class:"aksrt-wechat__status-value"},R={class:"aksrt-wechat__form-card"},X={class:"aksrt-form-group"},Y={class:"aksrt-form-group"},Z={class:"aksrt-form-group"},G={class:"aksrt-form-group"},J={class:"aksrt-form-actions"},K=["disabled"],Q={class:"aksrt-wechat__form-card"},$={class:"aksrt-table aksrt-table--sm"};function ss(r,t,d,a,i,m){const c=V("PageHeader");return k(),u("div",C,[w(c,{title:"微信模板消息",desc:"配置微信公众号模板消息推送。"}),s("div",P,[s("div",W,[s("div",{class:n(["aksrt-wechat__status-icon",a.status.configured?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:n(a.status.configured?"fa fas fa-check":"fa fas fa-exclamation")},null,2)],2),s("div",j,[t[5]||(t[5]=s("div",{class:"aksrt-wechat__status-label"},"配置状态",-1)),s("div",B,o(a.status.configured?"已配置":"未配置"),1)])]),s("div",H,[s("div",{class:n(["aksrt-wechat__status-icon",a.status.has_token?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:n((a.status.has_token,"fa fas fa-key"))},null,2)],2),s("div",L,[t[6]||(t[6]=s("div",{class:"aksrt-wechat__status-label"},"Access Token",-1)),s("div",M,o(a.status.has_token?"已获取":"未获取"),1)])]),s("div",N,[s("div",{class:n(["aksrt-wechat__status-icon",a.status.has_template?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:n((a.status.has_template,"fa fas fa-file-alt"))},null,2)],2),s("div",q,[t[7]||(t[7]=s("div",{class:"aksrt-wechat__status-label"},"模板 ID",-1)),s("div",F,o(a.status.has_template?"已配置":"未配置"),1)])]),s("div",z,[t[9]||(t[9]=s("div",{class:"aksrt-wechat__status-icon aksrt-wechat__status-icon--info"},[s("i",{class:"fa fas fa-users"})],-1)),s("div",E,[t[8]||(t[8]=s("div",{class:"aksrt-wechat__status-label"},"绑定用户",-1)),s("div",O,o(a.status.bound_users||0)+" 人",1)])])]),s("div",R,[t[15]||(t[15]=s("h3",null,"基本配置",-1)),s("div",X,[s("label",null,[_(s("input",{type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>a.form.enabled=l)},null,512),[[y,a.form.enabled]]),t[10]||(t[10]=g(" 启用微信模板消息 ",-1))])]),s("div",Y,[t[11]||(t[11]=s("label",null,"AppID",-1)),_(s("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>a.form.app_id=l),type:"text",class:"aksrt-input",placeholder:"微信公众号 AppID"},null,512),[[f,a.form.app_id]])]),s("div",Z,[t[12]||(t[12]=s("label",null,"AppSecret",-1)),_(s("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>a.form.app_secret=l),type:"password",class:"aksrt-input",placeholder:"微信公众号 AppSecret"},null,512),[[f,a.form.app_secret]]),t[13]||(t[13]=s("p",{class:"aksrt-form-hint"},"保存后不会回显完整密钥",-1))]),s("div",G,[t[14]||(t[14]=s("label",null,"模板 ID",-1)),_(s("input",{"onUpdate:modelValue":t[3]||(t[3]=l=>a.form.template_id=l),type:"text",class:"aksrt-input",placeholder:"微信模板消息模板 ID"},null,512),[[f,a.fLine truncated
@@ -0,0 +1 @@
.aksrt-wechat__status[data-v-5a53c055]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.aksrt-wechat__status-card[data-v-5a53c055]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.aksrt-wechat__status-icon[data-v-5a53c055]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.aksrt-wechat__status-icon--ok[data-v-5a53c055]{background:#d4edda;color:#155724}.aksrt-wechat__status-icon--warn[data-v-5a53c055]{background:#fff3cd;color:#856404}.aksrt-wechat__status-icon--info[data-v-5a53c055]{background:#d1ecf1;color:#0c5460}.aksrt-wechat__status-value[data-v-5a53c055]{font-size:18px;font-weight:600;color:var(--aksrt-color-text)}.aksrt-wechat__status-label[data-v-5a53c055]{font-size:12px;color:#888}.aksrt-wechat__form-card[data-v-5a53c055]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px;margin-bottom:16px}.aksrt-wechat__form-card h3[data-v-5a53c055]{margin:0 0 16px;font-size:16px;font-weight:600}.aksrt-form-hint[data-v-5a53c055]{font-size:12px;color:#888;margin-top:4px}
+1
View File
@@ -0,0 +1 @@
const _=[{label:"注册天数",value:"registration_time"},{label:"累计签到天数",value:"checkin_all_day"},{label:"发布文章数",value:"new_post"},{label:"评论数",value:"comment"},{label:"粉丝数",value:"followed"},{label:"文章获赞",value:"like"},{label:"评论获赞",value:"comment_like"},{label:"内容阅读量",value:"views"},{label:"现金创作分成累计(元)",value:"creator_income"},{label:"推广佣金累计(元)",value:"affiliate_commission"},{label:"仅手动授予",value:"manually_add"}],s=(()=>{var l;const a=((l=window.aksrtAdminData)==null?void 0:l.themeUri)||"";return a?String(a).replace(/\/$/,"")+"/assets/img/medal":"/assets/img/medal"})(),e=a=>`${s}/medal-${a}.svg`,t=()=>[{cat_name:"成长",items:[{slug:"rookie",name:"初出茅庐",desc:"注册时间超过30天",icon:e(1),get_type:"registration_time",get_val:30},{slug:"checkin-30",name:"签到达人",desc:"累计签到30天",icon:e(2),get_type:"checkin_all_day",get_val:30},{slug:"writer",name:"创作先锋",desc:"发布10篇文章",icon:e(5),get_type:"new_post",get_val:10},{slug:"popular",name:"人气之星",desc:"累计获得100次点赞",icon:e(9),get_type:"like",get_val:100}]},{cat_name:"限定",items:[{slug:"annual-star",name:"年度人气达人",desc:"活动限定徽章",icon:e(12),get_type:"manually_add",get_val:0},{slug:"vip-member",name:"尊贵会员",desc:"给予 VIP 用户的特殊徽章",icon:e(15),get_type:"manually_add",get_val:0}]}],d={key:"users.badge",title:"用户徽章",icon:"fa fas fa-trophy",description:"配置勋章分类、自动授予条件与前台展示。路由仍为 /users/badge;存储键为 user_medal_*。",defaults:{user_medal_s:!1,user_medal_public_display:!0,user_medal_limit:3,user_medal_args:t()},groups:[{key:"display",title:"徽章展示",icon:"fa fas fa-trophy",fields:[{key:"user_medal_s",label:"启用徽章/勋章系统",type:"switch",default:!1},{key:"user_medal_public_display",label:"公开页显示徽章",type:"switch",default:!0,dependsOn:{key:"user_medal_s",value:!0}},{key:"user_medal_limit",label:"最多显示数量",type:"number",default:3,min:1,max:8,dependsOn:{key:"user_medal_s",value:!0}}]},{key:"catalog",title:"徽章明细",icon:"fa fas fa-trophy",fields:[{key:"user_medal_args",label:"分类与条目",type:"json",default:t(),help:"由自定义页编辑:分类 → 条目(slug/名称/描述/图标/get_type/get_val)。仅手动授予用 manually_add。",dependsOn:{key:"user_medal_s",value:!0}}]}]};export{_ as M,d as b,t as d};
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+1
View File
@@ -0,0 +1 @@
.aksrt-mobile-topbar[data-v-2fabfa7d]{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;background:var(--aksrt-color-surface);border-bottom:1px solid var(--aksrt-color-border);position:sticky;top:0;z-index:50}.aksrt-mobile-topbar__menu[data-v-2fabfa7d]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--aksrt-color-text);cursor:pointer;margin-left:-6px}.aksrt-mobile-topbar__menu[data-v-2fabfa7d]:hover{background:var(--aksrt-color-primary-soft)}.aksrt-mobile-topbar__title[data-v-2fabfa7d]{flex:1 1 auto;font-size:15px;font-weight:600;color:var(--aksrt-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aksrt-mobile-topbar__brand[data-v-2fabfa7d]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--aksrt-color-primary);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.aksrt-logo[data-v-7ff7ff1b]{display:flex;align-items:center;justify-content:flex-start;height:64px;gap:11px;padding:0 18px;border-bottom:1px solid var(--aksrt-color-border)}.aksrt-logo--drawer[data-v-7ff7ff1b]{height:64px}.logo-icon[data-v-7ff7ff1b]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:7px;background:var(--aksrt-color-primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em}.aksrt-logo__copy[data-v-7ff7ff1b]{display:flex;align-items:baseline;gap:7px;min-width:0}.logo-text[data-v-7ff7ff1b]{font-size:17px;font-weight:700;color:var(--aksrt-color-text);letter-spacing:.08em}.aksrt-logo__version[data-v-7ff7ff1b]{color:var(--aksrt-color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.02em}.aksrt-admin-content__inner[data-v-7ff7ff1b]{width:100%;max-width:1236px;margin:0 auto;padding:26px 28px 42px}.aksrt-admin-mobile[data-v-7ff7ff1b]{background:var(--aksrt-color-canvas);min-height:100vh}.aksrt-admin-mobile__body[data-v-7ff7ff1b]{padding:14px 12px 32px}.aksrt-page-wrapper[data-v-7ff7ff1b]{min-height:calc(100vh - 120px)}.aksrt-error-fallback[data-v-7ff7ff1b]{padding:48px 20px;text-align:center}.aksrt-error-title[data-v-7ff7ff1b]{margin:0 0 10px;font-size:16px;color:#d03050}.aksrt-error-msg[data-v-7ff7ff1b]{margin:0 0 16px;font-size:13px;color:#777}@media(max-width:1100px){.aksrt-admin-content__inner[data-v-7ff7ff1b]{padding:22px 20px 38px}}#aksrt-admin-app,#aksrt-admin-app *{box-sizing:border-box}#aksrt-admin-app{--aksrt-color-primary: #18A058;--aksrt-color-primary-hover: #36AD6A;--aksrt-color-primary-pressed: #0C7A43;--aksrt-color-primary-soft: #EAF7EF;--aksrt-color-canvas: #F5F7F6;--aksrt-color-surface: #FFFFFF;--aksrt-color-text: #1F2923;--aksrt-color-text-secondary: #465149;--aksrt-color-muted: #6F7A72;--aksrt-color-border: #E2E8E3;--aksrt-color-border-strong: #CCD7CE;--aksrt-shadow-card: 0 1px 2px rgba(31, 41, 35, .04);--aksrt-shadow-floating: 0 12px 32px rgba(31, 41, 35, .12);min-height:100%;color:var(--aksrt-color-text);background:var(--aksrt-color-canvas);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}#aksrt-admin-app .n-menu .n-menu-item-content i[class*=fa-],#aksrt-admin-app .n-menu-item-content i[class*=fa-]{font-size:18px;width:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.75;transition:opacity .15s}#aksrt-admin-app .n-menu-item-content--selected i[class*=fa-],#aksrt-admin-app .n-menu-item-content:hover i[class*=fa-]{opacity:1}#aksrt-admin-app .n-layout,#aksrt-admin-app .n-layout-sider{min-height:100vh}#aksrt-admin-app .aksrt-admin-layout{min-height:100vh;background:var(--aksrt-color-canvas)}#aksrt-admin-app .aksrt-admin-sider{background:var(--aksrt-color-surface);border-right:1px solid var(--aksrt-color-border)}#aksrt-admin-app .aksrt-admin-sider .n-layout-toggle-button{border:1px solid var(--aksrt-color-border);background:var(--aksrt-color-surface);color:var(--aksrt-color-muted);box-shadow:var(--aksrt-shadow-card)}#aksrt-admin-app .aksrt-admin-sider .n-layout-toggle-button:hover{border-color:var(--aksrt-color-primary);color:var(--aksrt-color-primary)}#aksrt-admin-app .aksrt-admin-menu{padding:10px 8px 18px}#aksrt-admin-app .aksrt-admin-menu .n-menu-item-content{position:relative;border-radius:8px;transition:color .16s ease,background-color .16s ease}#aksrt-admin-app .aksrt-admin-menu .n-menu-item-content--selected:after{position:absolute;top:9px;bottom:9px;left:0;width:3px;border-radius:0 3px 3px 0;background:var(--aksrt-color-primary);content:""}#aksrt-admin-app .aksrt-admin-menu .n-submenu-children{margin:2px 0 6px}#aksrt-admin-app .aksrt-admin-menu .n-menu-item-content-header{font-weight:500}#aksrt-admin-app .aksrt-menu-item--secondary .n-menu-item-content-header{color:var(--aksrt-color-muted);font-size:12px}#aksrt-admin-app .aksrt-aLine truncated
+16
View File
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AKSRT 主题设置</title>
<script type="module" crossorigin src="./index.js"></script>
<link rel="modulepreload" crossorigin href="./vendor-vue.BxZIRU0_.js">
<link rel="modulepreload" crossorigin href="./vendor-misc.bELTaXdf.js">
<link rel="modulepreload" crossorigin href="./vendor-naive.CKYCZmXD.js">
<link rel="stylesheet" crossorigin href="./index.css">
</head>
<body>
<div id="aksrt-admin-app"></div>␍
</body>
</html>
+2
View File
@@ -0,0 +1,2 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SchemaPage._RXlmOMl.js","./vendor-vue.BxZIRU0_.js","./shared-api.DsnKC5vk.js","./FaIcon.NZ6TDkNu.js","./FaIconPicker.DuahAn6_.js","./shared-api.DnsQ5cxS.js","./FaIconPicker.css","./vendor-misc.bELTaXdf.js","./level.E3ANSDAX.js","./badge.CKTsmH1z.js","./index2.css","./vendor-naive.CKYCZmXD.js","./SchemaPage.css","./DeferredPage.DpQpYrho.js","./DeferredPage.css","./NativeOpsRedirect.CHwEgYbu.js","./NativeOpsRedirect.css","./FloatingButtonsSettings.DPX1stkw.js","./vendor-draggable.BooRVfGb.js","./PageHeader.CtT29f8Y.js","./PageHeader.css","./FloatingButtonsSettings.css","./FooterTabbarSettings.CIyXQt9d.js","./FooterTabbarSettings.css","./PostPageSettings.DEf9Fwyn.js","./CommentSettings.Cc5FzO9W.js","./PermissionsCapabilities.CjA3yZya.js","./PermissionsCapabilities.css","./AttachmentPermissions.Dzsg-DfQ.js","./AttachmentPermissions.css","./CmsCredits.BYsXdX89.js","./ThemeInfoPage.jxAxkM2b.js","./ThemeInfoPage.css","./ThemeAuthorizationPage.DMbNRHuq.js","./DocsPage.mFfiXsYT.js","./DocsPage.css","./UsersVerify.ryf_AQd6.js","./UsersVerify.css","./UsersLevel.BpnbcbVe.js","./UsersLevel.css","./UsersBadge.DCbaumfe.js","./UsersBadge.css","./UsersWechatTemplate.Dn21sVHP.js","./UsersWechatTemplate.css","./PaymentGateway.Cpy4K2E1.js","./PaymentGateway.css","./ToolsImportExport.BxEsl-fY.js","./ToolsImportExport.css","./ToolsHealth.B1bVNkRU.js","./ToolsHealth.css","./ToolsUpdate.DZedmIdt.js","./ToolsUpdate.css","./ExtensionAI.BmvoDo9B.js","./ExtensionAI.css"])))=>i.map(i=>d[i]);
import{W as h,X as S,Y as l,Z as O,r as V,k as ne,_ as ie,$ as re,o as le,b as ce,a0 as me,a1 as k,a2 as H,a3 as f,a4 as p,N as w,a5 as N,z,a6 as G,f as W,c as q,p as de,a7 as ue,a8 as pe,M as ye,a9 as fe}from"./vendor-vue.BxZIRU0_.js";import{N as be,n as _e}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const m of i)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&r(y)}).observe(document,{childList:!0,subtree:!0});function n(i){const m={};return i.integrity&&(m.integrity=i.integrity),i.referrerPolicy&&(m.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?m.credentials="include":i.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function r(i){if(i.ep)return;i.ep=!0;const m=n(i);fetch(i.href,m)}})();const Y=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},he={class:"aksrt-mobile-topbar"},ge={class:"aksrt-mobile-topbar__title"},ve={__name:"MobileTopBar",props:{title:{type:String,default:"AKSRT"}},emits:["toggle"],setup(e){return(t,n)=>(h(),S("header",he,[l("button",{class:"aksrt-mobile-topbar__menu",type:"button","aria-label":"打开菜单",onClick:n[0]||(n[0]=r=>t.$emit("toggle"))},[...n[1]||(n[1]=[l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[l("line",{x1:"4",y1:"6",x2:"20",y2:"6"}),l("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),l("line",{x1:"4",y1:"18",x2:"20",y2:"18"})],-1)])]),l("div",ge,O(e.title),1),n[2]||(n[2]=l("div",{class:"aksrt-mobile-topbar__brand"},"AK",-1))]))}},ke=Y(ve,[["__scopeId","data-v-2fabfa7d"]]),J=V(null);function E(e){return()=>ne("i",{class:e,style:"font-size:18px;width:18px;text-align:center"})}function X(e){return{status:"available",component:"SchemaPage",canonicalDomain:"",section:"",phase:"",dependsOn:[],reason:"",features:[],iconClass:"",...e}}function d(e){return X(e)}function o(e){return X({component:"SchemaPage",...e})}const Pe={key:"global",label:"全局&功能",icon:E("fa fas fa-globe"),route:"/global",children:[o({key:"global-common",name:"GlobalCommon",label:"常用功能",route:"/global/common",title:"常用功能",desc:"评论、性能、头像源与备案等全局基础配置。",canonicalDomain:"global",section:"common"}),o({key:"global-logo",name:"GlobalLogo",label:"LOGO图像",route:"/global/logo",title:"LOGO图像",desc:"管理站点 Logo、站点图标和品牌标识。",canonicalDomain:"global",section:"logo"}),o({key:"global-seo",name:"GlobalSeo",label:"SEO优化",route:"/global/seo",title:"SEO优化",desc:"站点标题、描述、关键词、Sitemap 等搜索引擎优化设置。",canonicalDomain:"global",section:"seo"}),o({key:"global-layout",name:"GlobalLayout",label:"显示&布局",route:"/global/layout",title:"显示&布局",desc:"全局布局风格、颜色方案、字体设置。",canonicalDomain:"global",section:"layout"}),o({key:"global-search",name:"GlobalSearch",label:"搜索功能",route:"/global/search",title:"搜索功能",desc:"搜索页面样式、搜索建议、热门搜索配置。",canonicalDomain:"global",section:"search"}),d({key:"global-tabbar",name:"GlobalTabbar",label:"手机底部Tab",route:"/global/tabbar",title:"手机底部Tab",desc:"移动端底部导航栏配置。",component:"FooterTabbarSettings"}),d({key:"global-floating",name:"GlobalFloating",label:"右侧悬浮按钮",route:"/global/floating",title:"右侧悬浮按钮",desc:"页面右侧浮动按钮的显示与配置。",component:"FloatingButtonsSettings"}),o({key:"global-i18n",name:"GlobalI18n",label:"多语言翻译",route:"/global/i18n",title:"多语言翻译",desc:"配置站点语言、语言切换器和翻译管理。",canonicalDomain:"global",section:"i18n"}),o({key:"global-email",name:"GlobalEmail",label:"Email邮件",route:"/global/email",title:"Email邮件",desc:"SMTP 发信配置、邮件模板与测试。",canonicalDomain:"global",section:"email"}),o({key:"global-custom-code",name:"GlobalCustomCode",label:"自定义代码",route:"/global/custom-code",title:"自定义代码",desc:"自定义 CSS、JS 代码注入。",canonicalDomain:"global",section:"custom-code"})]},Ee={key:"page-display",label:"页面&显示",icon:E("fa fas fa-desktop"),route:"/page-display",children:[o({key:"page-display-header-nav",name:"PageDisplayHeaderNav",label:"顶部导航栏",route:"/page-display/header-nav",title:"顶部导航栏",canonicalDomain:"page_display",section:"header-nav"}),o({key:"page-display-header-components",name:"PageDisplayHeaderComponents",label:"顶部多功能组件",route:"/page-display/header-components",title:"顶部多功能组件",canonicalDomain:"page_display",seLine truncated
+1
View File
@@ -0,0 +1 @@
.aksrt-field-group[data-v-6e29aa86]{margin-bottom:20px;border:1px solid var(--aksrt-color-border);border-radius:12px;background:var(--aksrt-color-surface);box-shadow:var(--aksrt-shadow-card);overflow:hidden}.aksrt-field-group__header[data-v-6e29aa86]{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 0;gap:12px}.aksrt-field-group__header.is-clickable[data-v-6e29aa86]{cursor:pointer;-webkit-user-select:none;user-select:none}.aksrt-field-group__header.is-clickable:hover .aksrt-field-group__title[data-v-6e29aa86]{color:var(--aksrt-color-primary)}.aksrt-field-group.is-collapsed .aksrt-field-group__header[data-v-6e29aa86]{padding-bottom:18px}.aksrt-field-group__header-left[data-v-6e29aa86]{display:flex;align-items:flex-start;gap:10px;min-width:0}.aksrt-field-group__header-right[data-v-6e29aa86]{display:flex;align-items:center;gap:10px;flex-shrink:0}.aksrt-field-group__icon[data-v-6e29aa86]{color:var(--aksrt-color-primary);margin-top:2px}.aksrt-field-group__title[data-v-6e29aa86]{margin:0;font-size:15px;font-weight:600;color:var(--aksrt-color-text);transition:color .15s}.aksrt-field-group__desc[data-v-6e29aa86]{margin:4px 0 0;font-size:12px;color:var(--aksrt-color-muted);line-height:1.5}.aksrt-field-group__actions[data-v-6e29aa86]{display:flex;align-items:center;gap:8px}.aksrt-field-group__collapse-btn[data-v-6e29aa86]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--aksrt-color-border);background:var(--aksrt-color-canvas);color:var(--aksrt-color-text-secondary);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.aksrt-field-group__collapse-btn[data-v-6e29aa86]:hover{color:var(--aksrt-color-primary);border-color:var(--aksrt-color-primary);background:var(--aksrt-color-primary-soft)}.aksrt-field-group__body[data-v-6e29aa86]{padding:16px 20px 20px}.aksrt-collapse-enter-active[data-v-6e29aa86],.aksrt-collapse-leave-active[data-v-6e29aa86]{transition:all .2s ease;overflow:hidden}.aksrt-collapse-enter-from[data-v-6e29aa86],.aksrt-collapse-leave-to[data-v-6e29aa86]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.aksrt-media-field__preview[data-v-6a55ccc5]{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--aksrt-color-border);margin-bottom:8px}.aksrt-media-field__image[data-v-6a55ccc5]{display:block;width:100%;max-height:200px;object-fit:cover}.aksrt-media-field__file[data-v-6a55ccc5]{display:flex;align-items:center;gap:8px;padding:16px;background:var(--aksrt-color-canvas)}.aksrt-media-field__filename[data-v-6a55ccc5]{font-size:13px;color:var(--aksrt-color-text-secondary);word-break:break-all}.aksrt-media-field__overlay[data-v-6a55ccc5]{position:absolute;top:0;right:0;display:flex;gap:4px;padding:6px;opacity:0;transition:opacity .2s}.aksrt-media-field__preview:hover .aksrt-media-field__overlay[data-v-6a55ccc5]{opacity:1}.aksrt-media-field__empty[data-v-6a55ccc5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;border:2px dashed var(--aksrt-color-border-strong);border-radius:8px;cursor:pointer;color:var(--aksrt-color-muted);font-size:13px;transition:all .2s;margin-bottom:8px}.aksrt-media-field__empty[data-v-6a55ccc5]:hover{border-color:var(--aksrt-color-primary);color:var(--aksrt-color-primary);background:var(--aksrt-color-primary-soft)}.aksrt-media-field__url[data-v-6a55ccc5]{margin-top:4px}.aksrt-gallery-field__grid[data-v-6a8d2e9b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.aksrt-gallery-field__item[data-v-6a8d2e9b]{overflow:hidden;border:1px solid var(--aksrt-color-border);border-radius:8px;background:var(--aksrt-color-canvas)}.aksrt-gallery-field__image[data-v-6a8d2e9b],.aksrt-gallery-field__placeholder[data-v-6a8d2e9b]{display:flex;width:100%;aspect-ratio:4 / 3;align-items:center;justify-content:center;object-fit:cover}.aksrt-gallery-field__placeholder[data-v-6a8d2e9b]{flex-direction:column;gap:4px;color:var(--aksrt-color-muted)}.aksrt-gallery-field__actions[data-v-6a8d2e9b]{display:flex;justify-content:center;padding:4px;border-top:1px solid var(--aksrt-color-border)}.aksrt-gallery-field__empty[data-v-6a8d2e9b]{display:flex;min-height:116px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed var(--aksrt-color-border-strong);border-radius:8px;color:var(--aksrt-color-muted)}.aksrt-gallery-field__buttons[data-v-6a8d2e9b]{display:flex;gap:8px;margin-top:10px}.aksrt-gallery-field__error[data-v-6a8d2e9b]{margin:8px 0 0;color:#d03050;font-size:12px}.aks-code-editor[data-v-28406ea7]{border:1px solid var(--n-border-color, #e0e0e6);border-radius:4px;overflow:hidden;min-height:calc(var(--rows, 8) * 22px)}.aks-code-editor[data-v-28406ea7] .cm-editor{font-size:13px}.aks-code-editor[data-v-28406ea7] .cm-editor.cm-focused{outline:none}.aks-code-editor.is-disabled[data-v-28406ea7]{opacity:.6;pointer-events:none}.aksrt-field[data-v-c47fde99]{margin-bottoLine truncated
+1
View File
@@ -0,0 +1 @@
const r=[{key:"sign_up",label:"首次注册",default:20,group:"用户"},{key:"sign_in",label:"每日登录",default:5,group:"用户"},{key:"followed",label:"被关注",default:5,group:"用户"},{key:"post_new",label:"发布文章",default:5,group:"文章"},{key:"post_like",label:"文章获赞",default:1,group:"文章"},{key:"post_favorite",label:"文章被收藏",default:2,group:"文章"},{key:"comment_new",label:"发表评论",default:2,group:"文章"},{key:"comment_like",label:"评论获赞",default:1,group:"文章"}];function a(t=10){const l={};for(let e=1;e<=t;e++)l["upgrade_integral_"+e]=e===1?0:(e-1)*500*e,l["name_"+e]="LV"+e,l["icon_img_"+e]="";return l}function u(){const t={day_max:100};for(const l of r)t[l.key]=l.default;return t}const s={key:"users.level",title:"用户等级",icon:"fa fas fa-level-up-alt",description:"等级与经验值:最高等级、升级阈值、经验获取矩阵(对齐 legacy user_level / user_integral)。",defaults:{user_level_s:!0,user_level_public_display:!0,user_level_max:10,user_level_opt:a(10),user_integral_opt:u(),user_level_notify:!0},groups:[{key:"display",title:"等级显示",fields:[{key:"user_level_s",label:"启用用户等级",type:"switch",default:!0},{key:"user_level_public_display",label:"公开页显示等级",type:"switch",default:!0,dependsOn:{key:"user_level_s",value:!0}},{key:"user_level_max",label:"最高等级",type:"number",default:10,min:3,max:30,dependsOn:{key:"user_level_s",value:!0}},{key:"user_level_notify",label:"升级通知",type:"switch",default:!0,dependsOn:{key:"user_level_s",value:!0}}]},{key:"level_opt",title:"等级升级阈值",fields:[{key:"user_level_opt",label:"升级经验配置",type:"json",sanitizeType:"array",default:a(10),help:"upgrade_integral_N 为升到 N 级所需累计经验"}]},{key:"integral",title:"经验值得分",fields:[{key:"user_integral_opt",label:"经验值获取",type:"json",sanitizeType:"array",default:u(),help:"day_max + 各行为得分;对应功能未开则将分值设 0"}]}]};export{r as I,a,u as d,s as l};
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
const N={testMail(t){return this.request("/mail/test",{method:"POST",body:JSON.stringify({to:t})})},getFooterTabbarSettings(){return this.request("/settings/footer-tabbar")},saveFooterTabbarSettings(t){return this.request("/settings/footer-tabbar",{method:"POST",body:JSON.stringify(t)})},reorderFooterTabbar(t){return this.request("/settings/footer-tabbar/reorder",{method:"POST",body:JSON.stringify({ids:t})})},getFloatingButtons(){return this.request("/settings/floating-buttons")},saveFloatingButtons(t){return this.request("/settings/floating-buttons",{method:"POST",body:JSON.stringify(t)})},reorderFloatingButtons(t){return this.request("/settings/floating-buttons/reorder",{method:"POST",body:JSON.stringify({ids:t})})},getFriendLinks(){return this.request("/friend-links")},addFriendLink(t){return this.request("/friend-links",{method:"POST",body:JSON.stringify(t)})},deleteFriendLink(t){return this.request(`/friend-links/${t}`,{method:"DELETE"})},reorderFriendLinks(t){return this.request("/friend-links/reorder",{method:"POST",body:JSON.stringify({ids:t})})},getCmsFeatures(){return this.request("/settings/cms-features")},saveCmsFeatures(t){return this.request("/settings/cms-features",{method:"POST",body:JSON.stringify({cms_features:t})})}},$={getCategoryRecommendSettings(){return this.request("/settings/category-recommend")},saveCategoryRecommendSettings(t){return this.request("/settings/category-recommend",{method:"POST",body:JSON.stringify(t)})},getCategories(t="category"){const e=Array.isArray(t)?t.join(","):t;return this.request(`/categories?taxonomy=${encodeURIComponent(e||"category")}`)},updateCategoryMeta(t,e){return this.request(`/categories/${t}/meta`,{method:"POST",body:JSON.stringify(e)})},searchUsers(t="",e=20){return this.request(`/users/search?search=${encodeURIComponent(t)}&number=${e}`)},searchPageDisplayOptions(t,e="",s=[]){const r=new URLSearchParams({query:e});return s.forEach(a=>r.append("include[]",a)),this.request(`/settings/schema/page_display/search/${encodeURIComponent(t)}?${r}`)}},k={getPermissionsAttachmentSettings(){return this.getSchemaPage("permissions","attachment")},savePermissionsAttachmentSettings(t){return this.saveSchemaPage("permissions","attachment",t)},getPermissionsLoginSettings(){return this.getSchemaPage("permissions","login")},savePermissionsLoginSettings(t){return this.saveSchemaPage("permissions","login",t)},getPermissionsModerationSettings(){return this.getSchemaPage("permissions","moderation")},getCapabilities(){return this.request("/permissions/capabilities")},saveCapabilities(t){return this.request("/permissions/capabilities",{method:"POST",body:JSON.stringify({user_caps:t})})}},w={getAuthSettings(){return this.request("/settings/auth")},saveAuthSettings(t){return this.request("/settings/auth",{method:"POST",body:JSON.stringify(t)})},getNotificationSettings(){return this.request("/settings/notifications")},saveNotificationSettings(t){return this.request("/settings/notifications",{method:"POST",body:JSON.stringify(t)})},getNotificationOverview(t={}){const e=new URLSearchParams(t).toString();return this.request("/notifications/overview"+(e?`?${e}`:""))},markNotificationRead(t){return this.request("/notifications/mark-read",{method:"POST",body:JSON.stringify({id:t})})},markAllNotificationsRead(){return this.request("/notifications/mark-read",{method:"POST",body:JSON.stringify({mark_all:!0})})},deleteNotification(t){return this.request(`/notifications/${t}`,{method:"DELETE"})},runNotificationCleanup(){return this.request("/notifications/cleanup",{method:"POST",body:JSON.stringify({})})},getIdentitySettings(){return this.request("/identity/settings")},saveIdentitySettings(t){return this.request("/identity/settings",{method:"POST",body:JSON.stringify(t)})},testIdentitySettings(t={}){return this.request("/identity/settings/test",{method:"POST",body:JSON.stringify(t)})},getCreditSettings(){return this.request("/assets/settings")},saveCreditSettings(t){return this.request("/assets/settings",{method:"POST",body:JSON.stringify(t)})},listCreditUsers(t={}){const e=new URLSearchParams(t).toString();return this.request("/assets/accounts"+(e?`?${e}`:""))},adjustUserCredits(t,e,s,r){return this.request(`/assets/accounts/${t}/adjust`,{method:"POST",body:JSON.stringify({asset:e,delta:s,remark:r})})},getCreditLog(t={}){const e=new URLSearchParams(t).toString();return this.request("/assets/transactions"+(e?`?${e}`:""))}},v={getPaymentOverview(){return this.request("/payment/overview")}},A={testIpGeo(t){return this.request("/extensions/ip-test",{method:"POST",data:{ip:t}})},testContentAudit(t){return this.request("/extensions/audit-test",{method:"POST",data:{text:t}})},getAiStatus(){return this.request("/ai/status")},updateAiSettings(t){return this.request("/ai/settings",{method:"POST",data:t})},generateSeo(t){return this.request("/ai/seo-generate",{method:"POST",data:t})},suggestSummary(t){return this.request("/ai/summary-suggest",{method:"POST",data:t})},suggestTags(t){return this.Line truncated
+47
View File
@@ -0,0 +1,47 @@
import{_ as I}from"./FaIcon.NZ6TDkNu.js";import{r as E,W as s,X as n,L as Z,Y as _,a2 as m,a5 as z,Z as k,ad as Ye,l as de,a4 as o,a3 as b,j as Ua,v as ja,z as Ea,a1 as T,f as A,c as H,w as me,F as j,R as K,o as we,b as ra,x as Ma,ac as Ra,I as Ka,ai as Ga,m as ea}from"./vendor-vue.BxZIRU0_.js";import{_ as te}from"./index.js";import{F as Na}from"./FaIconPicker.DuahAn6_.js";import{ba as ce,bb as Ha,bc as Fa,bd as ue,be as Wa,bf as Ba,bg as Ja}from"./vendor-misc.bELTaXdf.js";import{a as fe}from"./shared-api.DnsQ5cxS.js";import{l as Qa}from"./level.E3ANSDAX.js";import{b as Xa}from"./badge.CKTsmH1z.js";const Za={class:"aksrt-field-group__header-left"},Ya={class:"aksrt-field-group__title"},et={key:0,class:"aksrt-field-group__desc"},at={class:"aksrt-field-group__header-right"},tt=["aria-expanded","title"],lt={class:"aksrt-field-group__body"},st={__name:"AksFieldGroup",props:{title:{type:String,default:""},description:{type:String,default:""},icon:{type:String,default:""},collapsible:{type:Boolean,default:!1},defaultCollapsed:{type:Boolean,default:!1}},setup(e){const $=e,i=E(!!$.defaultCollapsed);function p(){$.collapsible&&(i.value=!i.value)}return(S,v)=>(s(),n("div",{class:Z(["aksrt-field-group",{"is-collapsible":e.collapsible,"is-collapsed":e.collapsible&&i.value}])},[e.title?(s(),n("div",{key:0,class:Z(["aksrt-field-group__header",{"is-clickable":e.collapsible}]),onClick:v[1]||(v[1]=D=>e.collapsible?p():void 0)},[_("div",Za,[e.icon?(s(),m(I,{key:0,icon:e.icon,size:16,class:"aksrt-field-group__icon"},null,8,["icon"])):z("",!0),_("div",null,[_("h3",Ya,k(e.title),1),e.description?(s(),n("p",et,k(e.description),1)):z("",!0)])]),_("div",at,[S.$slots.actions?(s(),n("div",{key:0,class:"aksrt-field-group__actions",onClick:v[0]||(v[0]=Ye(()=>{},["stop"]))},[de(S.$slots,"actions",{},void 0,!0)])):z("",!0),e.collapsible?(s(),n("button",{key:1,type:"button",class:"aksrt-field-group__collapse-btn","aria-expanded":(!i.value).toString(),title:i.value?"展开配置":"收起配置",onClick:Ye(p,["stop"])},[o(I,{icon:i.value?"fa fas fa-chevron-right":"fa fas fa-chevron-down",size:12},null,8,["icon"]),_("span",null,k(i.value?"展开":"收起"),1)],8,tt)):z("",!0)])],2)):z("",!0),o(Ea,{name:"aksrt-collapse"},{default:b(()=>[Ua(_("div",lt,[de(S.$slots,"default",{},void 0,!0)],512),[[ja,!i.value]])]),_:3})],2))}},it=te(st,[["__scopeId","data-v-6e29aa86"]]),nt={class:"aksrt-media-field"},ut={key:0,class:"aksrt-media-field__preview"},dt=["src","alt"],ot={key:1,class:"aksrt-media-field__file"},rt={class:"aksrt-media-field__filename"},_t={class:"aksrt-media-field__overlay"},pt={__name:"AksMediaField",props:{modelValue:{type:String,default:""},accept:{type:String,default:"image/*"},placeholder:{type:String,default:"选择图片"}},emits:["update:modelValue"],setup(e,{emit:$}){const i=e,p=$,S=H(()=>i.modelValue?/\.(jpg|jpeg|png|gif|webp|svg|bmp|ico)(\?.*)?$/i.test(i.modelValue)||i.modelValue.startsWith("data:image/"):!1),v=H(()=>{if(!i.modelValue)return"";try{const O=new URL(i.modelValue,window.location.origin).pathname.split("/");return O[O.length-1]||i.modelValue}catch{const g=i.modelValue.split("/");return g[g.length-1]||i.modelValue}});function D(){if(typeof wp<"u"&&wp.media){const g=wp.media({title:i.placeholder,multiple:!1,library:{type:i.accept==="image/*"?"image":void 0}});g.on("select",()=>{const O=g.state().get("selection").first().toJSON();p("update:modelValue",O.url)}),g.open()}}function C(){p("update:modelValue","")}return(g,O)=>{const N=T("n-button"),W=T("n-input");return s(),n("div",nt,[e.modelValue?(s(),n("div",ut,[S.value?(s(),n("img",{key:0,src:e.modelValue,alt:e.placeholder,class:"aksrt-media-field__image"},null,8,dt)):(s(),n("div",ot,[o(I,{icon:"fa fas fa-file",size:24}),_("span",rt,k(v.value),1)])),_("div",_t,[o(N,{size:"tiny",quaternary:"",onClick:D},{default:b(()=>[o(I,{icon:"fa fas fa-exchange-alt"}),O[1]||(O[1]=A(" 更换 ",-1))]),_:1}),o(N,{size:"tiny",quaternary:"",type:"error",onClick:C},{default:b(()=>[o(I,{icon:"fa fas fa-trash-alt"}),O[2]||(O[2]=A(" 移除 ",-1))]),_:1})])])):(s(),n("div",{key:1,class:"aksrt-media-field__empty",onClick:D},[o(I,{icon:"fa fas fa-cloud-upload-alt",size:28}),_("span",null,k(e.placeholder),1)])),o(W,{value:e.modelValue,placeholder:"或直接输入 URL",size:"small",class:"aksrt-media-field__url","onUpdate:value":O[0]||(O[0]=R=>p("update:modelValue",R))},null,8,["value"])])}}},aa=te(pt,[["__scopeId","data-v-6a55ccc5"]]),yt={class:"aksrt-gallery-field"},ct={key:0,class:"aksrt-gallery-field__grid"},ft=["src","alt"],bt={key:1,class:"aksrt-gallery-field__placeholder"},mt={class:"aksrt-gallery-field__actions"},kt={key:1,class:"aksrt-gallery-field__empty"},ht={class:"aksrt-gallery-field__buttons"},vt={key:2,class:"aksrt-gallery-field__error"},gt={__name:"AksGalleryField",props:{modelValue:{type:Array,default:()=>[]},title:{type:String,default:"选择图片"}},emits:["update:modelValue"],setup(e,{emit:$}){const i=e,p=$,S=E({}),v=E("");let D=0;const C=H(()=>{const q=new Set;return i.modLine truncated
en|English
zh-TW|繁體中文
ja|日本語
ko|한국어
fr|Français
de|Deutsch
es|Español
ru|Русский`,i18n_nomenclature:"",i18n_url_strategy:"query"},groups:[{key:"basic",title:"基础配置",icon:"fa fas fa-globe",fields:[{key:"i18n_enabled",label:"启用多语言",type:"switch",default:!1,help:"开启后站点将支持多语言切换"},{key:"i18n_default_lang",label:"默认语言",type:"select",default:"zh-CN",options:[{label:"简体中文",value:"zh-CN"},{label:"English",value:"en"},{label:"繁體中文",value:"zh-TW"},{label:"日本語",value:"ja"},{label:"한국어",value:"ko"},{label:"Français",value:"fr"},{label:"Deutsch",value:"de"},{label:"Español",value:"es"},{label:"Русский",value:"ru"}],dependsOn:{key:"i18n_enabled",value:!0}},{key:"i18n_auto_detect",label:"自动检测浏览器语言",type:"switch",default:!0,dependsOn:{key:"i18n_enabled",value:!0},help:"基于浏览器 Accept-Language 自动切换(AKSRT 方案,区别于 legacy IP 定位方案)"}]},{key:"languages",title:"语言管理",icon:"fa fas fa-language",fields:[{key:"i18n_available_langs",label:"可用语言列表",type:"textarea",default:`zh-CN|简体中文
en|English
zh-TW|繁體中文
ja|日本語
ko|한국어
fr|Français
de|Deutsch
es|Español
ru|Русский`,dependsOn:{key:"i18n_enabled",value:!0},help:"每行一个语言:语言代码|显示名称(9 种内置语言)"},{key:"i18n_nomenclature",label:"自定义术语",type:"code",default:"",dependsOn:{key:"i18n_enabled",value:!0},help:"JSON 格式自定义翻译术语(key => 翻译),对齐 legacy nomenclature"}]},{key:"display",title:"展示设置",icon:"fa fas fa-eye",fields:[{key:"i18n_switcher_position",label:"语言切换器位置",type:"radio",default:"footer",options:[{label:"导航栏",value:"header"},{label:"页脚",value:"footer"},{label:"导航栏+页脚",value:"both"},{label:"隐藏",value:"none"}],dependsOn:{key:"i18n_enabled",value:!0}},{key:"i18n_url_strategy",label:"URL 策略",type:"radio",default:"query",options:[{label:"查询参数 (?lang=en)",value:"query"},{label:"路径前缀 (/en/page)",value:"path"},{label:"子域名 (en.site.com)",value:"subdomain"}],dependsOn:{key:"i18n_enabled",value:!0}}]}]},Nl={key:"global.custom-code",title:"自定义代码",icon:"fa fas fa-code",description:"自定义 CSS、JS 代码注入。",defaults:{custom_css:"",head_code:"",foot_code:"",trackcode:""},groups:[{key:"css",title:"自定义 CSS",icon:"fa fab fa-css3",fields:[{key:"custom_css",label:"自定义 CSS",type:"code",language:"css",placeholder:"/* 在此输入自定义 CSS */",rows:10,help:"将在页面 <head> 中加载"}]},{key:"code",title:"头部 & 底部代码",icon:"fa fas fa-code",fields:[{key:"head_code",label:"头部 HTML 代码",type:"code",placeholder:"<!-- 支持 meta/link/style/script 等任意 HTML -->",rows:6,help:"在 <head> 中输出,支持 meta/link/style/script 等任意 HTML"},{key:"foot_code",label:"底部 HTML 代码",type:"code",placeholder:"<!-- 在 </body> 前输出 -->",rows:6,help:"在页面底部 </body> 前输出,支持任意 HTML"}]},{key:"stats",title:"统计代码",icon:"fa fas fa-chart-bar",fields:[{key:"trackcode",label:"统计代码",type:"code",placeholder:"<!-- 百度统计 / GA / CNZZ / 51la -->",rows:6,help:"百度统计、Google Analytics、CNZZ、51la 等统计代码,自动在 head 中输出"}]}]},Hl={key:"global.seo",title:"SEO 优化",icon:"fa fas fa-search",description:"站点标题、描述、关键词与 AI SEO。AI 生成入口在文章「独立 SEO」框;连接配置在「扩展 → AI 连接配置」。优先使用 WordPress AI Connectors。",defaults:{seo_enabled:!0,seo_ai_enabled:!1,seo_connector:"-",seo_title:"",seo_keywords:"",seo_description:"",ai_seo_title_prompt:"",ai_seo_keywords_prompt:"",ai_seo_description_prompt:"",seo_baidu_push:!1,seo_baidu_normal:!1,seo_baidu_fast:!1,seo_baidu_token:"",seo_image_optimize:!0,seo_image_default:"",seo_image_always_default:!1,seo_auto_alt:!0,seo_go_link:!0,seo_go_link_nonce:!0,seo_go_link_post:!0,seo_go_link_exclude:"",seo_no_category:!1,seo_jsonld:!0,seo_jsonld_single:!0,seo_jsonld_page:!0},groups:[{key:"basic",title:"SEO 基础",icon:"fa fas fa-globe",fields:[{key:"seo_enabled",label:"启用核心 SEO 优化",type:"switch",default:!0,help:"关闭后主题不再输出 SEO title/description/keywords 等 head 标签。"},{key:"seo_ai_enabled",label:"启用 AI SEO 生成",type:"switch",default:!1,help:"开启后文章/分类「独立 SEO」框显示「AI 生成 SEO」按钮。需先配置 AI 连接(WP Connectors 或扩展 → AI 连接配置)。",dependsOn:{key:"seo_enabled",value:!0}},{key:"seo_connector",label:"标题连接符",type:"input",default:"-",placeholder:"例如:- 或 |",help:"AI 生成标题时会用此连接符追加站点名。"},{key:"seo_title",label:"站点 SEO 标题",type:"textarea",rows:2,default:""},{key:"seo_keywords",label:"站点 SEO 关键词",type:"textarea",rows:3,default:""},{key:"seo_description",label:"站点 SEO 描述",type:"textarea",rows:4,default:""}]},{key:"ai-seo",title:"AI SEO 提示词",icon:"fa fab fa-android",description:"留空则使用内置 原主题风格默认提示词。填写后作为 system instruction 覆盖默认。",fields:[{key:"ai_seo_title_prompt",label:"标题提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深的网站 SEO 编辑……直接输出标题文本本身,不要任何前缀、引号或解释。",help:"控制 AI 如何生成 SEO 标题。留空使用主题内置默认。"},{key:"ai_seo_keywords_prompt",label:"关键词提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深 SEO 编辑……使用英文逗号分隔,直接输出关键词列表。",help:"控制 AI 如何生成 meta keywords。留空使用主题内置默认。"},{key:"ai_seo_description_prompt",label:"描述提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深的中文 SEO 编辑……字数控制在 80 至 150 个汉字之间。",help:"控制 AI 如何生成 meta description。留空使用主题内置默认。"}]},{key:"baidu",title:"百度推送",ic Line truncated
详情请联系管理员`,user_verify_desc:"认证用户会在昵称后显示认证徽章,同时享受多种优先待遇。申请请确保信息属实。"},groups:[{key:"display",title:"公开展示",icon:"fa fas fa-eye",fields:[{key:"user_verify_enabled",label:"启用身份认证",type:"switch",default:!0},{key:"user_verify_public_display",label:"公开页显示认证徽标",type:"switch",default:!0,dependsOn:{key:"user_verify_enabled",value:!0}},{key:"user_verify_personal_badge_text",label:"个人认证徽标文案",type:"input",default:"个人认证",dependsOn:{key:"user_verify_public_display",value:!0}},{key:"user_verify_enterprise_badge_text",label:"企业认证徽标文案",type:"input",default:"企业认证",dependsOn:{key:"user_verify_public_display",value:!0}}]},{key:"workflow",title:"认证方式",icon:"fa fas fa-tasks",fields:[{type:"alert",content:"认证方式固定为个人认证和企业认证,申请人不可自行新增或修改类型。"}]},{key:"apply",title:"申请设置",icon:"fa fas fa-edit",fields:[{key:"user_verify_allow_apply",label:"允许用户前台申请",type:"switch",default:!0,dependsOn:{key:"user_verify_enabled",value:!0}},{key:"user_verify_disable_desc",label:"停用申请说明",type:"textarea",default:`由于系统正在维护,暂时无法申请身份认证
详情请联系管理员`,dependsOn:{key:"user_verify_allow_apply",value:!1}},{key:"user_verify_personal_fee",label:"个人认证每次扣余额(元)",type:"input",default:"0.00",help:"仅接受最多两位小数的十进制字符串。",dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_personal_free_applications",label:"个人认证赠送初始次数",type:"number",default:0,min:0,max:9999,help:"每位用户前 N 次个人认证申请免费,之后按单次费用扣余额。",dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_personal_require_real_name",label:"个人认证强制填写真实姓名",type:"switch",default:!1,dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_enterprise_fee",label:"企业认证每次扣余额(元)",type:"input",default:"0.00",help:"仅接受最多两位小数的十进制字符串。",dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_enterprise_free_applications",label:"企业认证赠送初始次数",type:"number",default:0,min:0,max:9999,help:"每位用户前 N 次企业认证申请免费,之后按单次费用扣余额。",dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_enterprise_require_real_name",label:"企业认证强制填写真实姓名",type:"switch",default:!1,dependsOn:{key:"user_verify_allow_apply",value:!0}},{key:"user_verify_desc",label:"申请介绍",type:"textarea",default:"认证用户会在昵称后显示认证徽章,同时享受多种优先待遇。申请请确保信息属实。",dependsOn:{key:"user_verify_allow_apply",value:!0}}]}]},ys={key:"users.wechat",title:"微信通知",icon:"fa fab fa-weixin",description:"配置微信模板消息、订阅/解绑和站外通知策略。",defaults:{wechat_notify_enabled:!1,wechat_app_id:"",wechat_app_secret:"",wechat_template_id:"",wechat_token:"",wechat_encoding_aes_key:"",wechat_notify_comment:!0,wechat_notify_reply:!0,wechat_notify_system:!0,wechat_bind_entry:!0},groups:[{key:"account",title:"公众号配置",icon:"fa fab fa-weixin",fields:[{key:"wechat_notify_enabled",label:"启用微信通知",type:"switch",default:!1,help:"开启后用户可绑定微信接收通知"},{key:"wechat_app_id",label:"AppID",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_app_secret",label:"AppSecret",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_template_id",label:"模板消息 ID",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0},help:"在微信公众平台申请的模板消息 ID"}]},{key:"verify",title:"服务器验证",icon:"fa fas fa-check-circle",fields:[{key:"wechat_token",label:"Token",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0},help:"微信公众平台服务器配置中的 Token"},{key:"wechat_encoding_aes_key",label:"EncodingAESKey",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}}]},{key:"triggers",title:"通知触发器",icon:"fa fas fa-bell",fields:[{key:"wechat_notify_comment",label:"新评论通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_notify_reply",label:"评论回复通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_notify_system",label:"系统通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_bind_entry",label:"显示绑定入口",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0},help:"在用户中心显示微信绑定/解绑按钮"}]}]},cs={key:"users.report",title:"禁封/举报",icon:"fa fas fa-flag",description:"配置举报入口、公开限制提示和后续治理分类,为封禁/举报流程预留稳定结构。",defaults:{user_report_enabled:!1,user_report_public_entry:!0,user_report_public_notice:!0,user_report_ban_notice_text:"当前账号处于限制状态,部分互动能力已关闭。",user_report_categories:`spam|垃圾信息
abuse|人身攻击
copyright|版权投诉`,ban_preset_reason:`spam|垃圾信息
abuse|人身攻击
violation|违规操作`,ban_appeal_desc:"",ban_appeal_keys:"",user_report_img_s:!0,user_report_desc:""},groups:[{key:"entry",title:"前台入口",icon:"fa fas fa-sign-in-alt",fields:[{key:"user_report_enabled",label:"启用举报/禁封结构",type:"switch",default:!1},{key:"user_report_public_entry",label:"公开主页展示举报入口",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_public_notice",label:"公开显示限制提示",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_ban_notice_text",label:"限制提示文案",type:"input",default:"当前账号处于限制状态,部分互动能力已关闭。",dependsOn:{key:"user_report_public_notice",value:!0}}]},{key:"taxonomy",title:"举报分类",icon:"fa fas fa-list",fields:[{key:"user_report_categories",label:"举报分类",type:"textarea",default:`spam|垃圾信息
abuse|人身攻击
copyright|版权投诉`,help:"每行一个分类:slug|显示名称",dependsOn:{key:"user_report_enabled",value:!0}}]},{key:"ban",title:"禁封设置",icon:"fa fas fa-ban",fields:[{key:"ban_preset_reason",label:"预设封禁原因",type:"textarea",default:`spam|垃圾信息
abuse|人身攻击
violation|违规操作`,help:"每行一条:slug|显示名称",dependsOn:{key:"user_report_enabled",value:!0}},{key:"ban_appeal_desc",label:"申诉说明",type:"textarea",default:"",dependsOn:{key:"user_report_enabled",value:!0}},{key:"ban_appeal_keys",label:"申诉关键词",type:"input",default:"",help:"逗号分隔",dependsOn:{key:"user_report_enabled",value:!0}}]},{key:"image",title:"图片举报",icon:"fa fas fa-image",fields:[{key:"user_report_img_s",label:"启用图片举报",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_desc",label:"举报说明",type:"textarea",default:"",dependsOn:{key:"user_report_img_s",value:!0}}]}]},fs={key:"users.sms",title:"短信接口",icon:"fa fas fa-comment",description:"配置短信验证码和短信通知服务的供应商、模板和限流策略。",defaults:{sms_enabled:!1,sms_provider:"aliyun",sms_number_limit_ch:!0,sms_access_key:"",sms_access_secret:"",sms_sign_name:"",sms_template_code:"",sms_code_length:6,sms_code_expire:300,sms_rate_limit:60,sms_daily_limit:10,sms_notify_bind:!0,sms_notify_login:!1,sms_notify_register:!0,sms_notify_reset_password:!0,sms_ali_api_type:"sms",sms_region_id:"cn-hangzhou",sms_tencent_app_id:"",sms_tencent_app_key:"",sms_tencent_secret_id:"",sms_tencent_secret_key:"",sms_tencent_region:"ap-guangzhou",sms_huawei_sender:"",sms_huawei_signature:"",sms_huawei_endpoint:"",sms_custom_url:"",sms_custom_method:"POST",sms_custom_auth_type:"header",sms_custom_auth_key:"",sms_custom_auth_value:"",sms_custom_headers:"",sms_custom_body:"",sms_custom_success_rule:""},groups:[{key:"provider",title:"供应商配置",icon:"fa fas fa-plug",fields:[{key:"sms_enabled",label:"启用短信服务",type:"switch",default:!1,help:"开启后支持短信验证码和短信通知"},{key:"sms_provider",label:"短信供应商",type:"select",default:"aliyun",options:[{label:"阿里云短信",value:"aliyun"},{label:"腾讯云短信",value:"tencent"},{label:"华为云短信",value:"huawei"},{label:"自定义接口",value:"custom"}],dependsOn:{key:"sms_enabled",value:!0}},{key:"sms_number_limit_ch",label:"仅发国内",type:"switch",default:!0,dependsOn:{key:"sms_enabled",value:!0},help:"开启后仅支持发送国内短信,关闭后可发送港澳台及国际短信"},{key:"sms_access_key",label:"AccessKey / SecretId / AppKey",type:"input",default:"",dependsOn:{key:"sms_enabled",value:!0},help:"阿里云填 AccessKey,腾讯云填 SecretId,华为云填 AppKey"},{key:"sms_access_secret",label:"AccessSecret / SecretKey / AppSecret",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_enabled",value:!0}}]},{key:"aliyun",title:"阿里云配置",icon:"fa fas fa-cloud",fields:[{key:"sms_ali_api_type",label:"接口类型",type:"radio",default:"sms",options:[{label:"短信服务",value:"sms"},{label:"号码认证",value:"verify"}],dependsOn:{key:"sms_provider",value:"aliyun"}},{key:"sms_region_id",label:"RegionId",type:"input",default:"cn-hangzhou",dependsOn:{key:"sms_provider",value:"aliyun"}}]},{key:"tencent",title:"腾讯云配置",icon:"fa fas fa-cloud",fields:[{key:"sms_tencent_app_id",label:"SdkAppId",type:"input",default:"",dependsOn:{key:"sms_provider",value:"tencent"},help:"腾讯云短信应用 ID"},{key:"sms_tencent_app_key",label:"AppKey",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_secret_id",label:"SecretId",type:"input",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_secret_key",label:"SecretKey",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_region",label:"地域",type:"input",default:"ap-guangzhou",dependsOn:{key:"sms_provider",value:"tencent"}}]},{key:"huawei",title:"华为云配置",icon:"fa fas fa-cloud",fields:[{key:"sms_huawei_sender",label:"通道号 (sender)",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"}},{key:"sms_huawei_signature",label:"短信签名",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"},help:"华为云短信签名内容"},{key:"sms_huawei_endpoint",label:"API Endpoint",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"},help:"留空使用默认 endpoint"}]},{key:"custom",title:"自定义接口配置",icon:"fa fas fa-plug",fields:[{key:"sms_custom_url",label:"请求 URL",type:"input",default:"",dependsOn:{key:"sms_provider",value:"custom"},help:"支持 {phone} {code} {time} 变量"},{key:"sms_custom_method",label:"请求方法",type:"select",default:"POST",options:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"}],dependsOn:{key:"sms_provider",value:"custom"}},{key:"sms_custom_auth_type",label:"鉴权方式",type:"select",default:"header",options:[{label:"Header",value:"header"}],dependsOn:{key:"sms_provider",value:"custom"}},{key:"sms_custom_auth_key",label:"鉴权 Header 名",type:"input",default:"",dependsOn:{key:"sms_provider Line truncated
98|108|推荐包`,pay_balance_product_name:"",pay_balance_price:0,pay_balance_tag:"元",pay_balance_tag_class:"",pay_balance_product_custom_s:!0,pay_balance_product_custom_limit:9999,pay_balance_transfer_s:!1,pay_balance_transfer_service_charge:0,pay_balance_transfer_desc:"",pay_balance_pass_charge_s:!1,pay_balance_pass_charge_desc:"",pay_balance_pass_charge_only_password:!1,pay_balance_points_exchange_s:!1,pay_balance_points_exchange_rate:100,pay_balance_points_exchange_min_points:100,pay_balance_points_exchange_daily_max_points:1e5,pay_balance_points_exchange_desc:""},groups:[{key:"basic",title:"充值开关",icon:"fa fas fa-credit-card",fields:[{key:"pay_balance_s",label:"启用余额功能",type:"switch",default:!0,help:"开启后用户中心显示现金钱包,并默认允许余额支付(可在收款接口单独关闭)。充值需另配支付宝/微信等外部网关。"},{key:"pay_balance_desc",label:"充值说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"packages",title:"充值套餐",icon:"fa fas fa-folder-open",fields:[{key:"pay_balance_product",label:"套餐列表",type:"textarea",default:`30|30|入门包
98|108|推荐包`,help:"每行一个套餐:支付金额|到账金额|标题",dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"product",title:"充值产品",icon:"fa fas fa-archive",fields:[{key:"pay_balance_product_name",label:"充值产品",type:"input",default:"",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_price",label:"充值价格",type:"number",default:0,min:0,max:99999,dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_tag",label:"价格标签",type:"input",default:"元",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_tag_class",label:"标签样式",type:"input",default:"",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_product_custom_s",label:"自定义金额",type:"switch",default:!0,dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_product_custom_limit",label:"自定义金额限制",type:"number",default:9999,min:1,max:99999,dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"transfer",title:"余额转账",icon:"fa fas fa-exchange-alt",fields:[{key:"pay_balance_transfer_s",label:"启用余额转账",type:"switch",default:!1},{key:"pay_balance_transfer_service_charge",label:"转账手续费(%)",type:"number",default:0,min:0,max:50,dependsOn:{key:"pay_balance_transfer_s",value:!0}},{key:"pay_balance_transfer_desc",label:"转账说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_transfer_s",value:!0}}]},{key:"pass-charge",title:"充值卡免扣",icon:"fa fas fa-ticket-alt",fields:[{key:"pay_balance_pass_charge_s",label:"启用余额卡密兑换",type:"switch",default:!1},{key:"pay_balance_pass_charge_desc",label:"卡密兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_pass_charge_s",value:!0}},{key:"pay_balance_pass_charge_only_password",label:"仅密码兑换",type:"switch",default:!1,dependsOn:{key:"pay_balance_pass_charge_s",value:!0}}]},{key:"exchange",title:"余额兑换积分",icon:"fa fas fa-database",fields:[{key:"pay_balance_points_exchange_s",label:"启用余额兑换积分",type:"switch",default:!1,dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_points_exchange_rate",label:"兑换比例",type:"number",default:100,min:1,max:1e4,help:"1 余额 = N 积分",dependsOn:{key:"pay_balance_points_exchange_s",value:!0}},{key:"pay_balance_points_exchange_min_points",label:"单笔最低购买积分",type:"number",default:100,min:1,max:1e7,dependsOn:{key:"pay_balance_points_exchange_s",value:!0}},{key:"pay_balance_points_exchange_daily_max_points",label:"每日最高购买积分",type:"number",default:1e5,min:1,max:1e7,dependsOn:{key:"pay_balance_points_exchange_s",value:!0}},{key:"pay_balance_points_exchange_desc",label:"兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_points_exchange_s",value:!0}}]}]},ks={key:"payment.vip",title:"VIP会员",icon:"fa fas fa-gem",description:"对齐 legacy 双级会员:分档套餐、权益、续费/升级与积分兑换。",defaults:{nav_pay_vip:!0,nav_user_pay_vip:!0,pay_user_vip_1_s:!0,pay_user_vip_1_name:"一级会员",pay_user_vip_1_desc:"尊享一级会员特权",pay_user_vip_1_equity:"<li>免费下载部分资源</li><li>会员专属身份标识</li><li>付费内容会员价</li>",vip_1_product_s:!0,payment_vip_1_products:`30|59|1|month|限时|月卡
98|199|3|month|特惠|季卡
365|599|12|month|超值|年卡
999|1299|0|day|永久|永久卡`,vip_1_img_icon:"",pay_user_vip_2_s:!0,pay_user_vip_2_name:"二级会员",pay_user_vip_2_desc:"尊享二级会员特权",pay_user_vip_2_equity:"<li>更高免费下载额度</li><li>更高等级身份标识</li><li>更多付费内容会员价</li>",vip_2_product_s:!0,payment_vip_2_products:`58|99|1|month|限时|月卡
168|299|3|month|特惠|季卡
598|999|12|month|超值|年卡
1299|1999|0|day|永久|永久卡`,vip_2_img_icon:"",pay_user_vip_desc:"",pay_user_vip_more:"",pay_download_limit:0,pay_download_limit_vip_1:0,pay_download_limit_vip_2:0,pay_vip_pass_charge_s:!1,pay_vip_pass_charge_desc:"",pay_vip_pass_charge_only_password:!0,pay_vip_points_exchange_s:!1,pay_vip_points_exchange_desc:"",payment_vip_points_packages:`1|500|30|积分月卡
1|5000|0|积分永久`,vip_renew:!0,vip_renew_desc:"",vip_renew_price_type:"discount",vip_renew_discount:8,vip_renew_reduce:"20.00",vip_upgrade:!0,vip_upgrade_desc:"",vip_upgrade_product:`unit|1|按剩余天数升级
jump|199|升级永久二级会员
permanent|299|永久一级升永久二级`},groups:[{key:"basic",title:"会员等级",icon:"fa fas fa-user",fields:[{key:"nav_pay_vip",label:"导航栏购买按钮",type:"switch",default:!0,help:"在顶部导航栏显示开通会员按钮;请注意顶部导航的整体宽度。"},{key:"nav_user_pay_vip",label:"用户框购买按钮",type:"switch",default:!0,help:"在导航栏用户框内显示开通会员按钮。"},{key:"pay_user_vip_1_s",label:"启用一级会员",type:"switch",default:!0},{key:"pay_user_vip_1_name",label:"一级会员名称",type:"input",default:"一级会员",dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_user_vip_1_desc",label:"一级会员一句话简介",type:"input",default:"尊享一级会员特权",dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_user_vip_1_equity",label:"一级会员权益 HTML",type:"textarea",default:"<li>免费下载部分资源</li><li>会员专属身份标识</li><li>付费内容会员价</li>",dependsOn:{key:"pay_user_vip_1_s",value:!0},help:"建议使用 <li> 列表项"},{key:"vip_1_img_icon",label:"一级会员图标 URL",type:"input",default:"",dependsOn:{key:"pay_user_vip_1_s",value:!0},help:"留空使用内置 vip-1.svg 图标"},{key:"pay_user_vip_2_s",label:"启用二级会员",type:"switch",default:!0},{key:"pay_user_vip_2_name",label:"二级会员名称",type:"input",default:"二级会员",dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_user_vip_2_desc",label:"二级会员一句话简介",type:"input",default:"尊享二级会员特权",dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_user_vip_2_equity",label:"二级会员权益 HTML",type:"textarea",default:"<li>更高免费下载额度</li><li>更高等级身份标识</li><li>更多付费内容会员价</li>",dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"vip_2_img_icon",label:"二级会员图标 URL",type:"input",default:"",dependsOn:{key:"pay_user_vip_2_s",value:!0},help:"留空使用内置 vip-2.svg 图标"},{key:"pay_user_vip_desc",label:"弹窗顶部会员说明",type:"textarea",default:""},{key:"pay_user_vip_more",label:"弹窗底部补充说明 HTML",type:"textarea",default:""}]},{key:"packages",title:"分档套餐",icon:"fa fas fa-gem",fields:[{key:"vip_1_product_s",label:"允许购买一级会员",type:"switch",default:!0,dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"payment_vip_1_products",label:"一级会员套餐",type:"textarea",default:`30|59|1|month|限时|月卡
98|199|3|month|特惠|季卡
365|599|12|month|超值|年卡
999|1299|0|day|永久|永久卡`,dependsOn:{key:"vip_1_product_s",value:!0},help:"每行:执行价|原价|时长|单位(day|month)|标签|标题;时长 0=永久"},{key:"vip_2_product_s",label:"允许购买二级会员",type:"switch",default:!0,dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"payment_vip_2_products",label:"二级会员套餐",type:"textarea",default:`58|99|1|month|限时|月卡
168|299|3|month|特惠|季卡
598|999|12|month|超值|年卡
1299|1999|0|day|永久|永久卡`,dependsOn:{key:"vip_2_product_s",value:!0},help:"每行:执行价|原价|时长|单位(day|month)|标签|标题;时长 0=永久"}]},{key:"points_exchange",title:"积分兑换会员",icon:"fa fas fa-database",fields:[{key:"pay_vip_points_exchange_s",label:"启用积分兑换",type:"switch",default:!1},{key:"payment_vip_points_packages",label:"兑换套餐",type:"textarea",default:`1|500|30|积分月卡
1|5000|0|积分永久`,dependsOn:{key:"pay_vip_points_exchange_s",value:!0},help:"每行:等级|积分|天数|标题(天数 0=永久;仅未开通会员可兑)"},{key:"pay_vip_points_exchange_desc",label:"兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_vip_points_exchange_s",value:!0}}]},{key:"benefit",title:"下载权益",icon:"fa fas fa-gift",fields:[{key:"pay_download_limit",label:"普通用户下载限制",type:"number",default:0,min:0,max:9999,help:"0为不限制"},{key:"pay_download_limit_vip_1",label:"一级会员下载限制",type:"number",default:0,min:0,max:9999,dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_download_limit_vip_2",label:"二级会员下载限制",type:"number",default:0,min:0,max:9999,dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_vip_pass_charge_s",label:"会员卡密兑换",type:"switch",default:!1},{key:"pay_vip_pass_charge_desc",label:"卡密兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_vip_pass_charge_s",value:!0}},{key:"pay_vip_pass_charge_only_password",label:"仅密码兑换",type:"switch",default:!0,dependsOn:{key:"pay_vip_pass_charge_s",value:!0},help:"开启后只需输入卡密;关闭则需卡号+卡密。"}]},{key:"renew",title:"续费设置",icon:"fa fas fa-sync-alt",fields:[{key:"vip_renew",label:"允许续费",type:"switch",default:!0},{key:"vip_renew_desc",label:"续费说明",type:"textarea",default:"",dependsOn:{key:"vip_renew",value:!0}},{key:"vip_renew_price_type",label:"续费价格类型",type:"radio",default:"discount",options:[{label:"相同价格",value:"same"},{label:"折扣价格",value:"discount"},{label:"优惠立减",value:"reduce"}],dependsOn:{key:"vip_renew",value:!0}},{key:"vip_renew_discount",label:"续费折扣(折,如 8=八折)",type:"number",default:8,min:1,max:100,dependsOn:{key:"vip_renew_price_type",value:"discount"}},{key:"vip_renew_reduce",label:"续费减免金额",type:"input",sanitize_type:"money_decimal",default:"20.00",min:0,max:9999,dependsOn:{key:"vip_renew_price_type",value:"reduce"}}]},{key:"upgrade",title:"升级设置",icon:"fa fas fa-arrow-up",fields:[{key:"vip_upgrade",label:"允许升级",type:"switch",default:!0},{key:"vip_upgrade_desc",label:"升级说明",type:"textarea",default:"",dependsOn:{key:"vip_upgrade",value:!0}},{key:"vip_upgrade_product",label:"升级产品",type:"textarea",default:`unit|1|按剩余天数升级
jump|199|升级永久二级会员
permanent|299|永久一级升永久二级`,dependsOn:{key:"vip_upgrade",value:!0},help:"每行一条。永久VIP1升级:permanent|价格|标题;按剩余天:unit|每日单价|标题;限时跳转永久:jump|价格|标题"}]}]},hs={key:"payment.revenue",title:"创作中心",icon:"fa fas fa-chart-line",description:"分别配置现金收益和积分收益的会员分成比例,结算周期结束后自动入账。",defaults:{pay_income_s:!1,payment_revenue_cycle_days:30,payment_revenue_note:"<p>订单完成并经过结算周期后,作者分成会自动转入对应的钱包。</p>",payment_revenue_cash_ratio_user:60,payment_revenue_cash_ratio_vip_1:70,payment_revenue_cash_ratio_vip_2:80,payment_revenue_points_ratio_user:0,payment_revenue_points_ratio_vip_1:0,payment_revenue_points_ratio_vip_2:0},groups:[{key:"basic",title:"创作中心设置",icon:"fa fas fa-cog",fields:[{key:"pay_income_s",label:"启用创作分成",type:"switch",default:!1},{key:"payment_revenue_cycle_days",label:"结算周期(天)",type:"number",default:30,min:1,max:365,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_note",label:"结算备注文案",type:"textarea",sanitize_type:"html",default:"<p>订单完成并经过结算周期后,作者分成会自动转入对应的钱包。</p>",help:"支持安全 HTML,结算后会展示在前台创作中心。",dependsOn:{key:"pay_income_s",value:!0}}]},{key:"cash",title:"现金收益分成",icon:"fa fas fa-credit-card",fields:[{key:"payment_revenue_cash_ratio_user",label:"普通用户分成比例(%)",type:"number",default:60,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_cash_ratio_vip_1",label:"一级会员分成比例(%)",type:"number",default:70,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_cash_ratio_vip_2",label:"二级会员分成比例(%)",type:"number",default:80,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}}]},{key:"points",title:"积分收益分成",icon:"fa fas fa-database",fields:[{key:"payment_revenue_points_ratio_user",label:"普通用户分成比例(%)",type:"number",default:0,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_points_ratio_vip_1",label:"一级会员分成比例(%)",type:"number",default:0,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_points_ratio_vip_2",label:"二级会员分成比例(%)",type:"number",default:0,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}}]}]},vs={key:"payment.affiliate",title:"推广返佣",icon:"fa fas fa-share-alt",description:"配置推广归因、分级佣金比例和结算规则。",defaults:{affiliate_enabled:!1,affiliate_ratio_user:5,affiliate_ratio_vip_1:5,affiliate_ratio_vip_2:5,affiliate_order_types:["membership","content"],affiliate_settlement_days:7,affiliate_promotion_text:""},groups:[{key:"policy",title:"返佣策略",icon:"fa fas fa-sitemap",fields:[{key:"affiliate_enabled",label:"启用推广返佣",type:"switch",default:!1},{key:"affiliate_ratio_user",label:"普通会员佣金比例(%)",type:"number",default:5,min:0,max:100,dependsOn:{key:"affiliate_enabled",value:!0}},{key:"affiliate_ratio_vip_1",label:"一级会员佣金比例(%)",type:"number",default:5,min:0,max:100,dependsOn:{key:"affiliate_enabled",value:!0}},{key:"affiliate_ratio_vip_2",label:"二级会员佣金比例(%)",type:"number",default:5,min:0,max:100,dependsOn:{key:"affiliate_enabled",value:!0}},{key:"affiliate_order_types",label:"适用订单类型",type:"checkbox",default:["membership","content"],sanitize_type:"array",options:[{label:"会员订单",value:"membership"},{label:"付费内容",value:"content"},{label:"购买积分",value:"credits"}],dependsOn:{key:"affiliate_enabled",value:!0}},{key:"affiliate_settlement_days",label:"结算观察期(天)",type:"number",default:7,min:0,max:90,dependsOn:{key:"affiliate_enabled",value:!0}}]},{key:"text",title:"文案设置",icon:"fa fas fa-pen",fields:[{key:"affiliate_promotion_text",label:"推广说明",type:"textarea",default:"",dependsOn:{key:"affiliate_enabled",value:!0}}]}]},gs={key:"payment.gateway",title:"收款接口",icon:"fa fas fa-credit-card",description:"管理已支持的收款通道:余额、支付宝、微信、PayPal、Stripe、易支付与卡密兑换。开启渠道后展开填写凭据。",defaults:{payment_wechat_enabled:!1,payment_alipay_enabled:!1,payment_paypal_enabled:!1,payment_stripe_enabled:!1,payment_epay_enabled:!1,payment_balance_enabled:!0,payment_card_pass_enabled:!1,wechat_merchantid:"",wechat_appid:"",wechat_payment_type:"native",wechat_api_v3_key:"",wechat_private_key_path:"",wechat_cert_path:"",alipay_appid:"",alipay_privatekey:"",alipay_payment_type:"page",alipay_app_public_cert_path:"",alipay_public_cert_path:"",alipay_root_cert_path:"",paypal_client_id:"",paypal_client_secret:"",paypal_currency:"USD",paypal_sandbox:!0,stripe_secret_key:"",stripe_publishable_key:"",stripe_webhook_secret:"",stripe_currency:"usd",stripe_tes Line truncated
@@ -0,0 +1,10 @@
import{S as Kr,U as Br,V as Hr}from"./vendor-vue.BxZIRU0_.js";var we={exports:{}};/**!
* Sortable 1.14.0
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*/function gr(l,r){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(l);r&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(l,e).enumerable})),n.push.apply(n,i)}return n}function Bt(l){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?gr(Object(n),!0).forEach(function(i){Wr(l,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):gr(Object(n)).forEach(function(i){Object.defineProperty(l,i,Object.getOwnPropertyDescriptor(n,i))})}return l}function Ue(l){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ue=function(r){return typeof r}:Ue=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ue(l)}function Wr(l,r,n){return r in l?Object.defineProperty(l,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[r]=n,l}function Mt(){return Mt=Object.assign||function(l){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(l[i]=n[i])}return l},Mt.apply(this,arguments)}function Xr(l,r){if(l==null)return{};var n={},i=Object.keys(l),e,f;for(f=0;f<i.length;f++)e=i[f],!(r.indexOf(e)>=0)&&(n[e]=l[e]);return n}function Vr(l,r){if(l==null)return{};var n=Xr(l,r),i,e;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(e=0;e<f.length;e++)i=f[e],!(r.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(l,i)&&(n[i]=l[i])}return n}function Yr(l){return zr(l)||Jr(l)||Qr(l)||Zr()}function zr(l){if(Array.isArray(l))return lr(l)}function Jr(l){if(typeof Symbol<"u"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function Qr(l,r){if(l){if(typeof l=="string")return lr(l,r);var n=Object.prototype.toString.call(l).slice(8,-1);if(n==="Object"&&l.constructor&&(n=l.constructor.name),n==="Map"||n==="Set")return Array.from(l);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lr(l,r)}}function lr(l,r){(r==null||r>l.length)&&(r=l.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=l[n];return i}function Zr(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var kr="1.14.0";function Ht(l){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(l)}var Wt=Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),De=Ht(/Edge/i),mr=Ht(/firefox/i),xe=Ht(/safari/i)&&!Ht(/chrome/i)&&!Ht(/android/i),Cr=Ht(/iP(ad|od|hone)/i),qr=Ht(/chrome/i)&&Ht(/android/i),Ar={capture:!1,passive:!1};function Z(l,r,n){l.addEventListener(r,n,!Wt&&Ar)}function Q(l,r,n){l.removeEventListener(r,n,!Wt&&Ar)}function We(l,r){if(r){if(r[0]===">"&&(r=r.substring(1)),l)try{if(l.matches)return l.matches(r);if(l.msMatchesSelector)return l.msMatchesSelector(r);if(l.webkitMatchesSelector)return l.webkitMatchesSelector(r)}catch{return!1}return!1}}function _r(l){return l.host&&l!==document&&l.host.nodeType?l.host:l.parentNode}function wt(l,r,n,i){if(l){n=n||document;do{if(r!=null&&(r[0]===">"?l.parentNode===n&&We(l,r):We(l,r))||i&&l===n)return l;if(l===n)break}while(l=_r(l))}return null}var yr=/\s+/g;function lt(l,r,n){if(l&&r)if(l.classList)l.classList[n?"add":"remove"](r);else{var i=(" "+l.className+" ").replace(yr," ").replace(" "+r+" "," ");l.className=(i+(n?" "+r:"")).replace(yr," ")}}function L(l,r,n){var i=l&&l.style;if(i){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(l,""):l.currentStyle&&(n=l.currentStyle),r===void 0?n:n[r];!(r in i)&&r.indexOf("webkit")===-1&&(r="-webkit-"+r),i[r]=n+(typeof n=="string"?"":"px")}}function ee(l,r){var n="";if(typeof l=="string")n=l;else do{var i=L(l,"transform");i&&i!=="none"&&(n=i+" "+n)}while(!r&&(l=l.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(n)}function Rr(l,r,n){if(l){var i=l.getElementsByTagName(r),e=0,f=i.length;if(n)for(;e<f;e++)n(i[e],e);return i}return[]}function Kt(){var l=document.scrollingElement;return l||document.documentElement}function at(l,r,n,i,e){if(!(!l.getBoundingClientRect&&l!==window)){var f,t,o,a,s,c,u;if(l!==window&&l.parentNode&&l!==Kt()?(f=l.getBoundingClientRect(),t=f.top,o=f.left,a=f.bottom,s=f.right,c=f.height,u=f.width):(t=0,o=0,a=window.innerHeight,s=window.innerWidth,c=window.innerHeight,u=window.innerWidth),(r||n)&&l!==window&&(e=e||l.parentNode,!Wt))do if(e&&e.getBoundingClientRect&&(L(e,"transform")!=="none"||n&&L(e,"position")!=="static")){var d=e.getBoundingClientRect();t-=d.top+parseInt(L(e,"border-top-width")),o-=d.left+parseInt(L(e,"border-left-width")),a=t+f.height,s=o+f.width;break}while(e=e.parentNode);if(i&&l!==window){var v=ee(e||l),h=v&&v.a,p=v&&v.d;v&&(t/=p,o/=h,u/=h,c/=p,a=t+c,s=o+u)}return{top:t,left:o,bottom:a,right:s,width:u,height:c}}}function Sr(l,r,n){for(var i=Qt(l,!0),e=at(l)[r];i;){var f=at(i)[n],t=void 0;if(t=e>=f,!t)return i;if(i===Kt())break;i=Qt(i,!1)}return!1}function se(l,r,n,i){for(var e=0,f=0,t=l.children;f<t.length;){if(t[f].style.display!=="none"&&t[f]!==B.ghost&&(i||t[f]!==B.dragged)&&wt(t[f],n.draggable,l,!1)){if(e===r)return t[f];e++}f++}return null}function dr(l,r){for(var n=l.lastElementChild;n&&(n===B.ghost||L(n,"display")==="none"||r&&!We(n,r));)n=n.previousElementSibling;return n||null}function dt(l,r){var n=0;if(!l||!l.parentNode)return-1;for(;l=l.previousElementSibling;)l.nodeName.toUpperCase()!=="TEMPLATE"&&l!==B.clone&&(!r||We(l,r))&&n++;return n}function br(l){var r=0,n=0,i=Kt();if(l)do{var e=ee(l),f=e.a,t=e.d;r+=l.scrollLeft*f,n+=l.scrollTop*t}while(l!==i&&(l=l.parentNode));return[r,n]}function tn(l,r){for(var n in l)if(l.hasOwnProperty(n)){for(var i in r)if(r.hasOwnProperty(i)&&r[i]===l[n][i])return Number(n)}return-1}function Qt(l,r){if(!l||!l.getBoundingClientRect)return Kt();var n=l,i=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var e=L(n);if(n.clientWidth<n.scrollWidth&&(e.overflowX=="auto"||e.overflowX=="scroll")||n.clientHeight<n.scrollHeight&&(e.overflowY=="auto"||e.overflowY=="scroll")){if(!n.getBoundingClientRect||n===document.body)return Kt();if(i||r)return n;i=!0}}while(n=n.parentNode);return Kt()}function en(l,r){if(l&&r)for(var n in r)r.hasOwnProperty(n)&&(l[n]=r[n]);return l}function ke(l,r){return Math.round(l.top)===Math.round(r.top)&&Math.round(l.left)===Math.round(r.left)&&Math.round(l.height)===Math.round(r.height)&&Math.round(l.width)===Math.round(r.width)}var Oe;function $r(l,r){return function(){if(!Oe){var n=arguments,i=this;n.length===1?l.call(i,n[0]):l.apply(i,n),Oe=setTimeout(function(){Oe=void 0},r)}}}function rn(){clearTimeout(Oe),Oe=void 0}function Nr(l,r,n){l.scrollLeft+=r,l.scrollTop+=n}function vr(l){var r=window.Polymer,n=window.jQuery||window.Zepto;return r&&r.dom?r.dom(l).cloneNode(!0):n?n(l).clone(!0)[0]:l.cloneNode(!0)}function Er(l,r){L(l,"position","absolute"),L(l,"top",r.top),L(l,"left",r.left),L(l,"width",r.width),L(l,"height",r.height)}function qe(l){L(l,"position",""),L(l,"top",""),L(l,"left",""),L(l,"width",""),L(l,"height","")}var Ot="Sortable"+new Date().getTime() Line truncated
`)&&(T="(?: "+T+")",M=" "+M,$++),x=new RegExp("^(?:"+T+")",w)),h&&(x=new RegExp("^"+T+"$(?!\\s)",w)),d&&(I=b.lastIndex),P=s.call(F?x:b,M),F?P?(P.input=P.input.slice($),P[0]=P[0].slice($),P.index=b.lastIndex,b.lastIndex+=P[0].length):b.lastIndex=0:d&&P&&(b.lastIndex=b.global?P.index+P[0].length:I),h&&P&&P.length>1&&c.call(P[0],x,function(){for(O=1;O<arguments.length-2;O++)arguments[O]===void 0&&(P[O]=void 0)}),P}),e.exports=u}),"94ca":(function(e,f,t){var o=t("d039"),a=/#|\.prototype\./,s=function(h,p){var g=u[c(h)];return g==v?!0:g==d?!1:typeof p=="function"?o(p):!!p},c=s.normalize=function(h){return String(h).replace(a,".").toLowerCase()},u=s.data={},d=s.NATIVE="N",v=s.POLYFILL="P";e.exports=s}),"99af":(function(e,f,t){var o=t("23e7"),a=t("d039"),s=t("e8b5"),c=t("861d"),u=t("7b0b"),d=t("50c4"),v=t("8418"),h=t("65f0"),p=t("1dde"),g=t("b622"),S=t("2d00"),b=g("isConcatSpreadable"),I=9007199254740991,x="Maximum allowed index exceeded",P=S>=51||!a(function(){var T=[];return T[b]=!1,T.concat()[0]!==T}),O=p("concat"),F=function(T){if(!c(T))return!1;var $=T[b];return $!==void 0?!!$:s(T)},w=!P||!O;o({target:"Array",proto:!0,forced:w},{concat:function($){var M=u(this),V=h(M,0),C=0,R,X,N,G,_;for(R=-1,N=arguments.length;R<N;R++)if(_=R===-1?M:arguments[R],F(_)){if(G=d(_.length),C+G>I)throw TypeError(x);for(X=0;X<G;X++,C++)X in _&&v(V,C,_[X])}else{if(C>=I)throw TypeError(x);v(V,C++,_)}return V.length=C,V}})}),"9bdd":(function(e,f,t){var o=t("825a");e.exports=function(a,s,c,u){try{return u?s(o(c)[0],c[1]):s(c)}catch(v){var d=a.return;throw d!==void 0&&o(d.call(a)),v}}}),"9bf2":(function(e,f,t){var o=t("83ab"),a=t("0cfb"),s=t("825a"),c=t("c04e"),u=Object.defineProperty;f.f=o?u:function(v,h,p){if(s(v),h=c(h,!0),s(p),a)try{return u(v,h,p)}catch{}if("get"in p||"set"in p)throw TypeError("Accessors not supported");return"value"in p&&(v[h]=p.value),v}}),"9ed3":(function(e,f,t){var o=t("ae93").IteratorPrototype,a=t("7c73"),s=t("5c6c"),c=t("d44e"),u=t("3f8c"),d=function(){return this};e.exports=function(v,h,p){var g=h+" Iterator";return v.prototype=a(o,{next:s(1,p)}),c(v,g,!1,!0),u[g]=d,v}}),"9f7f":(function(e,f,t){var o=t("d039");function a(s,c){return RegExp(s,c)}f.UNSUPPORTED_Y=o(function(){var s=a("a","y");return s.lastIndex=2,s.exec("abcd")!=null}),f.BROKEN_CARET=o(function(){var s=a("^r","gy");return s.lastIndex=2,s.exec("str")!=null})}),a2bf:(function(e,f,t){var o=t("e8b5"),a=t("50c4"),s=t("0366"),c=function(u,d,v,h,p,g,S,b){for(var I=p,x=0,P=S?s(S,b,3):!1,O;x<h;){if(x in v){if(O=P?P(v[x],x,d):v[x],g>0&&o(O))I=c(u,d,O,a(O.length),I,g-1)-1;else{if(I>=9007199254740991)throw TypeError("Exceed the acceptable array length");u[I]=O}I++}x++}return I};e.exports=c}),a352:(function(e,f){e.exports=i}),a434:(function(e,f,t){var o=t("23e7"),a=t("23cb"),s=t("a691"),c=t("50c4"),u=t("7b0b"),d=t("65f0"),v=t("8418"),h=t("1dde"),p=t("ae40"),g=h("splice"),S=p("splice",{ACCESSORS:!0,0:0,1:2}),b=Math.max,I=Math.min,x=9007199254740991,P="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!g||!S},{splice:function(F,w){var T=u(this),$=c(T.length),M=a(F,$),V=arguments.length,C,R,X,N,G,_;if(V===0?C=R=0:V===1?(C=0,R=$-M):(C=V-2,R=I(b(s(w),0),$-M)),$+C-R>x)throw TypeError(P);for(X=d(T,R),N=0;N<R;N++)G=M+N,G in T&&v(X,N,T[G]);if(X.length=R,C<R){for(N=M;N<$-R;N++)G=N+R,_=N+C,G in T?T[_]=T[G]:delete T[_];for(N=$;N>$-R+C;N--)delete T[N-1]}else if(C>R)for(N=$-R;N>M;N--)G=N+R-1,_=N+C-1,G in T?T[_]=T[G]:delete T[_];for(N=0;N<C;N++)T[N+M]=arguments[N+2];return T.length=$-R+C,X}})}),a4d3:(function(e,f,t){var o=t("23e7"),a=t("da84"),s=t("d066"),c=t("c430"),u=t("83ab"),d=t("4930"),v=t("fdbf"),h=t("d039"),p=t("5135"),g=t("e8b5"),S=t("861d"),b=t("825a"),I=t("7b0b"),x=t("fc6a"),P=t("c04e"),O=t("5c6c"),F=t("7c73"),w=t("df75"),T=t("241c"),$=t("057f"),M=t("7418"),V=t("06cf"),C=t("9bf2"),R=t("d1e7"),X=t("9112"),N=t("6eeb"),G=t("5692"),_=t("f772"),rt=t("d012"),yt=t("90e3"),st=t("b622"),ft=t("e538"),gt=t("746f"),mt=t("d44e"),ht=t("69f3"),nt=t("b727").forEach,it=_("hidden"),At="Symbol",Tt="prototype",Xt=st("toPrimitive"),Zt=ht.set,Vt=ht.getterFor(At),St=Object[Tt],bt=a.Symbol,kt=s("JSON","stringify"),Ut=V.f,Gt=C.f,Ae=$.f,Qe=R.f,jt=G("symbols"),Yt=G("op-symbols"),re=G("string-to-symbol-registry"),fe=G("symbol-to-string-registry"),ue=G("wks"),ce=a.QObject,de=!ce||!ce[Tt]||!ce[Tt].findChild,ve=u&&h(function(){return F(Gt({},"a",{get:function(){return Gt(this,"a",{value:7}).a}})).a!=7})?function(W,U,K){var k=Ut(St,U);k&&delete St[U],Gt(W,U,K),k&&W!==St&&Gt(St,U,k)}:Gt,he=function(W,U){var K=jt[W]=F(bt[Tt]);return Zt(K,{type:At,tag:W,description:U}),u||(K.description=U),K},y=v?function(W){return typeof W=="symbol"}:function(W){return Object(W)instanceof bt},m=function(U,K,k){U===St&&m(Yt,K,k),b(U);var q=P(K,!0);return b(k),p(jt,q)?(k.enumerable?(p(U,it)&&U[it][q]&&(U[it][q]=!1),k=F(k,{enumerable:O(0,!1)})):(p(U,it)||Gt(U,it,O(1,{})),U[it][q]=!0),ve(U,q,k)):Gt(U,q,k)},E=function(U,K){b(U);var k=x(K),q=w(k).concat(tt(k));return nt(q,function(Pt){(!u||j.call(k,Pt Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function b(y,m){return v(y)||h(y,m)||g(y,m)||S()}function I(y){if(Array.isArray(y))return p(y)}function x(y){if(typeof Symbol<"u"&&Symbol.iterator in Object(y))return Array.from(y)}function P(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O(y){return I(y)||x(y)||g(y)||P()}var F=t("a352"),w=t.n(F);function T(y){y.parentElement!==null&&y.parentElement.removeChild(y)}function $(y,m,E){var D=E===0?y.children[0]:y.children[E-1].nextSibling;y.insertBefore(m,D)}var M=t("dbf1");t("13d5"),t("4fad"),t("ac1f"),t("5319");function V(y){var m=Object.create(null);return function(D){var j=m[D];return j||(m[D]=y(D))}}var C=/-(\w)/g,R=V(function(y){return y.replace(C,function(m,E){return E.toUpperCase()})});t("5db7"),t("73d9");var X=["Start","Add","Remove","Update","End"],N=["Choose","Unchoose","Sort","Filter","Clone"],G=["Move"],_=[G,X,N].flatMap(function(y){return y}).map(function(y){return"on".concat(y)}),rt={manage:G,manageAndEmit:X,emit:N};function yt(y){return _.indexOf(y)!==-1}t("caad"),t("2ca0");var st=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];function ft(y){return st.includes(y)}function gt(y){return["transition-group","TransitionGroup"].includes(y)}function mt(y){return["id","class","role","style"].includes(y)||y.startsWith("data-")||y.startsWith("aria-")||y.startsWith("on")}function ht(y){return y.reduce(function(m,E){var D=b(E,2),j=D[0],H=D[1];return m[j]=H,m},{})}function nt(y){var m=y.$attrs,E=y.componentData,D=E===void 0?{}:E,j=ht(Object.entries(m).filter(function(H){var J=b(H,2),tt=J[0];return J[1],mt(tt)}));return d(d({},j),D)}function it(y){var m=y.$attrs,E=y.callBackBuilder,D=ht(At(m));Object.entries(E).forEach(function(H){var J=b(H,2),tt=J[0],vt=J[1];rt[tt].forEach(function(W){D["on".concat(W)]=vt(W)})});var j="[data-draggable]".concat(D.draggable||"");return d(d({},D),{},{draggable:j})}function At(y){return Object.entries(y).filter(function(m){var E=b(m,2),D=E[0];return E[1],!mt(D)}).map(function(m){var E=b(m,2),D=E[0],j=E[1];return[R(D),j]}).filter(function(m){var E=b(m,2),D=E[0];return E[1],!yt(D)})}t("c740");function Tt(y,m){if(!(y instanceof m))throw new TypeError("Cannot call a class as a function")}function Xt(y,m){for(var E=0;E<m.length;E++){var D=m[E];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(y,D.key,D)}}function Zt(y,m,E){return m&&Xt(y.prototype,m),y}var Vt=function(m){var E=m.el;return E},St=function(m,E){return m.__draggable_context=E},bt=function(m){return m.__draggable_context},kt=(function(){function y(m){var E=m.nodes,D=E.header,j=E.default,H=E.footer,J=m.root,tt=m.realList;Tt(this,y),this.defaultNodes=j,this.children=[].concat(O(D),O(j),O(H)),this.externalComponent=J.externalComponent,this.rootTransition=J.transition,this.tag=J.tag,this.realList=tt}return Zt(y,[{key:"render",value:function(E,D){var j=this.tag,H=this.children,J=this._isRootComponent,tt=J?{default:function(){return H}}:H;return E(j,D,tt)}},{key:"updated",value:function(){var E=this.defaultNodes,D=this.realList;E.forEach(function(j,H){St(Vt(j),{element:D[H],index:H})})}},{key:"getUnderlyingVm",value:function(E){return bt(E)}},{key:"getVmIndexFromDomIndex",value:function(E,D){var j=this.defaultNodes,H=j.length,J=D.children,tt=J.item(E);if(tt===null)return H;var vt=bt(tt);if(vt)return vt.index;if(H===0)return 0;var W=Vt(j[0]),U=O(J).findIndex(function(K){return K===W});return E<U?0:H}},{key:"_isRootComponent",get:function(){return this.externalComponent||this.rootTransition}}]),y})(),Ut=t("8bbf");function Gt(y,m){var E=y[m];return E?E():[]}function Ae(y){var m=y.$slots,E=y.realList,D=y.getKey,j=E||[],H=["header","footer"].map(function(K){return Gt(m,K)}),J=b(H,2),tt=J[0],vt=J[1],W=m.item;if(!W)throw new Error("draggable element must have an item slot");var U=j.flatMap(function(K,k){return W({element:K,index:k}).map(function(q){return q.key=D(K),q.props=d(d({},q.props||{}),{},{"data-draggable":!0}),q})});if(U.length!==j.length)throw new Error("Item slot must have only one child");return{header:tt,footer:vt,default:U}}function Qe(y){var m=gt(y),E=!ft(y)&&!m;return{transition:m,externalComponent:E,tag:E?Object(Ut.resolveComponent)(y):m?Ut.TransitionGroup:y}}function jt(y){var m=y.$slots,E=y.tag,D=y.realList,j=y.getKey,H=Ae({$slots:m,realList:D,getKey:j}),J=Qe(E);return new kt({nodes:H,root:J,realList:D})}function Y Line truncated
@@ -0,0 +1,48 @@
var Xb=Object.defineProperty;var Eb=(n,e,t)=>e in n?Xb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var _=(n,e,t)=>Eb(n,typeof e!="symbol"?e+"":e,t);import{r as ce,a as bn,w as Jt,c as it,g as Fc,o as ni,b as an,d as Gc,e as Db,f as _b,F as Op,C as zb,h as qt,p as pp,i as Fr,j as mp,k as Me,T as Yb,t as Bn,n as gp,l as yp,m as Wb,q as jb,s as Ib}from"./vendor-vue.BxZIRU0_.js";function V_(n){let e=".",t="__",i="--",r;if(n){let O=n.blockPrefix;O&&(e=O),O=n.elementPrefix,O&&(t=O),O=n.modifierPrefix,O&&(i=O)}const s={install(O){r=O.c;const p=O.context;p.bem={},p.bem.b=null,p.bem.els=null}};function o(O){let p,m;return{before(g){p=g.bem.b,m=g.bem.els,g.bem.els=null},after(g){g.bem.b=p,g.bem.els=m},$({context:g,props:b}){return O=typeof O=="string"?O:O({context:g,props:b}),g.bem.b=O,`${(b==null?void 0:b.bPrefix)||e}${g.bem.b}`}}}function a(O){let p;return{before(m){p=m.bem.els},after(m){m.bem.els=p},$({context:m,props:g}){return O=typeof O=="string"?O:O({context:m,props:g}),m.bem.els=O.split(",").map(b=>b.trim()),m.bem.els.map(b=>`${(g==null?void 0:g.bPrefix)||e}${m.bem.b}${t}${b}`).join(", ")}}}function l(O){return{$({context:p,props:m}){O=typeof O=="string"?O:O({context:p,props:m});const g=O.split(",").map(v=>v.trim());function b(v){return g.map(S=>`&${(m==null?void 0:m.bPrefix)||e}${p.bem.b}${v!==void 0?`${t}${v}`:""}${i}${S}`).join(", ")}const x=p.bem.els;return x!==null?b(x[0]):b()}}}function c(O){return{$({context:p,props:m}){O=typeof O=="string"?O:O({context:p,props:m});const g=p.bem.els;return`&:not(${(m==null?void 0:m.bPrefix)||e}${p.bem.b}${g!==null&&g.length>0?`${t}${g[0]}`:""}${i}${O})`}}}return Object.assign(s,{cB:((...O)=>r(o(O[0]),O[1],O[2])),cE:((...O)=>r(a(O[0]),O[1],O[2])),cM:((...O)=>r(l(O[0]),O[1],O[2])),cNotM:((...O)=>r(c(O[0]),O[1],O[2]))}),s}function Lb(n){let e=0;for(let t=0;t<n.length;++t)n[t]==="&"&&++e;return e}const bp=/\s*,(?![^(]*\))\s*/g,qb=/\s+/g;function Bb(n,e){const t=[];return e.split(bp).forEach(i=>{let r=Lb(i);if(r){if(r===1){n.forEach(o=>{t.push(i.replace("&",o))});return}}else{n.forEach(o=>{t.push((o&&o+" ")+i)});return}let s=[i];for(;r--;){const o=[];s.forEach(a=>{n.forEach(l=>{o.push(a.replace("&",l))})}),s=o}s.forEach(o=>t.push(o))}),t}function Vb(n,e){const t=[];return e.split(bp).forEach(i=>{n.forEach(r=>{t.push((r&&r+" ")+i)})}),t}function Nb(n){let e=[""];return n.forEach(t=>{t=t&&t.trim(),t&&(t.includes("&")?e=Bb(e,t):e=Vb(e,t))}),e.join(", ").replace(qb," ")}function Oh(n){if(!n)return;const e=n.parentElement;e&&e.removeChild(n)}function Fo(n,e){return(e??document.head).querySelector(`style[cssr-id="${n}"]`)}function Fb(n){const e=document.createElement("style");return e.setAttribute("cssr-id",n),e}function as(n){return n?/^\s*@(s|m)/.test(n):!1}const Gb=/[A-Z]/g;function xp(n){return n.replace(Gb,e=>"-"+e.toLowerCase())}function Ub(n,e=" "){return typeof n=="object"&&n!==null?` {
`+Object.entries(n).map(t=>e+` ${xp(t[0])}: ${t[1]};`).join(`
`)+`
`+e+"}":`: ${n};`}function Hb(n,e,t){return typeof n=="function"?n({context:e.context,props:t}):n}function ph(n,e,t,i){if(!e)return"";const r=Hb(e,t,i);if(!r)return"";if(typeof r=="string")return`${n} {
${r}
}`;const s=Object.keys(r);if(s.length===0)return t.config.keepEmptyBlock?n+` {
}`:"";const o=n?[n+" {"]:[];return s.forEach(a=>{const l=r[a];if(a==="raw"){o.push(`
`+l+`
`);return}a=xp(a),l!=null&&o.push(` ${a}${Ub(l)}`)}),n&&o.push("}"),o.join(`
`)}function Cl(n,e,t){n&&n.forEach(i=>{if(Array.isArray(i))Cl(i,e,t);else if(typeof i=="function"){const r=i(e);Array.isArray(r)?Cl(r,e,t):r&&t(r)}else i&&t(i)})}function wp(n,e,t,i,r){const s=n.$;let o="";if(!s||typeof s=="string")as(s)?o=s:e.push(s);else if(typeof s=="function"){const c=s({context:i.context,props:r});as(c)?o=c:e.push(c)}else if(s.before&&s.before(i.context),!s.$||typeof s.$=="string")as(s.$)?o=s.$:e.push(s.$);else if(s.$){const c=s.$({context:i.context,props:r});as(c)?o=c:e.push(c)}const a=Nb(e),l=ph(a,n.props,i,r);o?t.push(`${o} {`):l.length&&t.push(l),n.children&&Cl(n.children,{context:i.context,props:r},c=>{if(typeof c=="string"){const u=ph(a,{raw:c},i,r);t.push(u)}else wp(c,e,t,i,r)}),e.pop(),o&&t.push("}"),s&&s.after&&s.after(i.context)}function Kb(n,e,t){const i=[];return wp(n,[],i,e,t),i.join(`
`)}function Jb(n){for(var e=0,t,i=0,r=n.length;r>=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}typeof window<"u"&&(window.__cssrContext={});function e1(n,e,t,i){const{els:r}=e;if(t===void 0)r.forEach(Oh),e.els=[];else{const s=Fo(t,i);s&&r.includes(s)&&(Oh(s),e.els=r.filter(o=>o!==s))}}function mh(n,e){n.push(e)}function t1(n,e,t,i,r,s,o,a,l){let c;if(t===void 0&&(c=e.render(i),t=Jb(c)),l){l.adapter(t,c??e.render(i));return}a===void 0&&(a=document.head);const u=Fo(t,a);if(u!==null&&!s)return u;const h=u??Fb(t);if(c===void 0&&(c=e.render(i)),h.textContent=c,u!==null)return u;if(o){const f=a.querySelector(`meta[name="${o}"]`);if(f)return a.insertBefore(h,f),mh(e.els,h),h}return r?a.insertBefore(h,a.querySelector("style, link")):a.appendChild(h),mh(e.els,h),h}function n1(n){return Kb(this,this.instance,n)}function i1(n={}){const{id:e,ssr:t,props:i,head:r=!1,force:s=!1,anchorMetaName:o,parent:a}=n;return t1(this.instance,this,e,i,r,s,o,a,t)}function r1(n={}){const{id:e,parent:t}=n;e1(this.instance,this,e,t)}const ls=function(n,e,t,i){return{instance:n,$:e,props:t,children:i,els:[],render:n1,mount:i1,unmount:r1}},s1=function(n,e,t,i){return Array.isArray(e)?ls(n,{$:null},null,e):Array.isArray(t)?ls(n,e,null,t):Array.isArray(i)?ls(n,e,t,i):ls(n,e,t,null)};function o1(n={}){const e={c:((...t)=>s1(e,...t)),use:(t,...i)=>t.install(e,...i),find:Fo,context:{},config:n};return e}function N_(n,e){if(n===void 0)return!1;if(e){const{context:{ids:t}}=e;return t.has(n)}return Fo(n)!==null}let ro=[];const vp=new WeakMap;function a1(){ro.forEach(n=>n(...vp.get(n))),ro=[]}function Sp(n,...e){vp.set(n,e),!ro.includes(n)&&ro.push(n)===1&&requestAnimationFrame(a1)}function l1(n){return n.nodeType===9?null:n.parentNode}function c1(n){if(n===null)return null;const e=l1(n);if(e===null)return null;if(e.nodeType===9)return document.documentElement;if(e.nodeType===1){const{overflow:t,overflowX:i,overflowY:r}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+r+i))return e}return c1(e)}function F_(n){return typeof n=="string"?document.querySelector(n):typeof n=="function"?n():n}function G_(n,e){let{target:t}=n;for(;t;){if(t.dataset&&t.dataset[e]!==void 0)return!0;t=t.parentElement}return!1}function u1(n){return n.composedPath()[0]||null}function h1(n){if(typeof n=="number")return{"":n.toString()};const e={};return n.split(/ +/).forEach(t=>{if(t==="")return;const[i,r]=t.split(":");r===void 0?e[""]=i:e[i]=r}),e}function U_(n,e){var t;if(n==null)return;const i=h1(n);if(e===void 0)return i[""];if(typeof e=="string")return(t=i[e])!==null&&t!==void 0?t:i[""];if(Array.isArray(e)){for(let r=e.length-1;r>=0;--r){const s=e[r];if(s in i)return i[s]}return i[""]}else{let r,s=-1;return Object.keys(i).forEach(o=>{const a=Number(o);!Number.isNaN(a)&&e>=a&&a>=s&&(s=a,r=i[o])}),r}}function gh(n){return typeof n=="string"?n.endsWith("px")?Number(n.slice(0,n.length-2)):Number(n):n}function Ui(n){if(n!=null)return typeof n=="number"?`${n}px`:n.endsWith("px")?n:`${n}px`}function H_(n,e){const t=n.trim().split(/\s+/g),i={top:t[0]};switch(t.length){case 1:i.right=t[0],i.bottom=t[0],i.left=t[0];break;case 2:i.right=t[1],i.left=t[1],i.bottom=t[0];break;case 3:i.right=t[1],i.bottom=t[2],i.left=t[1];break;case 4:i.right=t[1],i.bottom=t[2],i.left=t[3];break;default:throw new Error("[seemly/getMargin]:"+n+" is not a valid value.")}return e===void 0?i:i[e]}function K_(n,e){const[t,i]=n.split(" ");return{row:t,col:i||t}}const yh={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:" Line truncated
${e}
</style>`}function I1(n,e,t){const{styles:i,ids:r}=t;r.has(n)||i!==null&&(r.add(n),i.push(j1(n,e)))}const L1=typeof document<"u";function Uo(){if(L1)return;const n=Fr(W1,null);if(n!==null)return{adapter:(e,t)=>I1(e,t,n),context:n}}function Qh(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:Xt}=o1(),Ho="vueuc-style";function $h(n){return n&-n}class Ap{constructor(e,t){this.l=e,this.min=t;const i=new Array(e+1);for(let r=0;r<e+1;++r)i[r]=0;this.ft=i}add(e,t){if(t===0)return;const{l:i,ft:r}=this;for(e+=1;e<=i;)r[e]+=t,e+=$h(e)}get(e){return this.sum(e+1)-this.sum(e)}sum(e){if(e===void 0&&(e=this.l),e<=0)return 0;const{ft:t,min:i,l:r}=this;if(e>r)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let s=e*i;for(;e>0;)s+=t[e],e-=$h(e);return s}getBound(e){let t=0,i=this.l;for(;i>t;){const r=Math.floor((t+i)/2),s=this.sum(r);if(s>e){i=r;continue}else if(s<e){if(t===r)return this.sum(t+1)<=e?t+1:r;t=r}else return r}return t}}function kh(n){return typeof n=="string"?document.querySelector(n):n()||null}const q1=qt({name:"LazyTeleport",props:{to:{type:[String,Object],default:void 0},disabled:Boolean,show:{type:Boolean,required:!0}},setup(n){return{showTeleport:P1(Bn(n,"show")),mergedTo:it(()=>{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?Al("lazy-teleport",this.$slots):Me(Yb,{disabled:this.disabled,to:this.mergedTo},Al("lazy-teleport",this.$slots)):null}}),hs={top:"bottom",bottom:"top",left:"right",right:"left"},Ph={start:"end",center:"center",end:"start"},$a={top:"height",bottom:"height",left:"width",right:"width"},B1={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},V1={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},N1={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},Th={top:!0,bottom:!1,left:!0,right:!1},Ch={top:"end",bottom:"start",left:"end",right:"start"};function F1(n,e,t,i,r,s){if(!r||s)return{placement:n,top:0,left:0};const[o,a]=n.split("-");let l=a??"center",c={top:0,left:0};const u=(d,O,p)=>{let m=0,g=0;const b=t[d]-e[O]-e[d];return b>0&&i&&(p?g=Th[O]?b:-b:m=Th[O]?b:-b),{left:m,top:g}},h=o==="left"||o==="right";if(l!=="center"){const d=N1[n],O=hs[d],p=$a[d];if(t[p]>e[p]){if(e[d]+e[p]<t[p]){const m=(t[p]-e[p])/2;e[d]<m||e[O]<m?e[d]<e[O]?(l=Ph[a],c=u(p,O,h)):c=u(p,d,h):l="center"}}else t[p]<e[p]&&e[O]<0&&e[d]>e[O]&&(l=Ph[a])}else{const d=o==="bottom"||o==="top"?"left":"top",O=hs[d],p=$a[d],m=(t[p]-e[p])/2;(e[d]<m||e[O]<m)&&(e[d]>e[O]?(l=Ch[d],c=u(p,d,h)):(l=Ch[O],c=u(p,O,h)))}let f=o;return e[o]<t[$a[o]]&&e[o]<e[hs[o]]&&(f=hs[o]),{placement:l!=="center"?`${f}-${l}`:f,left:c.left,top:c.top}}function G1(n,e){return e?V1[n]:B1[n]}function U1(n,e,t,i,r,s){if(s)switch(n){case"bottom-start":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-100%)"};case"bottom-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-100%)"};case"top-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left)}px`,transform:""};case"top-end":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%)"};case"right-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%)"};case"right-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-100%)"};case"left-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left)}px`,transform:""};case"left-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-100%)"};case"top":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width/2)}px`,transform:"translateX(-50%)"};case"right":return{top:`${Math.round(t.top-e.top+t.height/2)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-50%)"};case"left":return{top:`${Math.round(t.top-e.top+t.height/2)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-50%)"};case"bottom":default:return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width/2)}px`,transform:"translateX(-50%) translateY(-100%)"}}switch(n){case"bottom-start":return{top:`${Math.round(t.top-e.top+t.hLine truncated
(?:
(?:`+i+":){7}(?:"+i+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
(?:`+i+":){6}(?:"+t+"|:"+i+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
(?:`+i+":){5}(?::"+t+"|(?::"+i+`){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
(?:`+i+":){4}(?:(?::"+i+"){0,1}:"+t+"|(?::"+i+`){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
(?:`+i+":){3}(?:(?::"+i+"){0,2}:"+t+"|(?::"+i+`){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
(?:`+i+":){2}(?:(?::"+i+"){0,3}:"+t+"|(?::"+i+`){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
(?:`+i+":){1}(?:(?::"+i+"){0,4}:"+t+"|(?::"+i+`){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
(?::(?:(?::`+i+"){0,5}:"+t+"|(?::"+i+`){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
`).replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),s=new RegExp("(?:^"+t+"$)|(?:^"+r+"$)"),o=new RegExp("^"+t+"$"),a=new RegExp("^"+r+"$"),l=function(v){return v&&v.exact?s:new RegExp("(?:"+e(v)+t+e(v)+")|(?:"+e(v)+r+e(v)+")","g")};l.v4=function(x){return x&&x.exact?o:new RegExp(""+e(x)+t+e(x),"g")},l.v6=function(x){return x&&x.exact?a:new RegExp(""+e(x)+r+e(x),"g")};var c="(?:(?:[a-z]+:)?//)",u="(?:\\S+(?::\\S*)?@)?",h=l.v4().source,f=l.v6().source,d="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",O="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",p="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",m="(?::\\d{2,5})?",g='(?:[/?#][^\\s"]*)?',b="(?:"+c+"|www\\.)"+u+"(?:localhost|"+h+"|"+f+"|"+d+O+p+")"+m+g;return ys=new RegExp("(?:^"+b+"$)","i"),ys}),Vf={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hr={integer:function(e){return hr.number(e)&&parseInt(e,10)===e},float:function(e){return hr.number(e)&&!hr.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return typeof e=="object"&&!hr.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(Vf.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(TC())},hex:function(e){return typeof e=="string"&&!!e.match(Vf.hex)}},CC=function(e,t,i,r,s){if(e.required&&t===void 0){Jm(e,t,i,r,s);return}var o=["integer","float","array","regexp","object","method","email","number","date","url","hex"],a=e.type;o.indexOf(a)>-1?hr[a](t)||r.push(st(s.messages.types[a],e.fullField,e.type)):a&&typeof t!==e.type&&r.push(st(s.messages.types[a],e.fullField,e.type))},MC=function(e,t,i,r,s){var o=typeof e.len=="number",a=typeof e.min=="number",l=typeof e.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=t,h=null,f=typeof t=="number",d=typeof t=="string",O=Array.isArray(t);if(f?h="number":d?h="string":O&&(h="array"),!h)return!1;O&&(u=t.length),d&&(u=t.replace(c,"_").length),o?u!==e.len&&r.push(st(s.messages[h].len,e.fullField,e.len)):a&&!l&&u<e.min?r.push(st(s.messages[h].min,e.fullField,e.min)):l&&!a&&u>e.max?r.push(st(s.messages[h].max,e.fullField,e.max)):a&&l&&(u<e.min||u>e.max)&&r.push(st(s.messages[h].range,e.fullField,e.min,e.max))},ui="enum",AC=function(e,t,i,r,s){e[ui]=Array.isArray(e[ui])?e[ui]:[],e[ui].indexOf(t)===-1&&r.push(st(s.messages[ui],e.fullField,e[ui].join(", ")))},ZC=function(e,t,i,r,s){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(st(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if(typeof e.pattern=="string"){var o=new RegExp(e.pattern);o.test(t)||r.push(st(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},F={required:Jm,whitespace:PC,type:CC,range:MC,enum:AC,pattern:ZC},RC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t,"string")&&!e.required)return i();F.required(e,t,r,o,s,"string"),$e(t,"string")||(F.type(e,t,r,o,s),F.range(e,t,r,o,s),F.pattern(e,t,r,o,s),e.whitespace===!0&&F.whitespace(e,t,r,o,s))}i(o)},XC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&F.type(e,t,r,o,s)}i(o)},EC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t===""&&(t=void 0),$e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},DC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&F.type(e,t,r,o,s)}i(o)},_C=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),$e(t)||F.type(e,t,r,o,s)}i(o)},zC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},YC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},WC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t==null&&!e.required)return i();F.required(e,t,r,o,s,"array"),t!=null&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},jC=function(e,t,i,r,s){var o=[],a=e.required||!e. Line truncated
`){[e,t]=Xi(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(r+=i),e<l&&t>s&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(t.push(new ge(i,r)),i=[],r=-1);return r>-1&&t.push(new ge(i,r)),t}}class At extends U{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=i+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,i,r);r=a+1,i=l+1}}decompose(e,t,i,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?i.push(a):a.decompose(e-o,t-o,i,c)}o=l+1}}replace(e,t,i){if([e,t]=Xi(this,e,t),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,i),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let u=this.children.slice();return u[r]=l,new At(u,this.length-(t-e)+i.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
`){[e,t]=Xi(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(r+=i),e<l&&t>o&&(r+=a.sliceString(e-o,t-o,i)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof At))return 0;let i=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return i;let l=this.children[r],c=e.children[s];if(l!=c)return i+l.scanIdentical(c,t);i+=l.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let O of e)O.flatten(d);return new ge(d,t)}let r=Math.max(32,i>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,u=[];function h(d){let O;if(d.lines>s&&d instanceof At)for(let p of d.children)h(p);else d.lines>o&&(l>o||!l)?(f(),a.push(d)):d instanceof ge&&l&&(O=u[u.length-1])instanceof ge&&d.lines+O.lines<=32?(l+=d.lines,c+=d.length+1,u[u.length-1]=new ge(O.text.concat(d.text),O.length+1+d.length)):(l+d.lines>r&&f(),l+=d.lines,c+=d.length+1,u.push(d))}function f(){l!=0&&(a.push(u.length==1?u[0]:At.from(u,c)),c=-1,l=u.length=0)}for(let d of e)h(d);return f(),a.length==1?a[0]:new At(a,t)}}U.empty=new ge([""],0);function HC(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Bs(n,e,t=0,i=1e9){for(let r=0,s=0,o=!0;s<n.length&&r<=i;s++){let a=n[s],l=r+a.length;l>=t&&(l>i&&(a=a.slice(0,i-r)),r<t&&(a=a.slice(t-r)),o?(e[e.length-1]+=a,o=!1):e.push(a)),r=l+1}return e}function Uf(n,e,t){return Bs(n,[""],e,t)}class xr{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,a=r instanceof ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
`,this;e--}else if(r instanceof ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class rg{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new xr(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class sg{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(U.prototype[Symbol.iterator]=function(){return this.iter()},xr.prototype[Symbol.iterator]=rg.prototype[Symbol.iterator]=sg.prototype[Symbol.iterator]=function(){return this});class KC{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}}function Xi(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Te(n,e,t=!0,i=!0){return GC(n,e,t,i)}function JC(n){return n>=56320&&n<57344}function e2(n){return n>=55296&&n<56320}function Ne(n,e){let t=n.charCodeAt(e);if(!e2(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return JC(i)?(t-55296<<10)+(i-56320)+65536:t}function bu(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Zt(n){return n<65536?1:2}const Kl=/\r\n?|\n/;var Ze=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(Ze||(Ze={}));class Wt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,t=!1){Jl(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new Wt(e)}composeDesc(e){return this.empty?e:e.empty?this:og(this,e)}mapDesc(e,t=!1){return e.empty?this:ec(this,e,t)}mapPos(e,t=-1,i=Ze.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=r+a;if(l<0){if(c>e)return s+(e-r);s+=a}else{if(i!=Ze.Simple&&c>=e&&(i==Ze.TrackDel&&r<e&&c>e||i==Ze.TrackBefore&&r<e||i==Ze.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],o=this.sections[i++],a=r+s;if(o>=0&&r<=t&&a>=e)return r<e&&a>t?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Wt(e)}static create(e){return new Wt(e)}}class Se extends Wt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Jl(this,(t,i,r,s,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return ec(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],a=t[r+1];if(a>=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;i.length<l;)i.push(U.empty);i.push(o?e.slice(s,s+o):U.empty)}s+=o}return new Se(t,i)}compose(e){return this.empty?e:e.empty?this:og(this,e,!0)}map(e,t=!1){return e.empty?this:ec(this,e,t,!0)}iterChanges(e,t=!1){Jl(this,e,t)}get desc(){return Wt.cr Line truncated
`}get readOnly(){return this.facet(Og)}phrase(e,...t){for(let i of this.facet(K.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(cg))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return h2(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,a=e-i;for(;o>0;){let l=Te(t,o,!1);if(s(t.slice(l,o))!=ue.Word)break;o=l}for(;a<r;){let l=Te(t,a);if(s(t.slice(a,l))!=ue.Word)break;a=l}return o==a?null:k.range(o+i,a+i)}}K.allowMultipleSelections=ic;K.tabSize=X.define({combine:n=>n.length?n[0]:4});K.lineSeparator=ug;K.readOnly=Og;K.phrases=X.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});K.languageData=cg;K.changeFilter=hg;K.transactionFilter=fg;K.transactionExtender=dg;ia.reconfigure=I.define();function Nt(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let o=r[s],a=i[s];if(a===void 0)i[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class Sn{eq(e){return this==e}range(e,t=e){return oc.create(e,t,this)}}Sn.prototype.startSide=Sn.prototype.endSide=0;Sn.prototype.point=!1;Sn.prototype.mapMode=Ze.TrackDel;function vu(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let oc=class gg{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new gg(e,t,i)}};function ac(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Su{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(i?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let i=[],r=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],u=this.from[l]+e,h=this.to[l]+e,f,d;if(u==h){let O=t.mapPos(u,c.startSide,c.mapMode);if(O==null||(f=d=O,c.startSide!=c.endSide&&(d=t.mapPos(u,c.endSide),d<f)))continue}else if(f=t.mapPos(u,c.startSide),d=t.mapPos(h,c.endSide),f>d||f==d&&c.startSide>0&&c.endSide<=0)continue;(d-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,d-f)),i.push(c),r.push(f-o),s.push(d-o))}return{mapped:i.length?new Su(r,s,i,a):null,pos:o}}}class N{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new N(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ac)),this.isEmpty)return t.length?N.of(t):this;let a=new yg(this,null,-1).goto(0),l=0,c=[],u=new rn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];u.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||r>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&u.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||r>a.to||s<a.from||o(a.from,a.to,a.value))&&(u.addInner(a.from,a.to,a.value)||c.push(oc.create(a.from,a.to,a.value))),a.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?N.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)r=Math.max(r,l.maxPoint),t.push(l),i.push(e.mapPos(a));else if(c===!0){let{mapped:u,pos:h}=l.map(a,e);u&&(r=Math.max(r,u.maxPoint),t.push(u),i.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new N(i,t,s||N.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Zr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Zr.from(e).goto(t)}static compare(e,t,i,r,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t Line truncated
`)}static newName(){let e=nd[td]||1;return nd[td]=e+1,uc+e.toString(36)}static mount(e,t,i){let r=e[hc],s=i&&i.nonce;r?s&&r.setNonce(s):r=new d2(e,s),r.mount(Array.isArray(t)?t:[t],e)}}let id=new Map;class d2{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=id.get(i);if(s)return e[hc]=s;this.sheet=new r.CSSStyleSheet,id.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[hc]=this}mount(e,t){let i=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),i)for(let c=0;c<a.rules.length;c++)i.insertRule(a.rules[c],r++)}else{for(;s<l;)r+=this.modules[s++].rules.length;r+=a.rules.length,s++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var $n={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Rr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},O2=typeof navigator<"u"&&/Mac/.test(navigator.platform),p2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Ae=0;Ae<10;Ae++)$n[48+Ae]=$n[96+Ae]=String(Ae);for(var Ae=1;Ae<=24;Ae++)$n[Ae+111]="F"+Ae;for(var Ae=65;Ae<=90;Ae++)$n[Ae]=String.fromCharCode(Ae+32),Rr[Ae]=String.fromCharCode(Ae);for(var Va in $n)Rr.hasOwnProperty(Va)||(Rr[Va]=$n[Va]);function m2(n){var e=O2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||p2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Rr:$n)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function ne(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?n.setAttribute(i,r):r!=null&&(n[i]=r)}e++}for(;e<arguments.length;e++)bg(n,arguments[e]);return n}function bg(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)bg(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let je=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},fc=typeof document<"u"?document:{documentElement:{style:{}}};const dc=/Edge\/(\d+)/.exec(je.userAgent),xg=/MSIE \d/.test(je.userAgent),Oc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(je.userAgent),ra=!!(xg||Oc||dc),rd=!ra&&/gecko\/(\d+)/i.test(je.userAgent),Na=!ra&&/Chrome\/(\d+)/.exec(je.userAgent),sd="webkitFontSmoothing"in fc.documentElement.style,pc=!ra&&/Apple Computer/.test(je.vendor),od=pc&&(/Mobile\/\w+/.test(je.userAgent)||je.maxTouchPoints>2);var D={mac:od||/Mac/.test(je.platform),windows:/Win/.test(je.platform),linux:/Linux|X11/.test(je.platform),ie:ra,ie_version:xg?fc.documentMode||6:Oc?+Oc[1]:dc?+dc[1]:0,gecko:rd,gecko_version:rd?+(/Firefox\/(\d+)/.exec(je.userAgent)||[0,0])[1]:0,chrome:!!Na,chrome_version:Na?+Na[1]:0,ios:od,android:/Android\b/.test(je.userAgent),webkit:sd,webkit_version:sd?+(/\bAppleWebKit\/(\d+)/.exec(je.userAgent)||[0,0])[1]:0,safari:pc,safari_version:pc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(je.userAgent)||[0,0])[1]:0,tabSize:fc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Qu(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const yo=Object.create(null);function $u(n,e,t){if(n==e)return!0;n||(n=yo),e||(e=yo);let i=Object.keys(n),r=Object.keys(e);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function g2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function ad(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function y2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class Ft{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Xe=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(Xe||(Xe={}));class j extends Sn{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return Line truncated
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(l){if(!l(u))return a}else{if(!i)return c;l=i(u)}a=c}}function sM(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let o=i(s);return r==ue.Space&&(r=o),r==o}}function oM(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return k.cursor(r,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),u=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let O=n.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(r-O.from))),a=(s<0?O.top:O.bottom)+u}let h=l.left+o,f=n.viewState.heightOracle.textHeight>>1,d=i??f;for(let O=0;;O+=f){let p=a+(d+O)*s,m=Sc(n,{x:h,y:p},!1,s);if(t?p>l.bottom:p<l.top)return k.cursor(m.pos,m.assoc);let g=n.coordsAtPos(m.pos,m.assoc),b=g?(g.top+g.bottom)/2:0;if(!g||(t?b>a:b<a))return k.cursor(m.pos,m.assoc,void 0,o)}}function Qr(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=i||t||(e-s<o-e?-1:1);e=l<0?s:o,i=l}});if(!i)return e}}function Gg(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let o=Qr(n,r.from,0);o!=r.from&&(s=k.cursor(o,-1))}else{let o=Qr(n,r.from,-1),a=Qr(n,r.to,1);(o!=r.from||a!=r.to)&&(s=k.range(r.from==r.anchor?o:a,r.from==r.head?o:a))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?k.create(t,e.mainIndex):e}function Ka(n,e,t){let i=Qr(n.state.facet(es).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:k.cursor(i,i<t.from?1:-1)}class Rt{constructor(e,t){this.pos=e,this.assoc=t}}function Sc(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Rt(0,1);if(l>n.viewState.docHeight)return new Rt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),i==null)break;if(c.type==Xe.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let f=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(f&&(i<0?f.top<=l+s:f.bottom>=l+s))break}let h=n.viewState.heightOracle.textHeight/2;l=i>0?c.bottom+h:c.top-h}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Xe.Text){let h=iM(n,r,c,o,a);return new Rt(h,h==c.from?1:-1)}}if(c.type!=Xe.Text)return l<(c.top+c.bottom)/2?new Rt(c.from,1):new Rt(c.to,-1);let u=n.docView.lineAt(c.from,2);return(!u||u.length!=c.length)&&(u=n.docView.lineAt(c.from,-2)),new aM(n,o,a,n.textDirectionAt(c.from)).scanTile(u,c.from)}class aM{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Et.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Et.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,u=-1,h=1e9,f;e:for(;r<s;){let O=s-r,p=r+s>>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*O);for(let b=0;b<O;b++){if(!o.has(g)){p=g;break t}g++,g==s&&(g=r)}break e}o.add(p);let m=t(p);if(m)for(let g=0;g<m.length;g++){let b=m[g],x=0;if(!(b.width==0&&m.length>1)){if(b.bottom<this.y)(!l||l.bottom<b.bottom)&&(l=b),x=1;else if(b.top>this.y)(!c||c.top>b.top)&&(c=b),x=-1;else{let v=b.left>this.x?this.x-b.left:b.right<this.x?this.x-b.right:0,S=Math.abs(v);S<h&&(u=p,h=S,f=b),v&&(x=v<0==(this.baseDir==re.LTR)?-1:1)}x==-1&&(!a||this.baseDirAt(e[p],1))?s=p:x==1&&(!a||this.baseDirAt(e[p+1],-1))&&(r=p+1)}}}if(!f){if(!c&&!l)return{i:e[0],after:!1};let O=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(O.top+O.bottom)/2,this.scan(e,t,!0)}if(h&&!i){let{top:O,bottom:p}=f;if(l&&l.bottom>(O+O+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(O+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let d=(a?this.dirAt(e[u],1):this.baseDir)==re.LTR;return{i:u,after:this.x>(f.left+f.right)/2==d}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=Te(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let o=i[s]-t,a=i[s+1]-t;return Dr(e.dom,o,a).getClientRects()});return r.after?new Rt(i[r.i+1],-1):new Rt(i[r.i],1)}scanTile(e,t){if(!e.length)return new Rt(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let i=[t];for(let a=0,l=t;a<e.children.length;a++)i.push(l+=e.children[a].length);let r=this.scan(i,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Dr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=i[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new Rt(i[r.i+1],-1):new Rt(o,1)}}const di="￿";class lM{constructor(e,t){this.points=e,this. Line truncated
`&&n.lineWrapping&&(i&&(i=k.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:U.of([" "])}),t)return Zu(n,t,i,o);if(i&&!Qo(i,s)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(i=Gg(r.facet(es).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:a,userEvent:l}),!0}else return!1}function Zu(n,e,t,i=-1){if(D.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(D.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Qi(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Qi(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Qi(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=fM(n,e,t));return n.state.facet(_g).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function fM(n,e,t){let i,r=n.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,u=Qr(r.facet(es).map(h=>h(n)),c,l);e.from==u&&(o=u)}if(o>-1)i={changes:e,selection:k.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let u=n.state.sliceDoc(e.from,e.to),h,f=t&&Fg(n,t.main.head);if(f){let O=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-O}}else h=n.state.doc.lineAt(s.head);let d=s.to-e.to;i=r.changeByRange(O=>{if(O.from==s.from&&O.to==s.to)return{changes:l,range:c||O.map(l)};let p=O.to-d,m=p-u.length;if(n.state.sliceDoc(m,p)!=u||p>=h.from&&m<=h.to)return{range:O};let g=r.changes({from:m,to:p,insert:e.insert}),b=O.to-s.to;return{changes:g,range:c?k.range(Math.max(0,c.anchor+b),Math.max(0,c.head+b)):O.map(g)}})}else i={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:a,scrollIntoView:!0})}function Kg(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(i=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function dM(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new pd(t,i)),(r!=t||s!=i)&&e.push(new pd(r,s))),e}function OM(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?k.single(t+e,i+e):null}function Qo(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class pM{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,D.safari&&e.contentDOM.addEventListener("input",()=>null),D.gecko&&MM(e.contentDOM.ownerDocument)}handleEvent(e){!SM(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=mM(e),i=this.handlers,r=this.view.contentDOM; Line truncated
`))};if((D.mac||D.android)&&h.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:U.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);Zu(e,h,k.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let o=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let u=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;r.push(j.mark({attributes:{style:u}}).range(l,c))}}}e.dispatch({effects:Ig.of(j.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Er(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(i)return;let u=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=u,this.to+=u;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=u,this.to+=u;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=u}t+=u}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class E{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureReque Line truncated
--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Cc),OA={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let tl=null;function pA(){var n;if(tl==null&&typeof document<"u"&&document.body){let e=document.body.style;tl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return tl||!1}const Us=X.define({combine(n){let e=Nt(n,{render:null,specialChars:dA,addSpecialChars:null});return(e.replaceTabs=!pA())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Cc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Cc)),e}});function mA(n={}){return[Us.of(n),gA()]}let _d=null;function gA(){return _d||(_d=xe.fromClass(class{constructor(n){this.view=n,this.decorations=j.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Us)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new fA({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,s=Ne(e[0],0);if(s==9){let o=r.lineAt(i),a=t.state.tabSize,l=Vi(o.text,a,i-o.from);return j.replace({widget:new wA((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=j.replace({widget:new xA(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Us);n.startState.facet(Us)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const yA="•";function bA(n){return n>=32?yA:n==10?"␤":String.fromCharCode(9216+n)}class xA extends Ft{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=bA(this.code),i=e.state.phrase("Control character")+" "+(OA[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class wA extends Ft{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function vA(){return QA}const SA=j.line({class:"cm-activeLine"}),QA=xe.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(SA.range(r.from)),e=r.from)}return j.set(t)}},{decorations:n=>n.decorations}),Mc=2e3;function $A(n,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>Mc||t.off>Mc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=i;l<=r;l++){let c=n.doc.line(l);c.length<=a&&s.push(k.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=i;l<=r;l++){let c=n.doc.line(l),u=cc(c.text,o,n.tabSize,!0);if(u<0)s.push(k.cursor(c.to));else{let h=cc(c.text,a,n.tabSize);s.push(k.range(c.from+u,c.from+h))}}}return s}function kA(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function zd(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),r=t-i.from,s=r>Mc?-1:r==i.length?kA(n,e.clientX):Vi(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:s,off:r}}function PA(n,e){let t=zd(n,e),i=n.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(r.changes)}},get(r,s,o){let a=zd(n,r);if(!a)return i;let l=$A(n.state,t,a);return l.length?o?k.create(l.concat(i.ranges)):k.create(l):i}}:null}function TA(n){let e=(t=>t.altKey&&t.button==0);return E.mouseSelectionStyle.of((t,i)=>e(i)?PA(t,i):null)}const CA={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},MA={style:"cursor: crosshair"};function AA(n={}){let[e,t]=CA[n.key||"Alt"],i=xe.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,E.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.is Line truncated
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new BX(this):new IX(this)}getCursor(e,t=0,i){let r=e.doc?e:K.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?pi(this,r,t,i):Oi(this,r,t,i)}}class Zy{constructor(e){this.spec=e}}function WX(n,e,t){return(i,r,s,o)=>{if(t&&!t(i,r,s,o))return!1;let a=i>=o&&r<=o+s.length?s.slice(i-o,r-o):e.doc.sliceString(i,r);return n(a,e,i,r)}}function Oi(n,e,t,i){let r;return n.wholeWord&&(r=jX(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(r=WX(n.test,e,r)),new ji(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),r)}function jX(n,e){return(t,i,r,s)=>((s>t||s+r.length<i)&&(s=Math.max(0,t-2),r=n.sliceString(s,Math.min(n.length,i+2))),(e(Do(r,t-s))!=ue.Word||e(_o(r,t-s))!=ue.Word)&&(e(_o(r,i-s))!=ue.Word||e(Do(r,i-s))!=ue.Word))}class IX extends Zy{constructor(e){super(e)}nextMatch(e,t,i){let r=Oi(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=Oi(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==i?null:r.value}prevMatchInRange(e,t,i){for(let r=i;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),o=Oi(this.spec,e,s,r),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;r-=1e4}}prevMatch(e,t,i){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=Oi(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=Oi(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function LX(n,e,t){return(i,r,s)=>(!t||t(i,r,s))&&n(s[0],e,i,r)}function pi(n,e,t,i){let r;return n.wholeWord&&(r=qX(e.charCategorizer(e.selection.main.head))),n.test&&(r=LX(n.test,e,r)),new Cy(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:r},t,i)}function Do(n,e){return n.slice(Te(n,e,!1),e)}function _o(n,e){return n.slice(e,Te(n,e))}function qX(n){return(e,t,i)=>!i[0].length||(n(Do(i.input,i.index))!=ue.Word||n(_o(i.input,i.index))!=ue.Word)&&(n(_o(i.input,i.index+i[0].length))!=ue.Word||n(Do(i.input,i.index+i[0].length))!=ue.Word)}class BX extends Zy{nextMatch(e,t,i){let r=pi(this.spec,e,i,e.doc.length).next();return r.done&&(r=pi(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let s=Math.max(t,i-r*1e4),o=pi(this.spec,e,s,i),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return t})}matchAll(e,t){let i=pi(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=pi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const jr=I.define(),Uu=I.define(),yn=Ee.define({create(n){return new Ol(Ic(n).create(),null)},update(n,e){for(let t of e.effects)t.is(jr)?n=new Ol(t.value.create(),n.panel):t.is(Uu)&&(n=new Ol(n.query,t.value?Hu:null));return n},provide:n=>_r.from(n,e=>e.panel)});class Ol{constructor(e,t){this.query=e,this.panel=t}}const VX=j.mark({class:"cm-searchMatch"}),NX=j.mark({class:"cm-searchMatch cm-searchMatch-selected"}),FX=xe.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(yn))}update(n){let e=n.state.field(yn);(e!=n.startState.field(yn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return j.none;let{view:t}=this,i=new rn;for(let r=0,s=t.visibleRanges,o=s.length;r<o;r++){let{from:a,to:l}=s[r];for(;r<o-1&&l>s[r+1].from-500;)l=s[++r].to;n.highlight(t.state,a,l,(c,u)=>{let h=t.state.selection.ranges.some(f=>f.from==c&&f.to==u);i.add(c,u,h?NX:VX)})}return i.finish()}},{decorations:n=>n.decorations});function rs(n){return e=>{let t=e.state.field(yn,!1);return t&&t.query.spec.valid?n(e,t):Ey(e)}}const zo=rs((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let r=k.single(i.from,i.to),s=n.state.facet(Fi);return n.dispatch({selection:r,effects:[Ku(n,i),s.scrollToMatch(r.main,n)],userEvent:"select.search"}),Xy(n),!0}),Yo=rs((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return Line truncated
\${}
} catch (\${error}) {
\${}
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Ve("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Ve(`if (\${}) {
\${}
} else {
\${}
}`,{label:"if",detail:"/ else block",type:"keyword"}),Ve(`class \${name} {
constructor(\${params}) {
\${}
}
}`,{label:"class",detail:"definition",type:"keyword"}),Ve('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ve('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],g_=gb.concat([Ve("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ve("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ve("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),ip=new C0,yb=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function lr(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}const y_=["FunctionDeclaration"],b_={FunctionDeclaration:lr("function"),ClassDeclaration:lr("class"),ClassExpression:()=>!0,EnumDeclaration:lr("constant"),TypeAliasDeclaration:lr("type"),NamespaceDeclaration:lr("namespace"),VariableDefinition(n,e){n.matchContext(y_)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function bb(n,e){let t=ip.get(e);if(t)return t;let i=[],r=!0;function s(o,a){let l=n.sliceString(o.from,o.to);i.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=b_[o.name];if(a&&a(o,s)||yb.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of bb(n,o.node))i.push(a);return!1}}),ip.set(e,i),i}const rp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,xb=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function x_(n){let e=me(n.state).resolveInner(n.pos,-1);if(xb.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&rp.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)yb.has(r.name)&&(i=i.concat(bb(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:rp}}const jt=Yi.define({name:"javascript",parser:m_.configure({props:[Oa.add({IfStatement:Js({except:/^\s*({|else\b)/}),TryStatement:Js({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:EZ,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:XZ({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":Js({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),pa.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":_0,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,i=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?n.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),wb={test:n=>/^JSX/.test(n.name),facet:R0({commentTokens:{block:{open:"{/*",close:"*/}"}}})},vb=jt.configure({dialect:"ts"},"typescript"),Sb=jt.configure({dialect:"jsx",props:[Iu.add(n=>n.isTop?[wb]:void 0)]}),Qb=jt.configure({dialect:"jsx ts",props:[Iu.add(n=>n.isTop?[wb]:void 0)]},"typescript");let $b=n=>({label:n,type:"keyword"});const kb="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map($b),w_=kb.concat(["declare","implements","private","protected","public"].map($b));function v_(n={}){let e=n.jsx?n.typescript?Qb:Sb:n.typescript?vb:jt,t=n.typescript?g_.concat(w_):gb.concat(kb);return new Lu(e,[jt.data.of({autocomplete:iE(xb,zy(t))}),jt.data.of({autocomplete:x_}),n.jsx?$_:[]])}function S_(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function sp(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}const Q_=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),$_=E.inputHandler.of((n,e,t,i,r)=>{if((Q_?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!jt.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head: Line truncated
File diff suppressed because it is too large. Load diff
+52
View File
@@ -0,0 +1,52 @@
/**
* @vue/shared v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ve(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const re={},In=[],Fe=()=>{},An=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),li=e=>e.startsWith("onUpdate:"),se=Object.assign,gr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},op=Object.prototype.hasOwnProperty,fe=(e,t)=>op.call(e,t),H=Array.isArray,Rn=e=>Xn(e)==="[object Map]",En=e=>Xn(e)==="[object Set]",Eo=e=>Xn(e)==="[object Date]",wa=e=>Xn(e)==="[object RegExp]",z=e=>typeof e=="function",ee=e=>typeof e=="string",je=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",mr=e=>(ce(e)||z(e))&&z(e.then)&&z(e.catch),Ko=Object.prototype.toString,Xn=e=>Ko.call(e),xa=e=>Xn(e).slice(8,-1),ci=e=>Xn(e)==="[object Object]",ai=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xt=Ve(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),La=Ve("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),_r=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},lp=/-\w/g,de=_r(e=>e.replace(lp,t=>t.slice(1).toUpperCase())),cp=/\B([A-Z])/g,Ke=_r(e=>e.replace(cp,"-$1").toLowerCase()),yn=_r(e=>e.charAt(0).toUpperCase()+e.slice(1)),Pn=_r(e=>e?`on${yn(e)}`:""),De=(e,t)=>!Object.is(e,t),Mn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Wo=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},fi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},js=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let cc;const ui=()=>cc||(cc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),ap=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function fp(e){return ap.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}function up(e,t){return e+JSON.stringify(t,(n,s)=>typeof s=="function"?s.toString():s)}const hp={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},pp={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"CACHED",[-2]:"BAIL"},dp={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},gp={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},mp={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},_p="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",qo=Ve(_p),Ep=qo,ac=2;function Da(e,t=0,n=e.length){if(t=Math.max(0,Math.min(t,e.length)),n=Math.max(0,Math.min(n,e.length)),t>n)return"";let s=e.split(/(\r?\n)/);const i=s.filter((c,l)=>l%2===1);s=s.filter((c,l)=>l%2===0);let r=0;const o=[];for(let c=0;c<s.length;c++)if(r+=s[c].length+(i[c]&&i[c].length||0),r>=t){for(let l=c-ac;l<=c+ac||n>r;l++){if(l<0||l>=s.length)continue;const a=l+1;o.push(`${a}${" ".repeat(Math.max(3-String(a).length,0))}| ${s[l]}`);const f=s[l].length,u=i[l]&&i[l].length||0;if(l===c){const h=t-(r-(f+u)),d=Math.max(1,n>r?f-h:n-t);o.push(" | "+" ".repeat(h)+"^".repeat(d))}else if(l>c){if(n>r){const h=Math.max(Math.min(n-r,f),1);o.push(" | "+"^".repeat(h))}r+=f+u}}break}return o.join(`
`)}function Es(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=ee(s)?Yo(s):Es(s);if(i)for(const r in i)t[r]=i[r]}return t}else if(ee(e)||ce(e))return e}const yp=/;(?![^(]*\))/g,Sp=/:([^]+)/,Tp=/\/\*[^]*?\*\//g;function Yo(e){const t={};return e.replace(Tp,"").split(yp).forEach(n=>{if(n){const s=n.split(Sp);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function bp(e){if(!e)return"";if(ee(e))return e;let t="";for(const n in e){const s=e[n];if(ee(s)||typeof s=="number"){const i=n.startsWith("--")?n:Ke(n);t+=`${i}:${s};`}}return t}function ys(e){let t="";if(ee(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=ys(e[n]);s&&(t+=s+" ")}else if(ce(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function ka(e){if(!e)return null;let{class:t,style:n}=e;return t&&!ee(t)&&(e.class=ys(t)),n&&(e.style=Es(n)),e}const Np="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",vp="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",Ap="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",Cp="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",Fa=Ve(Np),Va=Ve(vp),Ua=Ve(Ap),Ba=Ve(Cp),Ha="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ja=Ve(Ha),Op=Ve(Ha+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function Jo(e){return!!e||e===""}const Ip=/[>/="'\u0009\u000a\u000c\u0020]/,Qr={};function Rp(e){if(Qr.hasOwnProperty(e))return Qr[e];const t=Ip.test(e);return t&&console.error(`unsafe attribute name: ${e}`),Qr[e]=!t}const Pp={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Mp=Ve("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),wp=Ve("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,hei Line truncated
* @vue/reactivity v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Le;class Qo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[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)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=Le;try{return Le=this,t()}finally{Le=n}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){if(this._on>0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;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){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function Wa(e){return new Qo(e)}function qa(){return Le}function jp(e,t=!1){Le&&Le.cleanups.push(e)}let _e;const eo=new WeakSet;class $s{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,Le&&Le.active&&Le.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,eo.has(this)&&(eo.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ja(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,fc(this),za(this);const t=_e,n=Nt;_e=this,Nt=!0;try{return this.fn()}finally{Qa(this),_e=t,Nt=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)tl(t);this.deps=this.depsTail=void 0,fc(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?eo.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){yo(this)&&this.run()}get dirty(){return yo(this)}}let Ya=0,Ds,ks;function Ja(e,t=!1){if(e.flags|=8,t){e.next=ks,ks=e;return}e.next=Ds,Ds=e}function Zo(){Ya++}function el(){if(--Ya>0)return;if(ks){let t=ks;for(ks=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ds;){let t=Ds;for(Ds=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 za(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Qa(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),tl(s),$p(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function yo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Za(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Za(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xs)||(e.globalVersion=Xs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yo(e))))return;e.flags|=2;const t=e.dep,n=_e,s=Nt;_e=e,Nt=!0;try{za(e);const i=e.fn(e._value);(t.version===0||De(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{_e=n,Nt=s,Qa(e),e.flags&=-3}}function tl(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)tl(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function $p(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function Xp(e,t){e.effect instanceof $s&&(e=e.effect.fn);const n=new $s(e);t&&se(n,t);try{n.run()}catch(i){throw n.stop(),i}const s=n.run.bind(n);return s.effect=n,s}function Gp(e){e.effect.stop()}let Nt=!0;const ef=[];function zt(){ef.push(Nt),Nt=!1}function Qt(){const e=ef.pop();Nt=e===void 0?!0:e}function fc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let Xs=0;class Kp{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 Er{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(!_e||!Nt||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Kp(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,tf(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.neLine truncated
* @vue/runtime-core v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const gf=[];function Cd(e){gf.push(e)}function Od(){gf.pop()}function Id(e,t){}const Rd={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},Pd={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function Ss(e,t,n,s){try{return s?e(...s):e()}catch(i){Gn(i,t,n)}}function yt(e,t,n,s){if(z(e)){const i=Ss(e,t,n,s);return i&&mr(i)&&i.catch(r=>{Gn(r,t,n)}),i}if(H(e)){const i=[];for(let r=0;r<e.length;r++)i.push(yt(e[r],t,n,s));return i}}function Gn(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||re;if(t){let c=t.parent;const l=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const f=c.ec;if(f){for(let u=0;u<f.length;u++)if(f[u](e,l,a)===!1)return}c=c.parent}if(r){zt(),Ss(r,null,10,[e,l,a]),Qt();return}}Md(e,n,i,s,o)}function Md(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const ze=[];let It=-1;const ts=[];let an=null,zn=0;const mf=Promise.resolve();let Yi=null;function gi(e){const t=Yi||mf;return e?t.then(this?e.bind(this):e):t}function wd(e){let t=It+1,n=ze.length;for(;t<n;){const s=t+n>>>1,i=ze[s],r=Ws(i);r<e||r===e&&i.flags&2?t=s+1:n=s}return t}function ol(e){if(!(e.flags&1)){const t=Ws(e),n=ze[ze.length-1];!n||!(e.flags&2)&&t>=Ws(n)?ze.push(e):ze.splice(wd(t),0,e),e.flags|=1,_f()}}function _f(){Yi||(Yi=mf.then(Ef))}function Ks(e){H(e)?ts.push(...e):an&&e.id===-1?an.splice(zn+1,0,e):e.flags&1||(ts.push(e),e.flags|=1),_f()}function hc(e,t,n=It+1){for(;n<ze.length;n++){const s=ze[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ze.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ji(e){if(ts.length){const t=[...new Set(ts)].sort((n,s)=>Ws(n)-Ws(s));if(ts.length=0,an){an.push(...t);return}for(an=t,zn=0;zn<an.length;zn++){const n=an[zn];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}an=null,zn=0}}const Ws=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ef(e){try{for(It=0;It<ze.length;It++){const t=ze[It];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ss(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;It<ze.length;It++){const t=ze[It];t&&(t.flags&=-2)}It=-1,ze.length=0,Ji(),Yi=null,(ze.length||ts.length)&&Ef()}}let Qn,Ri=[];function yf(e,t){var n,s;Qn=e,Qn?(Qn.enabled=!0,Ri.forEach(({event:i,args:r})=>Qn.emit(i,...r)),Ri=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(r=>{yf(r,t)}),setTimeout(()=>{Qn||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ri=[])},3e3)):Ri=[]}let He=null,br=null;function qs(e){const t=He;return He=e,br=e&&e.type.__scopeId||null,t}function xd(e){br=e}function Ld(){br=null}const Dd=e=>ll;function ll(e,t=He,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Qs(-1);const r=qs(t);let o;try{o=e(...i)}finally{qs(r),s._d&&Qs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function kd(e,t){if(He===null)return e;const n=Si(He),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,c,l=re]=t[i];r&&(z(r)&&(r={mounted:r,updated:r}),r.deep&&Gt(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:c,modifiers:l}))}return e}function Rt(e,t,n,s){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const c=i[o];r&&(c.oldValue=r[o].value);let l=c.dir[s];l&&(zt(),yt(l,n,8,[e.el,c,e,t]),Qt())}}function Fs(e,t){if(Be){let n=Be.provides;const s=Be.parent&&Be.parent.provides;s===n&&(n=Be.provides=Object.create(s)),n[e]=t}}function mt(e,t,n=!1){const s=et();if(s||Dn){let i=Dn?Dn._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&z(t)?t.call(s&&s.proxy):t}}function Fd(){return!!(et()||Dn)}const Sf=Symbol.for("v-scx"),Tf=()=>mt(Sf);function Vd(e,t){return mi(e,null,t)}function Ud(e,t){return mi(e,null,{flush:"p Line truncated
`&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(X=X.slice(1));const{textContent:pe}=g;pe!==X&&pe!==X.replace(/\r\n|\r/g,`
`)&&(wi(g,0)||Yn(),g.textContent=y.children)}if(A){if(Q||!M||k&48){const X=g.tagName.includes("-");for(const pe in A)(Q&&(pe.endsWith("value")||pe==="indeterminate")||_n(pe)&&!xt(pe)||pe[0]==="."||X&&!xt(pe))&&s(g,pe,null,A[pe],void 0,T)}else if(A.onClick)s(g,"onClick",null,A.onClick,void 0,T);else if(k&4&&Wt(A.style))for(const X in A.style)A.style[X]}let Y;(Y=A&&A.onVnodeBeforeMount)&&rt(Y,T,y),F&&Rt(y,null,T,"beforeMount"),((Y=A&&A.onVnodeMounted)||F||$)&&ou(()=>{Y&&rt(Y,T,y),$&&W.enter(g),F&&Rt(y,null,T,"mounted")},w)}return g.nextSibling},d=(g,y,T,w,P,M,b)=>{b=b||!!y.dynamicChildren;const A=y.children,k=A.length;for(let v=0;v<k;v++){const F=b?A[v]:A[v]=ot(A[v]),W=F.type===pn;g?(W&&!b&&v+1<k&&ot(A[v+1]).type===pn&&(l(i(g.data.slice(F.children.length)),T,r(g)),g.data=F.children),g=u(g,F,w,P,M,b)):W&&!F.children?l(F.el=i(""),T):(wi(T,1)||Yn(),n(null,F,T,null,w,P,Mi(T),M))}return g},E=(g,y,T,w,P,M)=>{const{slotScopeIds:b}=y;b&&(P=P?P.concat(b):b);const A=o(g),k=d(r(g),y,A,T,w,P,M);return k&&es(k)&&k.data==="]"?r(y.anchor=k):(Yn(),l(y.anchor=a("]"),A,k),k)},_=(g,y,T,w,P,M)=>{if(wi(g.parentElement,1)||Yn(),y.el=null,M){const k=C(g);for(;;){const v=r(g);if(v&&v!==k)c(v);else break}}const b=r(g),A=o(g);return c(g),n(null,y,A,b,T,w,Mi(A),P),T&&(T.vnode.el=y.el,Rr(T,y.el)),b},C=(g,y="[",T="]")=>{let w=0;for(;g;)if(g=r(g),g&&es(g)&&(g.data===y&&w++,g.data===T)){if(w===0)return r(g);w--}return g},O=(g,y,T)=>{const w=y.parentNode;w&&w.replaceChild(g,y);let P=T;for(;P;)P.vnode.el===y&&(P.vnode.el=P.subTree.el=g),P=P.parent},S=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[f,u]}const yc="data-allow-mismatch",zd={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function wi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(yc);)e=e.parentElement;const n=e&&e.getAttribute(yc);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:s.includes(zd[t])}}const Qd=ui().requestIdleCallback||(e=>setTimeout(e,1)),Zd=ui().cancelIdleCallback||(e=>clearTimeout(e)),eg=(e=1e4)=>t=>{const n=Qd(t,{timeout:e});return()=>Zd(n)};function tg(e){const{top:t,left:n,bottom:s,right:i}=e.getBoundingClientRect(),{innerHeight:r,innerWidth:o}=window;return(t>0&&t<r||s>0&&s<r)&&(n>0&&n<o||i>0&&i<o)}const ng=e=>(t,n)=>{const s=new IntersectionObserver(i=>{for(const r of i)if(r.isIntersecting){s.disconnect(),t();break}},e);return n(i=>{if(i instanceof Element){if(tg(i))return t(),s.disconnect(),!1;s.observe(i)}}),()=>s.disconnect()},sg=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},ig=(e=[])=>(t,n)=>{ee(e)&&(e=[e]);let s=!1;const i=o=>{s||(s=!0,r(),t(),o.target.dispatchEvent(new o.constructor(o.type,o)))},r=()=>{n(o=>{for(const c of e)o.removeEventListener(c,i)})};return n(o=>{for(const c of e)o.addEventListener(c,i,{once:!0})}),r};function rg(e,t){if(es(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(es(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const qt=e=>!!e.type.__asyncLoader;function og(e){z(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:i=200,hydrate:r,timeout:o,suspensible:c=!0,onError:l}=e;let a=null,f,u=0;const h=()=>(u++,a=null,d()),d=()=>{let E;return a||(E=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((C,O)=>{l(_,()=>C(h()),()=>O(_),u+1)});throw _}).then(_=>E!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return _i({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(E,_,C){let O=!1;(_.bu||(_.bu=[])).push(()=>O=!0);const S=()=>{O||C()},g=r?()=>{const y=r(S,T=>rg(E,T));y&&(_.bum||(_.bum=[])).push(y)}:S;f?g():d().then(()=>!_.isUnmounted&&g())},get __asyncResolved(){return f},setup(){const E=Be;if(fl(E),f)return()=>xi(f,E);const _=g=>{a=null,Gn(g,E,13,!s)};if(c&&E.suspense||Un)return d().then(g=>()=>xi(g,E)).catch(g=>(_(g),()=>s?Te(s,{error:g}):null));const C=xn(!1),O=xn(),S=xn(!!i);return i&&setTimeout(()=>{S.value=!1},i),o!=null&&setTimeout(()=>{if(!C.value&&!O.value){const g=new Error(`Async component timed out after ${o}ms.`);_(g),O.value=g}},o),d().then(()=>{C.value=!0,E.parent&&Ei(E.parent.vnode)&&E.parent.update()}).catch(g=>{_(g),O.value=g}),()=>{if(C.value&&f)return xi(f,E);if(O.value&&s)return Te(s,{error:O.value});if(n&&!S.value)return xi(n,E)}}})}function xi(e,t){const{ref:n,props:s,children:i,ce:r}=t.vnode,o=Te(e,s,i);return o.ref=n,o.ce=r,delete t.vnode.ce,o}const Ei=e=>e.type.__isKeepAlive,lg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=et(),s=n.ctx;if(!s.renderer)return()=>{const S=t.default&&t.default();return S&&S.length===1?S[0]:S};const i=new Map,r=new Set;let o=null;const c=n.suspense,{renderer:{p:l,m:a,um:f,o:{createElement:u}}}=s,h=u("div");s.activate=(S,g,y,T,w)=>{ Line truncated
* @vue/runtime-dom v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let xo;const Oc=typeof window<"u"&&window.trustedTypes;if(Oc)try{xo=Oc.createPolicy("vue",{createHTML:e=>e})}catch{}const Su=xo?e=>xo.createHTML(e):e=>e,Im="http://www.w3.org/2000/svg",Rm="http://www.w3.org/1998/Math/MathML",jt=typeof document<"u"?document:null,Ic=jt&&jt.createElement("template"),Tu={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 i=t==="svg"?jt.createElementNS(Im,e):t==="mathml"?jt.createElementNS(Rm,e):n?jt.createElement(e,{is:n}):jt.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>jt.createTextNode(e),createComment:e=>jt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>jt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{Ic.innerHTML=Su(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const c=Ic.content;if(s==="svg"||s==="mathml"){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}t.insertBefore(c,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},nn="transition",Os="animation",cs=Symbol("_vtc"),bu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Nu=se({},al,bu),Pm=e=>(e.displayName="Transition",e.props=Nu,e),Mm=Pm((e,{slots:t})=>Pr(If,vu(e),t)),bn=(e,t=[])=>{H(e)?e.forEach(n=>n(...t)):e&&e(...t)},Rc=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function vu(e){const t={};for(const v in e)v in bu||(t[v]=e[v]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:a=o,appearToClass:f=c,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,E=wm(i),_=E&&E[0],C=E&&E[1],{onBeforeEnter:O,onEnter:S,onEnterCancelled:g,onLeave:y,onLeaveCancelled:T,onBeforeAppear:w=O,onAppear:P=S,onAppearCancelled:M=g}=t,b=(v,F,W,Q)=>{v._enterCancelled=Q,ln(v,F?f:c),ln(v,F?a:o),W&&W()},A=(v,F)=>{v._isLeaving=!1,ln(v,u),ln(v,d),ln(v,h),F&&F()},k=v=>(F,W)=>{const Q=v?P:S,$=()=>b(F,v,W);bn(Q,[F,$]),Pc(()=>{ln(F,v?l:r),Ot(F,v?f:c),Rc(Q)||Mc(F,s,_,$)})};return se(t,{onBeforeEnter(v){bn(O,[v]),Ot(v,r),Ot(v,o)},onBeforeAppear(v){bn(w,[v]),Ot(v,l),Ot(v,a)},onEnter:k(!1),onAppear:k(!0),onLeave(v,F){v._isLeaving=!0;const W=()=>A(v,F);Ot(v,u),v._enterCancelled?(Ot(v,h),Lo(v)):(Lo(v),Ot(v,h)),Pc(()=>{v._isLeaving&&(ln(v,u),Ot(v,d),Rc(y)||Mc(v,s,C,W))}),bn(y,[v,W])},onEnterCancelled(v){b(v,!1,void 0,!0),bn(g,[v])},onAppearCancelled(v){b(v,!0,void 0,!0),bn(M,[v])},onLeaveCancelled(v){A(v),bn(T,[v])}})}function wm(e){if(e==null)return null;if(ce(e))return[lo(e.enter),lo(e.leave)];{const t=lo(e);return[t,t]}}function lo(e){return js(e)}function Ot(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[cs]||(e[cs]=new Set)).add(t)}function ln(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[cs];n&&(n.delete(t),n.size||(e[cs]=void 0))}function Pc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let xm=0;function Mc(e,t,n,s){const i=e._endId=++xm,r=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:o,timeout:c,propCount:l}=Au(e,t);if(!o)return s();const a=o+"end";let f=0;const u=()=>{e.removeEventListener(a,h),r()},h=d=>{d.target===e&&++f>=l&&u()};setTimeout(()=>{f<l&&u()},c+1),e.addEventListener(a,h)}function Au(e,t){const n=window.getComputedStyle(e),s=E=>(n[E]||"").split(", "),i=s(`${nn}Delay`),r=s(`${nn}Duration`),o=wc(i,r),c=s(`${Os}Delay`),l=s(`${Os}Duration`),a=wc(c,l);let f=null,u=0,h=0;t===nn?o>0&&(f=nn,u=o,h=r.length):t===Os?a>0&&(f=Os,u=a,h=l.length):(u=Math.max(o,a),f=u>0?o>a?nn:Os:null,h=f?f===nn?r.length:l.length:0);const d=f===nn&&/\b(?:transform|all)(?:,|$)/.test(s(`${nn}Property`).toString());return{type:f,timeout:u,propCount:h,hasTransform:d}}function wc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>xc(n)+xc(e[s])))}function xc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Lo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Lm(e,t,n){const s=e[cs];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ir=Symbol("_vod"),Cu=Symbol("_vsh"),Ou={name:"show",beforeMount(e,{value:t},{transition:n}){e[ir]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Is(e,t)},mounted(e,{value:t},{trans Line truncated
* pinia v2.3.1
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const __=Symbol();var Jc;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Jc||(Jc={}));function ES(){const e=Wa(!0),t=e.run(()=>xn({}));let n=[],s=[];const i=sl({install(r){i._a=r,r.provide(__,i),r.config.globalProperties.$pinia=i,s.forEach(o=>n.push(o)),s=[]},use(r){return this._a?n.push(r):s.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}/*!
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const Zn=typeof document<"u";function Ku(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function E_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ku(e.default)}const he=Object.assign;function fo(e,t){const n={};for(const s in t){const i=t[s];n[s]=At(i)?i.map(e):e(i)}return n}const Hs=()=>{},At=Array.isArray;function zc(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Wu=/#/g,y_=/&/g,S_=/\//g,T_=/=/g,b_=/\?/g,qu=/\+/g,N_=/%5B/g,v_=/%5D/g,Yu=/%5E/g,A_=/%60/g,Ju=/%7B/g,C_=/%7C/g,zu=/%7D/g,O_=/%20/g;function vl(e){return e==null?"":encodeURI(""+e).replace(C_,"|").replace(N_,"[").replace(v_,"]")}function I_(e){return vl(e).replace(Ju,"{").replace(zu,"}").replace(Yu,"^")}function Fo(e){return vl(e).replace(qu,"%2B").replace(O_,"+").replace(Wu,"%23").replace(y_,"%26").replace(A_,"`").replace(Ju,"{").replace(zu,"}").replace(Yu,"^")}function R_(e){return Fo(e).replace(T_,"%3D")}function P_(e){return vl(e).replace(Wu,"%23").replace(b_,"%3F")}function M_(e){return P_(e).replace(S_,"%2F")}function ei(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const w_=/\/$/,x_=e=>e.replace(w_,"");function uo(e,t,n="/"){let s,i={},r="",o="";const c=t.indexOf("#");let l=t.indexOf("?");return l=c>=0&&l>c?-1:l,l>=0&&(s=t.slice(0,l),r=t.slice(l,c>0?c:t.length),i=e(r.slice(1))),c>=0&&(s=s||t.slice(0,c),o=t.slice(c,t.length)),s=F_(s??t,n),{fullPath:s+r+o,path:s,query:i,hash:ei(o)}}function L_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Qc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&fs(t.matched[s],n.matched[i])&&Qu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Qu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!k_(e[n],t[n]))return!1;return!0}function k_(e,t){return At(e)?Zc(e,t):At(t)?Zc(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Zc(e,t){return At(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function F_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=n.length-1,o,c;for(o=0;o<s.length;o++)if(c=s[o],c!==".")if(c==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(o).join("/")}const sn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Vo=(function(e){return e.pop="pop",e.push="push",e})({}),ho=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function V_(e){if(!e)if(Zn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function B_(e,t){return e.replace(U_,"#")+t}function H_(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 wr=()=>({left:window.scrollX,top:window.scrollY});function j_(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=H_(i,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 ea(e,t){return(history.state?history.state.position-t:-1)+e}const Uo=new Map;function $_(e,t){Uo.set(e,t)}function X_(e){const t=Uo.get(e);return Uo.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function Zu(e){return typeof e=="string"||typeof e=="symbol"}let be=(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 eh=Symbol("");be.MATCHER_NOT_FOUND+"",be.NAVIGATION_GUARD_REDIRECT+"",be.NAVIGATION_ABORTED+"",be.NAVIGATION_CANCELLED+"",be.NAVIGATION_DUPLICATED+"";function us(e,t){return he(new Error,{type:e,[eh]:!0},t)}function Ut(e,t){return e instanceof Error&&eh in e&&(t==null||!!(e.type&t))}const K_=["params","query","hash"];function W_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of K_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function q_(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 i=n[s].replace(qu," "),r=i.indexOf("="),o=ei(r<0?i:i.slice(0,r)),c=r<0?null:ei(i.slice(r+1));if(o in t){let l=t[o];At(l)||(l=t[o]=[l]),l.push(c)}else tLine truncated
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/let Q_=()=>location.protocol+"//"+location.host;function th(e,t){const{pathname:n,search:s,hash:i}=t,r=e.indexOf("#");if(r>-1){let o=i.includes(e.slice(r))?e.slice(r).length:1,c=i.slice(o);return c[0]!=="/"&&(c="/"+c),Qc(c,"")}return Qc(n,e)+s+i}function Z_(e,t,n,s){let i=[],r=[],o=null;const c=({state:h})=>{const d=th(e,location),E=n.value,_=t.value;let C=0;if(h){if(n.value=d,t.value=h,o&&o===E){o=null;return}C=_?h.position-_.position:0}else s(d);i.forEach(O=>{O(n.value,E,{delta:C,type:Vo.pop,direction:C?C>0?ho.forward:ho.back:ho.unknown})})};function l(){o=n.value}function a(h){i.push(h);const d=()=>{const E=i.indexOf(h);E>-1&&i.splice(E,1)};return r.push(d),d}function f(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(he({},h.state,{scroll:wr()}),"")}}function u(){for(const h of r)h();r=[],window.removeEventListener("popstate",c),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",c),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:l,listen:a,destroy:u}}function sa(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?wr():null}}function eE(e){const{history:t,location:n}=window,s={value:th(e,n)},i={value:t.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(l,a,f){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Q_()+e+l;try{t[f?"replaceState":"pushState"](a,"",h),i.value=a}catch(d){console.error(d),n[f?"replace":"assign"](h)}}function o(l,a){r(l,he({},t.state,sa(i.value.back,l,i.value.forward,!0),a,{position:i.value.position}),!0),s.value=l}function c(l,a){const f=he({},i.value,t.state,{forward:l,scroll:wr()});r(f.current,f,!0),r(l,he({},sa(s.value,l,null),{position:f.position+1},a),!1),s.value=l}return{location:s,state:i,push:c,replace:o}}function tE(e){e=V_(e);const t=eE(e),n=Z_(e,t.state,t.location,t.replace);function s(r,o=!0){o||n.pauseListeners(),history.go(r)}const i=he({location:"",base:e,go:s,createHref:B_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function yS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),tE(e)}let Cn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var we=(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})(we||{});const nE={type:Cn.Static,value:""},sE=/[a-zA-Z0-9_]/;function iE(e){if(!e)return[[]];if(e==="/")return[[nE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${a}": ${d}`)}let n=we.Static,s=n;const i=[];let r;function o(){r&&i.push(r),r=[]}let c=0,l,a="",f="";function u(){a&&(n===we.Static?r.push({type:Cn.Static,value:a}):n===we.Param||n===we.ParamRegExp||n===we.ParamRegExpEnd?(r.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Cn.Param,value:a,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function h(){a+=l}for(;c<e.length;){if(l=e[c++],l==="\\"&&n!==we.ParamRegExp){s=n,n=we.EscapeNext;continue}switch(n){case we.Static:l==="/"?(a&&u(),o()):l===":"?(u(),n=we.Param):h();break;case we.EscapeNext:h(),n=s;break;case we.Param:l==="("?n=we.ParamRegExp:sE.test(l)?h():(u(),n=we.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--);break;case we.ParamRegExp:l===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+l:n=we.ParamRegExpEnd:f+=l;break;case we.ParamRegExpEnd:u(),n=we.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--,f="";break;default:t("Unknown state");break}}return n===we.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),u(),o(),i}const ia="[^/]+?",rE={sensitive:!1,strict:!1,start:!0,end:!0};var Je=(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})(Je||{});const oE=/[.+*?^${}()[\]/\\]/g;function lE(e,t){const n=he({},rE,t),s=[];let i=n.start?"^":"";const r=[];for(const a of e){const f=a.length?[]:[Je.Root];n.strict&&!a.length&&(i+="/");for(let u=0;u<a.length;u++){const h=a[u];let d=Je.Segment+(n.sensitive?Je.BonusCaseSensitive:0);if(h.type===Cn.Static)u||(i+="/"),i+=h.value.replace(oE,"\\$&"),d+=Je.Static;else if(h.type===Cn.Param){const{valueLine truncated
* @vue/compiler-core v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const hs=Symbol(""),rs=Symbol(""),Lr=Symbol(""),ti=Symbol(""),Ol=Symbol(""),mn=Symbol(""),Il=Symbol(""),Rl=Symbol(""),Dr=Symbol(""),kr=Symbol(""),bs=Symbol(""),Fr=Symbol(""),Pl=Symbol(""),Vr=Symbol(""),Ur=Symbol(""),Br=Symbol(""),Hr=Symbol(""),jr=Symbol(""),$r=Symbol(""),Ml=Symbol(""),wl=Symbol(""),Ti=Symbol(""),ni=Symbol(""),Xr=Symbol(""),Gr=Symbol(""),ps=Symbol(""),Ns=Symbol(""),Kr=Symbol(""),cr=Symbol(""),ih=Symbol(""),ar=Symbol(""),si=Symbol(""),rh=Symbol(""),oh=Symbol(""),Wr=Symbol(""),lh=Symbol(""),ch=Symbol(""),qr=Symbol(""),xl=Symbol(""),Bn={[hs]:"Fragment",[rs]:"Teleport",[Lr]:"Suspense",[ti]:"KeepAlive",[Ol]:"BaseTransition",[mn]:"openBlock",[Il]:"createBlock",[Rl]:"createElementBlock",[Dr]:"createVNode",[kr]:"createElementVNode",[bs]:"createCommentVNode",[Fr]:"createTextVNode",[Pl]:"createStaticVNode",[Vr]:"resolveComponent",[Ur]:"resolveDynamicComponent",[Br]:"resolveDirective",[Hr]:"resolveFilter",[jr]:"withDirectives",[$r]:"renderList",[Ml]:"renderSlot",[wl]:"createSlots",[Ti]:"toDisplayString",[ni]:"mergeProps",[Xr]:"normalizeClass",[Gr]:"normalizeStyle",[ps]:"normalizeProps",[Ns]:"guardReactiveProps",[Kr]:"toHandlers",[cr]:"camelize",[ih]:"capitalize",[ar]:"toHandlerKey",[si]:"setBlockTracking",[rh]:"pushScopeId",[oh]:"popScopeId",[Wr]:"withCtx",[lh]:"unref",[ch]:"isRef",[qr]:"withMemo",[xl]:"isMemoSame"};function ah(e){Object.getOwnPropertySymbols(e).forEach(t=>{Bn[t]=e[t]})}const NE={HTML:0,0:"HTML",SVG:1,1:"SVG",MATH_ML:2,2:"MATH_ML"},vE={ROOT:0,0:"ROOT",ELEMENT:1,1:"ELEMENT",TEXT:2,2:"TEXT",COMMENT:3,3:"COMMENT",SIMPLE_EXPRESSION:4,4:"SIMPLE_EXPRESSION",INTERPOLATION:5,5:"INTERPOLATION",ATTRIBUTE:6,6:"ATTRIBUTE",DIRECTIVE:7,7:"DIRECTIVE",COMPOUND_EXPRESSION:8,8:"COMPOUND_EXPRESSION",IF:9,9:"IF",IF_BRANCH:10,10:"IF_BRANCH",FOR:11,11:"FOR",TEXT_CALL:12,12:"TEXT_CALL",VNODE_CALL:13,13:"VNODE_CALL",JS_CALL_EXPRESSION:14,14:"JS_CALL_EXPRESSION",JS_OBJECT_EXPRESSION:15,15:"JS_OBJECT_EXPRESSION",JS_PROPERTY:16,16:"JS_PROPERTY",JS_ARRAY_EXPRESSION:17,17:"JS_ARRAY_EXPRESSION",JS_FUNCTION_EXPRESSION:18,18:"JS_FUNCTION_EXPRESSION",JS_CONDITIONAL_EXPRESSION:19,19:"JS_CONDITIONAL_EXPRESSION",JS_CACHE_EXPRESSION:20,20:"JS_CACHE_EXPRESSION",JS_BLOCK_STATEMENT:21,21:"JS_BLOCK_STATEMENT",JS_TEMPLATE_LITERAL:22,22:"JS_TEMPLATE_LITERAL",JS_IF_STATEMENT:23,23:"JS_IF_STATEMENT",JS_ASSIGNMENT_EXPRESSION:24,24:"JS_ASSIGNMENT_EXPRESSION",JS_SEQUENCE_EXPRESSION:25,25:"JS_SEQUENCE_EXPRESSION",JS_RETURN_STATEMENT:26,26:"JS_RETURN_STATEMENT"},AE={ELEMENT:0,0:"ELEMENT",COMPONENT:1,1:"COMPONENT",SLOT:2,2:"SLOT",TEMPLATE:3,3:"TEMPLATE"},CE={NOT_CONSTANT:0,0:"NOT_CONSTANT",CAN_SKIP_PATCH:1,1:"CAN_SKIP_PATCH",CAN_CACHE:2,2:"CAN_CACHE",CAN_STRINGIFY:3,3:"CAN_STRINGIFY"},xe={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function fh(e,t=""){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:xe}}function ds(e,t,n,s,i,r,o,c=!1,l=!1,a=!1,f=xe){return e&&(c?(e.helper(mn),e.helper($n(e.inSSR,a))):e.helper(jn(e.inSSR,a)),o&&e.helper(jr)),{type:13,tag:t,props:n,children:s,patchFlag:i,dynamicProps:r,directives:o,isBlock:c,disableTracking:l,isComponent:a,loc:f}}function dn(e,t=xe){return{type:17,loc:t,elements:e}}function ht(e,t=xe){return{type:15,loc:t,properties:e}}function Ce(e,t){return{type:16,loc:xe,key:ee(e)?ne(e,!0):e,value:t}}function ne(e,t=!1,n=xe,s=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:s}}function OE(e,t){return{type:5,loc:t,content:ee(e)?ne(e,!1,t):e}}function Et(e,t=xe){return{type:8,loc:t,children:e}}function Re(e,t=[],n=xe){return{type:14,loc:n,callee:e,arguments:t}}function Hn(e,t=void 0,n=!1,s=!1,i=xe){return{type:18,params:e,returns:t,newline:n,isSlot:s,loc:i}}function fr(e,t,n,s=!0){return{type:19,test:e,consequent:t,alternate:n,newline:s,loc:xe}}function uh(e,t,n=!1,s=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:s,needArraySpread:!1,loc:xe}}function hh(e){return{type:21,body:e,loc:xe}}function IE(e){return{type:22,elements:e,loc:xe}}function RE(e,t,n){return{type:23,test:e,consequent:t,alternate:n,loc:xe}}function PE(e,t){return{type:24,left:e,right:t,loc:xe}}function ME(e){return{type:25,expressions:e,loc:xe}}function wE(e){return{type:26,returns:e,loc:xe}}function jn(e,t){return e||t?Dr:kr}function $n(e,t){return e||t?Il:Rl}function Yr(e,{helper:t,removeHelper:n,inSSR:s}){e.isBlock||(e.isBlock=!0,n(jn(s,e.isComponent)),t(mn),t($n(s,e.isComponent)))}const pa=new Uint8Array([123,123]),da=new Uint8Array([125,125]);function ga(e){return e>=97&&e<=122||e>=65&&e<=90}function ut(e){return e===32||e===10||e===9||e===12||e===13}function rn(e){return e===47||e===62||ut(e)}function ur(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}const $e={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnLine truncated
Details: ${o}`:""}`,l=new SyntaxError(c);l.code=e,n&&(l.loc=n),t.onWarn(l)}function Ll(e){throw e}function ph(e){}function Ee(e,t,n,s){const i=`https://vuejs.org/error-reference/#compiler-${e}`,r=new SyntaxError(String(i));return r.code=e,r.loc=t,r}const FE={ABRUPT_CLOSING_OF_EMPTY_COMMENT:0,0:"ABRUPT_CLOSING_OF_EMPTY_COMMENT",CDATA_IN_HTML_CONTENT:1,1:"CDATA_IN_HTML_CONTENT",DUPLICATE_ATTRIBUTE:2,2:"DUPLICATE_ATTRIBUTE",END_TAG_WITH_ATTRIBUTES:3,3:"END_TAG_WITH_ATTRIBUTES",END_TAG_WITH_TRAILING_SOLIDUS:4,4:"END_TAG_WITH_TRAILING_SOLIDUS",EOF_BEFORE_TAG_NAME:5,5:"EOF_BEFORE_TAG_NAME",EOF_IN_CDATA:6,6:"EOF_IN_CDATA",EOF_IN_COMMENT:7,7:"EOF_IN_COMMENT",EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT:8,8:"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT",EOF_IN_TAG:9,9:"EOF_IN_TAG",INCORRECTLY_CLOSED_COMMENT:10,10:"INCORRECTLY_CLOSED_COMMENT",INCORRECTLY_OPENED_COMMENT:11,11:"INCORRECTLY_OPENED_COMMENT",INVALID_FIRST_CHARACTER_OF_TAG_NAME:12,12:"INVALID_FIRST_CHARACTER_OF_TAG_NAME",MISSING_ATTRIBUTE_VALUE:13,13:"MISSING_ATTRIBUTE_VALUE",MISSING_END_TAG_NAME:14,14:"MISSING_END_TAG_NAME",MISSING_WHITESPACE_BETWEEN_ATTRIBUTES:15,15:"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES",NESTED_COMMENT:16,16:"NESTED_COMMENT",UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME:17,17:"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME",UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE:18,18:"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE",UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME:19,19:"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME",UNEXPECTED_NULL_CHARACTER:20,20:"UNEXPECTED_NULL_CHARACTER",UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME:21,21:"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME",UNEXPECTED_SOLIDUS_IN_TAG:22,22:"UNEXPECTED_SOLIDUS_IN_TAG",X_INVALID_END_TAG:23,23:"X_INVALID_END_TAG",X_MISSING_END_TAG:24,24:"X_MISSING_END_TAG",X_MISSING_INTERPOLATION_END:25,25:"X_MISSING_INTERPOLATION_END",X_MISSING_DIRECTIVE_NAME:26,26:"X_MISSING_DIRECTIVE_NAME",X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END:27,27:"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END",X_V_IF_NO_EXPRESSION:28,28:"X_V_IF_NO_EXPRESSION",X_V_IF_SAME_KEY:29,29:"X_V_IF_SAME_KEY",X_V_ELSE_NO_ADJACENT_IF:30,30:"X_V_ELSE_NO_ADJACENT_IF",X_V_FOR_NO_EXPRESSION:31,31:"X_V_FOR_NO_EXPRESSION",X_V_FOR_MALFORMED_EXPRESSION:32,32:"X_V_FOR_MALFORMED_EXPRESSION",X_V_FOR_TEMPLATE_KEY_PLACEMENT:33,33:"X_V_FOR_TEMPLATE_KEY_PLACEMENT",X_V_BIND_NO_EXPRESSION:34,34:"X_V_BIND_NO_EXPRESSION",X_V_ON_NO_EXPRESSION:35,35:"X_V_ON_NO_EXPRESSION",X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET:36,36:"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET",X_V_SLOT_MIXED_SLOT_USAGE:37,37:"X_V_SLOT_MIXED_SLOT_USAGE",X_V_SLOT_DUPLICATE_SLOT_NAMES:38,38:"X_V_SLOT_DUPLICATE_SLOT_NAMES",X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN:39,39:"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN",X_V_SLOT_MISPLACED:40,40:"X_V_SLOT_MISPLACED",X_V_MODEL_NO_EXPRESSION:41,41:"X_V_MODEL_NO_EXPRESSION",X_V_MODEL_MALFORMED_EXPRESSION:42,42:"X_V_MODEL_MALFORMED_EXPRESSION",X_V_MODEL_ON_SCOPE_VARIABLE:43,43:"X_V_MODEL_ON_SCOPE_VARIABLE",X_V_MODEL_ON_PROPS:44,44:"X_V_MODEL_ON_PROPS",X_V_MODEL_ON_CONST:45,45:"X_V_MODEL_ON_CONST",X_INVALID_EXPRESSION:46,46:"X_INVALID_EXPRESSION",X_KEEP_ALIVE_INVALID_CHILDREN:47,47:"X_KEEP_ALIVE_INVALID_CHILDREN",X_PREFIX_ID_NOT_SUPPORTED:48,48:"X_PREFIX_ID_NOT_SUPPORTED",X_MODULE_MODE_NOT_SUPPORTED:49,49:"X_MODULE_MODE_NOT_SUPPORTED",X_CACHE_HANDLER_NOT_SUPPORTED:50,50:"X_CACHE_HANDLER_NOT_SUPPORTED",X_SCOPE_ID_NOT_SUPPORTED:51,51:"X_SCOPE_ID_NOT_SUPPORTED",X_VNODE_HOOKS:52,52:"X_VNODE_HOOKS",X_V_BIND_INVALID_SAME_NAME_ARGUMENT:53,53:"X_V_BIND_INVALID_SAME_NAME_ARGUMENT",__EXTEND_POINT__:54,54:"__EXTEND_POINT__"},VE={0:"Illegal comment.",1:"CDATA section is allowed only in XML context.",2:"Duplicate attribute.",3:"End tag cannot have attributes.",4:"Illegal '/' in tags.",5:"Unexpected EOF in tag.",6:"Unexpected EOF in CDATA section.",7:"Unexpected EOF in comment.",8:"Unexpected EOF in script.",9:"Unexpected EOF in tag.",10:"Incorrectly closed comment.",11:"Incorrectly opened comment.",12:"Illegal tag name. Use '&lt;' to print '<'.",13:"Attribute value was expected.",14:"End tag name was expected.",15:"Whitespace was expected.",16:"Unexpected '<!--' in comment.",17:`Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`,18:"Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).",19:"Attribute name cannot start with '='.",21:"'<?' is allowed only in XML context.",20:"Unexpected null character.",22:"Illegal '/' in tags.",23:"Invalid end tag.",24:"Element is missing end tag.",25:"Interpolation end sign was not found.",27:"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.",26:"Legal directive name was expected.",28:"v-if/v-else-if is missing expression.",29:"v-if/else branches must use unique keys.",30:"v-else/v-else-if has no adjacent v-if or v-else-if.",31:"v-for is missing expression.",32:"v-for has invalid expression.",33:"<template v-Line truncated
Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,45:"v-model cannot be used on a const binding because it is not writable.",46:"Error parsing JavaScript expression: ",47:"<KeepAlive> expects exactly one child component.",52:"@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.",48:'"prefixIdentifiers" option is not supported in this build of compiler.',49:"ES module mode is not supported in this build of compiler.",50:'"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.',51:'"scopeId" option is only supported in module mode.',54:""};function UE(e,t,n=!1,s=[],i=Object.create(null)){}function BE(e,t,n){return!1}function HE(e,t){if(e&&(e.type==="ObjectProperty"||e.type==="ArrayPattern")){let n=t.length;for(;n--;){const s=t[n];if(s.type==="AssignmentExpression")return!0;if(s.type!=="ObjectProperty"&&!s.type.endsWith("Pattern"))break}}return!1}function jE(e){let t=e.length;for(;t--;){const n=e[t];if(n.type==="NewExpression")return!0;if(n.type!=="MemberExpression")break}return!1}function $E(e,t){for(const n of e.params)for(const s of wt(n))t(s)}function dh(e,t){const n=e.type==="SwitchCase"?e.consequent:e.body;for(const s of n)if(s.type==="VariableDeclaration"){if(s.declare)continue;for(const i of s.declarations)for(const r of wt(i.id))t(r)}else if(s.type==="FunctionDeclaration"||s.type==="ClassDeclaration"){if(s.declare||!s.id)continue;t(s.id)}else XE(s)?GE(s,!0,t):s.type==="SwitchStatement"&&KE(s,!0,t)}function XE(e){return e.type==="ForOfStatement"||e.type==="ForInStatement"||e.type==="ForStatement"}function GE(e,t,n){const s=e.type==="ForStatement"?e.init:e.left;if(s&&s.type==="VariableDeclaration"&&(s.kind==="var"?t:!t))for(const i of s.declarations)for(const r of wt(i.id))n(r)}function KE(e,t,n){for(const s of e.cases){for(const i of s.consequent)if(i.type==="VariableDeclaration"&&(i.kind==="var"?t:!t))for(const r of i.declarations)for(const o of wt(r.id))n(o);dh(s,n)}}function wt(e,t=[]){switch(e.type){case"Identifier":t.push(e);break;case"MemberExpression":let n=e;for(;n.type==="MemberExpression";)n=n.object;t.push(n);break;case"ObjectPattern":for(const s of e.properties)s.type==="RestElement"?wt(s.argument,t):wt(s.value,t);break;case"ArrayPattern":e.elements.forEach(s=>{s&&wt(s,t)});break;case"RestElement":wt(e.argument,t);break;case"AssignmentPattern":wt(e.left,t);break}return t}const WE=e=>/Function(?:Expression|Declaration)$|Method$/.test(e.type),gh=e=>e&&(e.type==="ObjectProperty"||e.type==="ObjectMethod")&&!e.computed,qE=(e,t)=>gh(t)&&t.key===e,mh=["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"];function _h(e){return mh.includes(e.type)?_h(e.expression):e}const Ze=e=>e.type===4&&e.isStatic;function Dl(e){switch(e){case"Teleport":case"teleport":return rs;case"Suspense":case"suspense":return Lr;case"KeepAlive":case"keep-alive":return ti;case"BaseTransition":case"base-transition":return Ol}}const YE=/^$|^\d|[^\$\w\xA0-\uFFFF]/,bi=e=>!YE.test(e),kl=/[A-Za-z_$\xA0-\uFFFF]/,JE=/[\.\?\w$\xA0-\uFFFF]/,zE=/\s+[.[]\s*|\s*[.[]\s+/g,Eh=e=>e.type===4?e.content:e.loc.source,yh=e=>{const t=Eh(e).trim().replace(zE,c=>c.trim());let n=0,s=[],i=0,r=0,o=null;for(let c=0;c<t.length;c++){const l=t.charAt(c);switch(n){case 0:if(l==="[")s.push(n),n=1,i++;else if(l==="(")s.push(n),n=2,r++;else if(!(c===0?kl:JE).test(l))return!1;break;case 1:l==="'"||l==='"'||l==="`"?(s.push(n),n=3,o=l):l==="["?i++:l==="]"&&(--i||(n=s.pop()));break;case 2:if(l==="'"||l==='"'||l==="`")s.push(n),n=3,o=l;else if(l==="(")r++;else if(l===")"){if(c===t.length-1)return!1;--r||(n=s.pop())}break;case 3:l===o&&(n=s.pop(),o=null);break}}return!i&&!r},QE=Fe,Fl=yh,ZE=/^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/,Sh=e=>ZE.test(Eh(e)),ey=Fe,Th=Sh;function ty(e,t,n=t.length){return bh({offset:e.offset,line:e.line,column:e.column},t,n)}function bh(e,t,n=t.length){let s=0,i=-1;for(let r=0;r<n;r++)t.charCodeAt(r)===10&&(s++,i=r);return e.offset+=n,e.line+=s,e.column=i===-1?e.column+n:n-i,e}function ny(e,t){if(!e)throw new Error(t||"unexpected compiler condition")}function Qe(e,t,n=!1){for(let s=0;s<e.props.length;s++){const i=e.props[s];if(i.type===7&&(n||i.exp)&&(ee(t)?i.name===t:t.test(i.name)))return i}}function Ni(e,t,n=!1,s=!1){for(let i=0;i<e.props.length;i++){const r=e.props[i];if(r.type===6){if(n)continue;if(r.name===t&&(r.value||s))return r}else if(r.name==="bind"&&(r.exp||s)&&hn(r.arg,t))return r}}function hn(e,t){return!!(e&&Ze(e)&&e.content===t)}function Nh(e){return e.props.some(t=>t.type===7&&t.name==="bind"&&(!t.arg||t.arg.type!==4||!t.arg.isStatic))}function Bi(e){return e.type===5||e.type===2}function jo(e){return e.type===7&&e.name==="pre"}function Vl(e){return e.type===7&&e.name==="slot"}function ms(e){return e.t Line truncated
`);else if(Ul(i.content)){const r=e[s-1]&&e[s-1].type,o=e[s+1]&&e[s+1].type;!r||!o||t&&(r===3&&(o===3||o===1)||r===1&&(o===3||o===1&&uy(i.content)))?(n=!0,e[s]=null):i.content=" "}else t&&(i.content=Ph(i.content))}return n?e.filter(Boolean):e}function uy(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n===10||n===13)return!0}return!1}function Ph(e){let t="",n=!1;for(let s=0;s<e.length;s++)ut(e.charCodeAt(s))?n||(t+=" ",n=!0):(t+=e[s],n=!1);return t}function Xo(e){(Se[0]||oi).children.push(e)}function ve(e,t){return{start:Ne.getPos(e),end:t==null?t:Ne.getPos(t),source:t==null?t:Ue(e,t)}}function hy(e){return ve(e.start.offset,e.end.offset)}function On(e,t){e.end=Ne.getPos(t),e.source=Ue(e.start.offset,t)}function py(e){const t={type:6,name:e.rawName,nameLoc:ve(e.loc.start.offset,e.loc.start.offset+e.rawName.length),value:void 0,loc:e.loc};if(e.exp){const n=e.exp.loc;n.end.offset<e.loc.end.offset&&(n.start.offset--,n.start.column--,n.end.offset++,n.end.column++),t.value={type:2,content:e.exp.content,loc:n}}return t}function ji(e,t=!1,n,s=0,i=0){return ne(e,t,n,s)}function Bt(e,t,n){ue.onError(Ee(e,ve(t,t)))}function dy(){Ne.reset(),Xe=null,oe=null,it="",Ht=-1,Nn=-1,Se.length=0}function jl(e,t){if(dy(),Yt=e,ue=se({},Oh),t){let i;for(i in t)t[i]!=null&&(ue[i]=t[i])}Ne.mode=ue.parseMode==="html"?1:ue.parseMode==="sfc"?2:0,Ne.inXML=ue.ns===1||ue.ns===2;const n=t&&t.delimiters;n&&(Ne.delimiterOpen=ur(n[0]),Ne.delimiterClose=ur(n[1]));const s=oi=fh([],e);return Ne.parse(Yt),s.loc=ve(0,e.length),s.children=Rh(s.children),oi=null,s}function gy(e,t){$i(e,void 0,t,!!Mh(e))}function Mh(e){const t=e.children.filter(n=>n.type!==3);return t.length===1&&t[0].type===1&&!ii(t[0])?t[0]:null}function $i(e,t,n,s=!1,i=!1){const{children:r}=e,o=[];for(let f=0;f<r.length;f++){const u=r[f];if(u.type===1&&u.tagType===0){const h=s?0:lt(u,n);if(h>0){if(h>=2){u.codegenNode.patchFlag=-1,o.push(u);continue}}else{const d=u.codegenNode;if(d.type===13){const E=d.patchFlag;if((E===void 0||E===512||E===1)&&xh(u,n)>=2){const _=Lh(u);_&&(d.props=n.hoist(_))}d.dynamicProps&&(d.dynamicProps=n.hoist(d.dynamicProps))}}}else if(u.type===12&&(s?0:lt(u,n))>=2){u.codegenNode.type===14&&u.codegenNode.arguments.length>0&&u.codegenNode.arguments.push("-1"),o.push(u);continue}if(u.type===1){const h=u.tagType===1;h&&n.scopes.vSlot++,$i(u,e,n,!1,i),h&&n.scopes.vSlot--}else if(u.type===11)$i(u,e,n,u.children.length===1,!0);else if(u.type===9)for(let h=0;h<u.branches.length;h++)$i(u.branches[h],e,n,u.branches[h].children.length===1,i)}let c=!1;if(o.length===r.length&&e.type===1){if(e.tagType===0&&e.codegenNode&&e.codegenNode.type===13&&H(e.codegenNode.children))e.codegenNode.children=l(dn(e.codegenNode.children)),c=!0;else if(e.tagType===1&&e.codegenNode&&e.codegenNode.type===13&&e.codegenNode.children&&!H(e.codegenNode.children)&&e.codegenNode.children.type===15){const f=a(e.codegenNode,"default");f&&(f.returns=l(dn(f.returns)),c=!0)}else if(e.tagType===3&&t&&t.type===1&&t.tagType===1&&t.codegenNode&&t.codegenNode.type===13&&t.codegenNode.children&&!H(t.codegenNode.children)&&t.codegenNode.children.type===15){const f=Qe(e,"slot",!0),u=f&&f.arg&&a(t.codegenNode,f.arg);u&&(u.returns=l(dn(u.returns)),c=!0)}}if(!c)for(const f of o)f.codegenNode=n.cache(f.codegenNode);function l(f){const u=n.cache(f);return u.needArraySpread=!0,u}function a(f,u){if(f.children&&!H(f.children)&&f.children.type===15){const h=f.children.properties.find(d=>d.key===u||d.key.content===u);return h&&h.value}}o.length&&n.transformHoist&&n.transformHoist(r,n,e)}function lt(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(e.tagType!==0)return 0;const s=n.get(e);if(s!==void 0)return s;const i=e.codegenNode;if(i.type!==13||i.isBlock&&e.tag!=="svg"&&e.tag!=="foreignObject"&&e.tag!=="math")return 0;if(i.patchFlag===void 0){let o=3;const c=xh(e,t);if(c===0)return n.set(e,0),0;c<o&&(o=c);for(let l=0;l<e.children.length;l++){const a=lt(e.children[l],t);if(a===0)return n.set(e,0),0;a<o&&(o=a)}if(o>1)for(let l=0;l<e.props.length;l++){const a=e.props[l];if(a.type===7&&a.name==="bind"&&a.exp){const f=lt(a.exp,t);if(f===0)return n.set(e,0),0;f<o&&(o=f)}}if(i.isBlock){for(let l=0;l<e.props.length;l++)if(e.props[l].type===7)return n.set(e,0),0;t.removeHelper(mn),t.removeHelper($n(t.inSSR,i.isComponent)),i.isBlock=!1,t.helper(jn(t.inSSR,i.isComponent))}return n.set(e,o),o}else return n.set(e,0),0;case 2:case 3:return 3;case 9:case 11:case 10:return 0;case 5:case 12:return lt(e.content,t);case 4:return e.constType;case 8:let r=3;for(let o=0;o<e.children.length;o++){const c=e.children[o];if(ee(c)||je(c))continue;const l=lt(c,t);if(l===0)return 0;l<r&&(r=l)}return r;case 20:return 2;default:return 0}}const my=new Set([Xr,Gr,ps,Ns]);function wh(e,t){if(e.type===14&&!ee(e.callee)&&my.has(e.callee)){const n=e.arguments[0];if(n.type===4)return lt(n,t);if(n.type===14)return wh(n,t)}return 0}function xh(e,t){let n=3;const s=Lh(e);if(s&&s.type===15){const{properties:i}=s;for(let r=0;r<i.length;r++){co Line truncated
`+" ".repeat(_),0)}return d}function Vh(e,t={}){const n=yy(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:s,push:i,prefixIdentifiers:r,indent:o,deindent:c,newline:l,scopeId:a,ssr:f}=n,u=Array.from(e.helpers),h=u.length>0,d=!r&&s!=="module";Sy(e,n);const _=f?"ssrRender":"render",O=(f?["_ctx","_push","_parent","_attrs"]:["_ctx","_cache"]).join(", ");if(i(`function ${_}(${O}) {`),o(),d&&(i("with (_ctx) {"),o(),h&&(i(`const { ${u.map(Fh).join(", ")} } = _Vue
`,-1),l())),e.components.length&&(_o(e.components,"component",n),(e.directives.length||e.temps>0)&&l()),e.directives.length&&(_o(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),_o(e.filters,"filter",n),l()),e.temps>0){i("let ");for(let S=0;S<e.temps;S++)i(`${S>0?", ":""}_temp${S}`)}return(e.components.length||e.directives.length||e.temps)&&(i(`
`,0),l()),f||i("return "),e.codegenNode?qe(e.codegenNode,n):i("null"),d&&(c(),i("}")),c(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Sy(e,t){const{ssr:n,prefixIdentifiers:s,push:i,newline:r,runtimeModuleName:o,runtimeGlobalName:c,ssrRuntimeModuleName:l}=t,a=c,f=Array.from(e.helpers);if(f.length>0&&(i(`const _Vue = ${a}
`,-1),e.hoists.length)){const u=[Dr,kr,bs,Fr,Pl].filter(h=>f.includes(h)).map(Fh).join(", ");i(`const { ${u} } = _Vue
`,-1)}Ty(e.hoists,t),r(),i("return ")}function _o(e,t,{helper:n,push:s,newline:i,isTS:r}){const o=n(t==="filter"?Hr:t==="component"?Vr:Br);for(let c=0;c<e.length;c++){let l=e[c];const a=l.endsWith("__self");a&&(l=l.slice(0,-6)),s(`const ${_s(l,t)} = ${o}(${JSON.stringify(l)}${a?", true":""})${r?"!":""}`),c<e.length-1&&i()}}function Ty(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:s}=t;s();for(let i=0;i<e.length;i++){const r=e[i];r&&(n(`const _hoisted_${i+1} = `),qe(r,t),s())}t.pure=!1}function Xl(e,t){const n=e.length>3||!1;t.push("["),n&&t.indent(),Ai(e,t,n),n&&t.deindent(),t.push("]")}function Ai(e,t,n=!1,s=!0){const{push:i,newline:r}=t;for(let o=0;o<e.length;o++){const c=e[o];ee(c)?i(c,-3):H(c)?Xl(c,t):qe(c,t),o<e.length-1&&(n?(s&&i(","),r()):s&&i(", "))}}function qe(e,t){if(ee(e)){t.push(e,-3);return}if(je(e)){t.push(t.helper(e));return}switch(e.type){case 1:case 9:case 11:qe(e.codegenNode,t);break;case 2:by(e,t);break;case 4:Uh(e,t);break;case 5:Ny(e,t);break;case 12:qe(e.codegenNode,t);break;case 8:Bh(e,t);break;case 3:Ay(e,t);break;case 13:Cy(e,t);break;case 14:Iy(e,t);break;case 15:Ry(e,t);break;case 17:Py(e,t);break;case 18:My(e,t);break;case 19:wy(e,t);break;case 20:xy(e,t);break;case 21:Ai(e.body,t,!0,!1);break}}function by(e,t){t.push(JSON.stringify(e.content),-3,e)}function Uh(e,t){const{content:n,isStatic:s}=e;t.push(s?JSON.stringify(n):n,-3,e)}function Ny(e,t){const{push:n,helper:s,pure:i}=t;i&&n(zr),n(`${s(Ti)}(`),qe(e.content,t),n(")")}function Bh(e,t){for(let n=0;n<e.children.length;n++){const s=e.children[n];ee(s)?t.push(s,-3):qe(s,t)}}function vy(e,t){const{push:n}=t;if(e.type===8)n("["),Bh(e,t),n("]");else if(e.isStatic){const s=bi(e.content)?e.content:JSON.stringify(e.content);n(s,-2,e)}else n(`[${e.content}]`,-3,e)}function Ay(e,t){const{push:n,helper:s,pure:i}=t;i&&n(zr),n(`${s(bs)}(${JSON.stringify(e.content)})`,-3,e)}function Cy(e,t){const{push:n,helper:s,pure:i}=t,{tag:r,props:o,children:c,patchFlag:l,dynamicProps:a,directives:f,isBlock:u,disableTracking:h,isComponent:d}=e;let E;l&&(E=String(l)),f&&n(s(jr)+"("),u&&n(`(${s(mn)}(${h?"true":""}), `),i&&n(zr);const _=u?$n(t.inSSR,d):jn(t.inSSR,d);n(s(_)+"(",-2,e),Ai(Oy([r,o,c,E,a]),t),n(")"),u&&n(")"),f&&(n(", "),qe(f,t),n(")"))}function Oy(e){let t=e.length;for(;t--&&e[t]==null;);return e.slice(0,t+1).map(n=>n||"null")}function Iy(e,t){const{push:n,helper:s,pure:i}=t,r=ee(e.callee)?e.callee:s(e.callee);i&&n(zr),n(r+"(",-2,e),Ai(e.arguments,t),n(")")}function Ry(e,t){const{push:n,indent:s,deindent:i,newline:r}=t,{properties:o}=e;if(!o.length){n("{}",-2,e);return}const c=o.length>1||!1;n(c?"{":"{ "),c&&s();for(let l=0;l<o.length;l++){const{key:a,value:f}=o[l];vy(a,t),n(": "),qe(f,t),l<o.length-1&&(n(","),r())}c&&i(),n(c?"}":" }")}function Py(e,t){Xl(e.elements,t)}function My(e,t){const{push:n,indent:s,deindent:i}=t,{params:r,returns:o,body:c,newline:l,isSlot:a}=e;a&&n(`_${Bn[Wr]}(`),n("(",-2,e),H(r)?Ai(r,t):r&&qe(r,t),n(") => "),(l||c)&&(n("{"),s()),o?(l&&n("return "),H(o)?Xl(o,t):qe(o,t)):c&&qe(c,t),(l||c)&&(i(),n("}")),a&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}function wy(e,t){const{test:n,consequent:s,alternate:i,newline:r}=e,{push:o,indent:c,deindent:l,newline:a}=t;if(n.type===4){const u=!bi(n.content);u&&o("("),Uh(n,t),u&&o(")")}else o("("),qe(n,t),o(")");r&&c(),t.indentLevel++,r||o(" "),o("? "),qe(s,t),t.indentLevel--,r&&a(),r||o(" "),o(": ");const f=i.type===19;f||t.indentLevel++,qe(i,t),f||t.indentLevel--,r&&l(!0)}function xy(e,t){const{push:n,helper:s,indent:i,deindent:r,newline:o}=t,{needPauseTracking:c,needArraySpread:l}=e;l&&n("[...("),n(`_cache[${e.index}] || (`),c&&(i(),n(`${s(si)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("(")),n(`_cache[${e.index}] = `),qe(e.value,t),c&&(n(`).cacheIndex = ${e.index},`),o(),n(`${s(si)}(1),`),o(),n(`_cache[${e.index}]`),r()),n(")"),l&&n(")]")}new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");const Ly=(e,t)=>{if(e.type===5)e.content=Xi(e.content,t);else if(e.type===1){const n=Qe(e,"memo");for(let s=0;s<e.props.length;s++){const i=e.props[s];if(i.type===7&&i.name!=="for"){const r=i.exp,o=i.arg;r&&r.type===4&&!(i.name==="on"&&o)&&!(n&&o&&o.type===4&&o.content==="key")&&(i.exp=Xi(r,t,i.name==="slot")),o&&o.type===4&&!o.isStatic&&(i.arg=Xi(o,t))}}}};function Xi(e,t,n=!1,s=!1,i=Object.create(t.identifiers)){return e}function Hh(e){return ee(e)?e:e.type===4?e.content:e.children.map(Hh).join("")}const Dy=$l(/^(?:if|else|else-if)$/,(e,t,n)=>jh(e,t,n,(s,i,r)=>{const o=n.parent.children;let c=o.indexOf(s),l=0;for(;c-->=0;){const a=o[c];a&&a.type===9&&(l+=a.branches.length)}return()=>{if(r)s.codegenNode=Ta(i,l,n);else{const a=ky(s.codegenNode);a.alternate=Ta(i,l+s.branches.length-1,n)}}}));function jh(e,t,n,s){if(t.name!=="else"&&(!t.exp||!t.exp.content.trim())){const i=t.exp?t.exp. Line truncated
* @vue/compiler-dom v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const Yl=Symbol(""),Jl=Symbol(""),zl=Symbol(""),Ql=Symbol(""),dr=Symbol(""),Zl=Symbol(""),ec=Symbol(""),tc=Symbol(""),nc=Symbol(""),sc=Symbol("");ah({[Yl]:"vModelRadio",[Jl]:"vModelCheckbox",[zl]:"vModelText",[Ql]:"vModelSelect",[dr]:"vModelDynamic",[Zl]:"withModifiers",[ec]:"withKeys",[tc]:"vShow",[nc]:"Transition",[sc]:"TransitionGroup"});let Jn;function zy(e,t=!1){return Jn||(Jn=document.createElement("div")),t?(Jn.innerHTML=`<div foo="${e.replace(/"/g,"&quot;")}">`,Jn.children[0].getAttribute("foo")):(Jn.innerHTML=e,Jn.textContent)}const ic={parseMode:"html",isVoidTag:Ba,isNativeTag:e=>Fa(e)||Va(e)||Ua(e),isPreTag:e=>e==="pre",isIgnoreNewlineTag:e=>e==="pre"||e==="textarea",decodeEntities:zy,isBuiltInComponent:e=>{if(e==="Transition"||e==="transition")return nc;if(e==="TransitionGroup"||e==="transition-group")return sc},getNamespace(e,t,n){let s=t?t.ns:n;if(t&&s===2)if(t.tag==="annotation-xml"){if(e==="svg")return 1;t.props.some(i=>i.type===6&&i.name==="encoding"&&i.value!=null&&(i.value.content==="text/html"||i.value.content==="application/xhtml+xml"))&&(s=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&e!=="mglyph"&&e!=="malignmark"&&(s=0);else t&&s===1&&(t.tag==="foreignObject"||t.tag==="desc"||t.tag==="title")&&(s=0);if(s===0){if(e==="svg")return 1;if(e==="math")return 2}return s}},np=e=>{e.type===1&&e.props.forEach((t,n)=>{t.type===6&&t.name==="style"&&t.value&&(e.props[n]={type:7,name:"bind",arg:ne("style",!0,t.loc),exp:Qy(t.value.content,t.loc),modifiers:[],loc:t.loc})})},Qy=(e,t)=>{const n=Yo(e);return ne(JSON.stringify(n),!1,t,3)};function Jt(e,t){return Ee(e,t)}const Zy={X_V_HTML_NO_EXPRESSION:54,54:"X_V_HTML_NO_EXPRESSION",X_V_HTML_WITH_CHILDREN:55,55:"X_V_HTML_WITH_CHILDREN",X_V_TEXT_NO_EXPRESSION:56,56:"X_V_TEXT_NO_EXPRESSION",X_V_TEXT_WITH_CHILDREN:57,57:"X_V_TEXT_WITH_CHILDREN",X_V_MODEL_ON_INVALID_ELEMENT:58,58:"X_V_MODEL_ON_INVALID_ELEMENT",X_V_MODEL_ARG_ON_ELEMENT:59,59:"X_V_MODEL_ARG_ON_ELEMENT",X_V_MODEL_ON_FILE_INPUT_ELEMENT:60,60:"X_V_MODEL_ON_FILE_INPUT_ELEMENT",X_V_MODEL_UNNECESSARY_VALUE:61,61:"X_V_MODEL_UNNECESSARY_VALUE",X_V_SHOW_NO_EXPRESSION:62,62:"X_V_SHOW_NO_EXPRESSION",X_TRANSITION_INVALID_CHILDREN:63,63:"X_TRANSITION_INVALID_CHILDREN",X_IGNORED_SIDE_EFFECT_TAG:64,64:"X_IGNORED_SIDE_EFFECT_TAG",__EXTEND_POINT__:65,65:"__EXTEND_POINT__"},eS={54:"v-html is missing expression.",55:"v-html will override element children.",56:"v-text is missing expression.",57:"v-text will override element children.",58:"v-model can only be used on <input>, <textarea> and <select> elements.",59:"v-model argument is not supported on plain elements.",60:"v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.",61:"Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.",62:"v-show is missing expression.",63:"<Transition> expects exactly one child element or component.",64:"Tags with side effect (<script> and <style>) are ignored in client component templates."},tS=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Jt(54,i)),t.children.length&&(n.onError(Jt(55,i)),t.children.length=0),{props:[Ce(ne("innerHTML",!0,i),s||ne("",!0))]}},nS=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Jt(56,i)),t.children.length&&(n.onError(Jt(57,i)),t.children.length=0),{props:[Ce(ne("textContent",!0),s?lt(s,n)>0?s:Re(n.helperString(Ti),[s],i):ne("",!0))]}},sS=(e,t,n)=>{const s=ql(e,t,n);if(!s.props.length||t.tagType===1)return s;e.arg&&n.onError(Jt(59,e.arg.loc));const{tag:i}=t,r=n.isCustomElement(i);if(i==="input"||i==="textarea"||i==="select"||r){let o=zl,c=!1;if(i==="input"||r){const l=Ni(t,"type");if(l){if(l.type===7)o=dr;else if(l.value)switch(l.value.content){case"radio":o=Yl;break;case"checkbox":o=Jl;break;case"file":c=!0,n.onError(Jt(60,e.loc));break}}else Nh(t)&&(o=dr)}else i==="select"&&(o=Ql);c||(s.needRuntime=n.helper(o))}else n.onError(Jt(58,e.loc));return s.props=s.props.filter(o=>!(o.key.type===4&&o.key.content==="modelValue")),s},iS=Ve("passive,once,capture"),rS=Ve("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),oS=Ve("left,right"),sp=Ve("onkeyup,onkeydown,onkeypress"),lS=(e,t,n,s)=>{const i=[],r=[],o=[];for(let c=0;c<t.length;c++){const l=t[c].content;l==="native"&&gs("COMPILER_V_ON_NATIVE",n)||iS(l)?o.push(l):oS(l)?Ze(e)?sp(e.content.toLowerCase())?i.push(l):r.push(l):(i.push(l),r.push(l)):rS(l)?r.push(l):i.push(l)}return{keyModifiers:i,nonKeyModifiers:r,eventOptionModifiers:o}},Ra=(e,t)=>Ze(e)&&e.content.toLowerCase()==="onclick"?ne(t,!0):e.type!==4?Et(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,cS=(e,t,n)=>Wl(e,t,n,s=>{const{modifiers:i}=e;if(!i.length)return s;let{key:r,value:o}=s.props[0];const{keyModifiers:c,nonKeyModifiers:l,eventOptionModifiers:a}=lS(r,i,n,e.loc);if(l.includes("right")&&(r=Ra(r,"onContextmenu")),l.includes("middle")&&(r=Ra(r,"onMouseup")),l.length&&(o=Re(n.helper(Zl),[o,JSON.stringify(l)])),c.length&&(!Ze(r)||sp(r.content.toLowerCase()))&&(o=Re(n.helper(ec),[o,JSON.stringify(c)])),a Line truncated
* vue v3.5.33
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/var Pa;function _S(){return Pa||(Pa=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=dS,n=gS,s=mS;function i(l){var a=Object.create(null);if(l)for(var f in l)a[f]=l[f];return a.default=l,Object.freeze(a)}var r=i(n);const o=Object.create(null);function c(l,a){if(!s.isString(l))if(l.nodeType)l=l.innerHTML;else return s.NOOP;const f=s.genCacheKey(l,a),u=o[f];if(u)return u;if(l[0]==="#"){const _=document.querySelector(l);l=_?_.innerHTML:""}const h=s.extend({hoistStatic:!0,onError:void 0,onWarn:s.NOOP},a);!h.isCustomElement&&typeof customElements<"u"&&(h.isCustomElement=_=>!!customElements.get(_));const{code:d}=t.compile(l,h),E=new Function("Vue",d)(r);return E._rc=!0,o[f]=E}n.registerRuntimeCompiler(c),e.compile=c,Object.keys(n).forEach(function(l){l!=="default"&&!Object.prototype.hasOwnProperty.call(e,l)&&(e[l]=n[l])})})(mo)),mo}var Ma;function vS(){return Ma||(Ma=1,go.exports=_S()),go.exports}export{bS as $,n_ as A,Ft as B,Ae as C,pn as D,Or as E,ke as F,ul as G,Ar as H,Es as I,Wt as J,sl as K,ys as L,ko as M,Lt as N,di as O,le as P,md as Q,dg as R,Cl as S,Xd as T,vS as U,NS as V,zs as W,om as X,yl as Y,zo as Z,TS as _,Wi as a,Ff as a0,ug as a1,tr as a2,ll as a3,Te as a4,uu as a5,hg as a6,SS as a7,yS as a8,ES as a9,Ug as aa,Rg as ab,gg as ac,u_ as ad,ka as ae,fu as af,bl as ag,lr as ah,Cg as ai,Du as aj,Cr as b,gt as c,xf as d,pi as e,Sl as f,et as g,_i as h,mt as i,kd as j,Pr as k,mg as l,hu as m,gi as n,yi as o,Fs as p,Pf as q,xn as r,Mf as s,yd as t,en as u,Ou as v,Ln as w,il as x,Vd as y,Mm as z};