ezllm 0.0.32 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +27 -31
  3. package/dist/daemon.js +15 -19
  4. package/dist/server.js +88 -92
  5. package/dist/web-ui/assets/DashboardView-DB3iKQCS.js +1 -0
  6. package/dist/web-ui/assets/{LayoutView-CruZSfjc.css → LayoutView-BLjO8ed9.css} +1 -1
  7. package/dist/web-ui/assets/{LayoutView-Qw_xi3gT.js → LayoutView-DWg8yVra.js} +1 -1
  8. package/dist/web-ui/assets/{LoginView-KgJeUWPc.js → LoginView-Hrm8Vnje.js} +1 -1
  9. package/dist/web-ui/assets/LogsView-D33M-JJ7.js +5 -0
  10. package/dist/web-ui/assets/{LogsView-BGMjgMrv.css → LogsView-D7FTeaYQ.css} +1 -1
  11. package/dist/web-ui/assets/{ManagedServicesView-Bj3uLrri.js → ManagedServicesView-CyEGu6c8.js} +4 -4
  12. package/dist/web-ui/assets/{ManagedServicesView-Bi180Qjf.css → ManagedServicesView-D29NyvP6.css} +1 -1
  13. package/dist/web-ui/assets/ProvidersView-C8CfibS_.js +14 -0
  14. package/dist/web-ui/assets/{ProvidersView-5-nXXTf1.css → ProvidersView-DIlimMSR.css} +1 -1
  15. package/dist/web-ui/assets/{ServiceStatusView-9V1m2wDr.js → ServiceStatusView-BctoPehE.js} +1 -1
  16. package/dist/web-ui/assets/{SettingsView-MZYnVBqd.js → SettingsView-3gy8wT-p.js} +1 -1
  17. package/dist/web-ui/assets/SetupView-B1Mz6mzJ.js +1 -0
  18. package/dist/web-ui/assets/SetupView-BLl-ZFOA.css +1 -0
  19. package/dist/web-ui/assets/{config-BhvFrUZd.js → config-BU1w8kdn.js} +1 -1
  20. package/dist/web-ui/assets/format-Z1cpFfkW.js +1 -0
  21. package/dist/web-ui/assets/{index-WKbWAuG9.js → index-CREDEMKs.js} +1 -1
  22. package/dist/web-ui/assets/{message-D0z70H44.js → message-DPoeboTE.js} +1 -1
  23. package/dist/web-ui/assets/{providers-DvU3UWSV.js → providers-DQ4Op0Nb.js} +1 -1
  24. package/dist/web-ui/assets/router-CHObBy9_.js +6 -0
  25. package/dist/web-ui/assets/{useCopyToast-BpTqOna-.js → useCopyToast-pgRyL4NF.js} +1 -1
  26. package/dist/web-ui/assets/{useManagerApi-DFpyIMxD.js → useManagerApi-DIMNWza9.js} +1 -1
  27. package/dist/web-ui/assets/{useQuickRangeFilter-C-umbLTm.js → useQuickRangeFilter-D2Kl9eRA.js} +1 -1
  28. package/dist/web-ui/assets/useToast-CmSnOJzB.js +1 -0
  29. package/dist/web-ui/index.html +3 -3
  30. package/package.json +2 -2
  31. package/dist/web-ui/assets/DashboardView-3tDCIXni.js +0 -1
  32. package/dist/web-ui/assets/LogsView-LgHo98dV.js +0 -5
  33. package/dist/web-ui/assets/ProvidersView-DFJ4KxaM.js +0 -14
  34. package/dist/web-ui/assets/SetupView-BDyHouba.css +0 -1
  35. package/dist/web-ui/assets/SetupView-DNyvm9nq.js +0 -1
  36. package/dist/web-ui/assets/format-Dy_WTL6U.js +0 -1
  37. package/dist/web-ui/assets/router-Bu_wBVat.js +0 -6
  38. package/dist/web-ui/assets/useToast-BOEMOwWH.js +0 -1
@@ -1 +1 @@
1
- .quota-block[data-v-cda3702d]{background:#fafbfc;border:1px solid #f0f2f5;border-radius:6px;margin-bottom:4px;padding:8px 10px}.quota-header[data-v-cda3702d]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.quota-block-title[data-v-cda3702d]{color:#303133;flex-shrink:0;font-size:13px;font-weight:600}.quota-header-stats[data-v-cda3702d]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.quota-hint[data-v-cda3702d]{color:#c0c4cc;font-size:12px}.quota-error[data-v-cda3702d]{color:#f56c6c;word-break:break-all;margin-bottom:4px;font-size:12px}.quota-row[data-v-cda3702d]{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.quota-label[data-v-cda3702d]{color:#909399;flex-shrink:0;width:72px;font-size:12px;line-height:18px}.quota-main[data-v-cda3702d]{flex:1;min-width:0}.quota-main[data-v-cda3702d] .el-progress{width:100%}.quota-main[data-v-cda3702d] .el-progress-bar__outer{background-color:#f2f2f2}.quota-main[data-v-cda3702d] .el-progress-bar__inner{align-items:center;display:flex}.quota-main[data-v-cda3702d] .el-progress-bar__innerText{color:#303133;white-space:nowrap;margin:0 5px;font-size:12px;line-height:1}.quota-cap-null[data-v-cda3702d]{color:#606266;font-size:12px}.provider-card[data-v-ba756612]{cursor:grab;min-width:0;transition:box-shadow .2s,border-color .2s}.provider-card[data-v-ba756612] .el-card__header{padding-bottom:10px}.provider-card[data-v-ba756612] .el-card__body{padding-top:12px}.provider-card[data-v-ba756612]:hover{border-color:var(--el-color-primary-light-5);box-shadow:var(--ez-card-shadow-hover)}.provider-card.dragging[data-v-ba756612]{cursor:grabbing}.provider-card.is-disabled[data-v-ba756612]{background:#fafafa}.provider-card.is-disabled .provider-name[data-v-ba756612]{color:#a8abb2}.provider-card.is-disabled[data-v-ba756612] .el-card__header{background:#fafafa}.card-header-right[data-v-ba756612]{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-switch[data-v-ba756612]{cursor:auto;align-items:center;display:flex}.header-switch[data-v-ba756612] .el-switch{cursor:pointer}.card-header[data-v-ba756612]{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-title[data-v-ba756612]{align-items:center;gap:8px;min-width:0;display:flex}.provider-name[data-v-ba756612]{color:#303133;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.card-actions[data-v-ba756612]{cursor:auto;flex-shrink:0;gap:0;display:flex}.model-tags[data-v-ba756612]{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.model-tag[data-v-ba756612]{color:#606266;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#f5f7fa;border:1px solid #0000;border-radius:999px;align-items:center;max-width:100%;padding:3px 10px;font-size:12px;line-height:18px;transition:color .15s,background .15s;display:inline-flex;overflow:hidden}.model-tag[data-v-ba756612]:hover{color:#3b82f6;background:#eff6ff}.model-tag.ok[data-v-ba756612]{color:#16a34a;background:#f0fdf4}.model-tag.error[data-v-ba756612]{color:#dc2626;background:#fef2f2}.badge-mark[data-v-ba756612]{margin-left:3px}.card-footer[data-v-ba756612]{border-top:1px solid #f0f2f5;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.model-count[data-v-ba756612]{color:#16a34a;cursor:pointer;border-radius:4px;font-size:13px;font-weight:500}.model-count[data-v-ba756612]:hover{text-decoration:underline}.drag-hint-icon[data-v-ba756612]{color:#c0c4cc;cursor:grab;flex-shrink:0}.drag-hint-icon[data-v-ba756612]:hover{color:#909399}.el-dropdown-menu__item.danger-item[data-v-ba756612]{color:var(--el-color-danger)}.el-dropdown-menu__item.danger-item[data-v-ba756612]:hover,.el-dropdown-menu__item.danger-item[data-v-ba756612]:focus{color:var(--el-color-danger);background-color:#fef2f2}.dropdown[data-v-ba756612]{margin-left:12px}.detail-body[data-v-08dfa117]{max-height:70vh;overflow-y:auto}.detail-head[data-v-08dfa117]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.detail-name[data-v-08dfa117]{font-size:14px;font-weight:600}.detail-pre[data-v-08dfa117]{color:#303133;white-space:pre-wrap;word-break:break-all;background:#f5f7fa;border:1px solid #e4e7ed;border-radius:6px;max-height:300px;margin:0;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.protocol-help .help-intro[data-v-2248b61a]{color:#606266;margin-bottom:14px;font-size:13px}.protocol-help .help-item[data-v-2248b61a]{margin-bottom:12px}.protocol-help .help-title[data-v-2248b61a]{color:#303133;align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.protocol-help .help-item p[data-v-2248b61a]{color:#606266;margin:0;font-size:13px;line-height:1.7}.protocol-help .help-table-note[data-v-2248b61a]{margin-bottom:8px}.protocol-help .help-table[data-v-2248b61a]{width:100%}.model-select-wrap[data-v-5ab9aafa]{flex-shrink:0;width:400px}.test-result-link[data-v-5ab9aafa]{font-size:12px}.col-help[data-v-5ab9aafa]{margin-right:4px}.dialog-body[data-v-1d6d4d0a]{max-height:80vh;padding-bottom:100px;overflow:hidden auto}.test-ok-text[data-v-1d6d4d0a]{color:#16a34a;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:140px;font-size:12px;display:inline-block;overflow:hidden}.test-fail-text[data-v-1d6d4d0a]{color:#dc2626;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:140px;font-size:12px;display:inline-block;overflow:hidden}.protocol-hint[data-v-1d6d4d0a]{line-height:1.8}.label-inline-toggle[data-v-1d6d4d0a]{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.models-dialog-body[data-v-7b39dd25]{flex-direction:column;height:calc(94vh - 100px);display:flex}.models-dialog-body .models-table[data-v-7b39dd25]{flex:1;min-height:0}.error-tag[data-v-7b39dd25]{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.quota-help[data-v-775466be]{background:#fff;height:70vh;overflow:hidden auto}.quota-help .help-intro[data-v-775466be]{color:#606266;margin-bottom:14px;font-size:13px;line-height:1.7}.quota-help .help-item[data-v-775466be]{margin-bottom:12px}.quota-help .help-title[data-v-775466be]{color:#303133;margin-bottom:4px;font-size:14px;font-weight:600}.quota-help .help-item p[data-v-775466be]{color:#606266;margin:0;font-size:13px;line-height:1.7}.quota-help .help-tip[data-v-775466be]{color:#909399!important;margin-top:4px!important}.quota-help .help-shot[data-v-775466be]{border:1px solid #dcdfe6;border-radius:6px;width:100%;margin:8px 0;display:block}.quota-help code[data-v-775466be]{background:#f5f7fa;border-radius:3px;padding:1px 4px;font-size:12px}.quota-help .help-table[data-v-775466be]{width:100%}.footer[data-v-775466be]{place-content:center;display:flex}.dialog-body[data-v-8066b35a]{min-height:70vh;overflow-y:auto}.muted-sm[data-v-8066b35a]{color:#909399;font-size:12px;line-height:1.6}.status-row[data-v-8066b35a]{margin-top:4px}.test-ok-text-full[data-v-8066b35a]{color:#16a34a;font-size:12px}.test-fail-text-full[data-v-8066b35a]{color:#dc2626;word-break:break-all;font-size:12px}.col-help-icon[data-v-8066b35a]{margin-left:4px}.ghost[data-v-550e94f2]{opacity:.4}.provider-grid[data-v-550e94f2]{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=992px){.provider-grid[data-v-550e94f2]{grid-template-columns:1fr}}
1
+ .quota-block[data-v-331f3ebe]{background:#fafbfc;border:1px solid #f0f2f5;border-radius:6px;margin-bottom:4px;padding:8px 10px}.quota-header[data-v-331f3ebe]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.quota-block-title[data-v-331f3ebe]{color:#303133;flex-shrink:0;font-size:13px;font-weight:600}.quota-header-stats[data-v-331f3ebe]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.quota-hint[data-v-331f3ebe]{color:#c0c4cc;font-size:12px}.quota-error[data-v-331f3ebe]{color:#f56c6c;word-break:break-all;margin-bottom:4px;font-size:12px}.quota-row[data-v-331f3ebe]{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.quota-label[data-v-331f3ebe]{color:#909399;flex-shrink:0;width:72px;font-size:12px;line-height:18px}.quota-main[data-v-331f3ebe]{flex:1;min-width:0}.quota-main[data-v-331f3ebe] .el-progress{width:100%}.quota-main[data-v-331f3ebe] .el-progress-bar__outer{background-color:#f2f2f2}.quota-main[data-v-331f3ebe] .el-progress-bar__inner{align-items:center;display:flex}.quota-main[data-v-331f3ebe] .el-progress-bar__innerText{color:#303133;white-space:nowrap;margin:0 5px;font-size:12px;line-height:1}.quota-cap-null[data-v-331f3ebe]{color:#606266;font-size:12px}.provider-card[data-v-ba756612]{cursor:grab;min-width:0;transition:box-shadow .2s,border-color .2s}.provider-card[data-v-ba756612] .el-card__header{padding-bottom:10px}.provider-card[data-v-ba756612] .el-card__body{padding-top:12px}.provider-card[data-v-ba756612]:hover{border-color:var(--el-color-primary-light-5);box-shadow:var(--ez-card-shadow-hover)}.provider-card.dragging[data-v-ba756612]{cursor:grabbing}.provider-card.is-disabled[data-v-ba756612]{background:#fafafa}.provider-card.is-disabled .provider-name[data-v-ba756612]{color:#a8abb2}.provider-card.is-disabled[data-v-ba756612] .el-card__header{background:#fafafa}.card-header-right[data-v-ba756612]{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-switch[data-v-ba756612]{cursor:auto;align-items:center;display:flex}.header-switch[data-v-ba756612] .el-switch{cursor:pointer}.card-header[data-v-ba756612]{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-title[data-v-ba756612]{align-items:center;gap:8px;min-width:0;display:flex}.provider-name[data-v-ba756612]{color:#303133;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.card-actions[data-v-ba756612]{cursor:auto;flex-shrink:0;gap:0;display:flex}.model-tags[data-v-ba756612]{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.model-tag[data-v-ba756612]{color:#606266;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#f5f7fa;border:1px solid #0000;border-radius:999px;align-items:center;max-width:100%;padding:3px 10px;font-size:12px;line-height:18px;transition:color .15s,background .15s;display:inline-flex;overflow:hidden}.model-tag[data-v-ba756612]:hover{color:#3b82f6;background:#eff6ff}.model-tag.ok[data-v-ba756612]{color:#16a34a;background:#f0fdf4}.model-tag.error[data-v-ba756612]{color:#dc2626;background:#fef2f2}.badge-mark[data-v-ba756612]{margin-left:3px}.card-footer[data-v-ba756612]{border-top:1px solid #f0f2f5;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.model-count[data-v-ba756612]{color:#16a34a;cursor:pointer;border-radius:4px;font-size:13px;font-weight:500}.model-count[data-v-ba756612]:hover{text-decoration:underline}.drag-hint-icon[data-v-ba756612]{color:#c0c4cc;cursor:grab;flex-shrink:0}.drag-hint-icon[data-v-ba756612]:hover{color:#909399}.el-dropdown-menu__item.danger-item[data-v-ba756612]{color:var(--el-color-danger)}.el-dropdown-menu__item.danger-item[data-v-ba756612]:hover,.el-dropdown-menu__item.danger-item[data-v-ba756612]:focus{color:var(--el-color-danger);background-color:#fef2f2}.dropdown[data-v-ba756612]{margin-left:12px}.detail-body[data-v-08dfa117]{max-height:70vh;overflow-y:auto}.detail-head[data-v-08dfa117]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.detail-name[data-v-08dfa117]{font-size:14px;font-weight:600}.detail-pre[data-v-08dfa117]{color:#303133;white-space:pre-wrap;word-break:break-all;background:#f5f7fa;border:1px solid #e4e7ed;border-radius:6px;max-height:300px;margin:0;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.protocol-help .help-intro[data-v-2248b61a]{color:#606266;margin-bottom:14px;font-size:13px}.protocol-help .help-item[data-v-2248b61a]{margin-bottom:12px}.protocol-help .help-title[data-v-2248b61a]{color:#303133;align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.protocol-help .help-item p[data-v-2248b61a]{color:#606266;margin:0;font-size:13px;line-height:1.7}.protocol-help .help-table-note[data-v-2248b61a]{margin-bottom:8px}.protocol-help .help-table[data-v-2248b61a]{width:100%}.model-select-wrap[data-v-67bd57e3]{flex-shrink:0;width:400px}.test-result-link[data-v-67bd57e3]{font-size:12px}.col-help[data-v-67bd57e3]{margin-right:4px}.dialog-body[data-v-54cea1cb]{max-height:80vh;padding-bottom:100px;overflow:hidden auto}.test-ok-text[data-v-54cea1cb]{color:#16a34a;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:140px;font-size:12px;display:inline-block;overflow:hidden}.test-fail-text[data-v-54cea1cb]{color:#dc2626;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:140px;font-size:12px;display:inline-block;overflow:hidden}.protocol-hint[data-v-54cea1cb]{line-height:1.8}.label-inline-toggle[data-v-54cea1cb]{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.models-dialog-body[data-v-7b39dd25]{flex-direction:column;height:calc(94vh - 100px);display:flex}.models-dialog-body .models-table[data-v-7b39dd25]{flex:1;min-height:0}.error-tag[data-v-7b39dd25]{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.quota-help[data-v-775466be]{background:#fff;height:70vh;overflow:hidden auto}.quota-help .help-intro[data-v-775466be]{color:#606266;margin-bottom:14px;font-size:13px;line-height:1.7}.quota-help .help-item[data-v-775466be]{margin-bottom:12px}.quota-help .help-title[data-v-775466be]{color:#303133;margin-bottom:4px;font-size:14px;font-weight:600}.quota-help .help-item p[data-v-775466be]{color:#606266;margin:0;font-size:13px;line-height:1.7}.quota-help .help-tip[data-v-775466be]{color:#909399!important;margin-top:4px!important}.quota-help .help-shot[data-v-775466be]{border:1px solid #dcdfe6;border-radius:6px;width:100%;margin:8px 0;display:block}.quota-help code[data-v-775466be]{background:#f5f7fa;border-radius:3px;padding:1px 4px;font-size:12px}.quota-help .help-table[data-v-775466be]{width:100%}.footer[data-v-775466be]{place-content:center;display:flex}.dialog-body[data-v-8066b35a]{min-height:70vh;overflow-y:auto}.muted-sm[data-v-8066b35a]{color:#909399;font-size:12px;line-height:1.6}.status-row[data-v-8066b35a]{margin-top:4px}.test-ok-text-full[data-v-8066b35a]{color:#16a34a;font-size:12px}.test-fail-text-full[data-v-8066b35a]{color:#dc2626;word-break:break-all;font-size:12px}.col-help-icon[data-v-8066b35a]{margin-left:4px}.ghost[data-v-550e94f2]{opacity:.4}.provider-grid[data-v-550e94f2]{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=992px){.provider-grid[data-v-550e94f2]{grid-template-columns:1fr}}
@@ -1,2 +1,2 @@
1
- import{A as e,F as t,I as n,M as r,O as i,P as a,Pt as o,Q as s,Tt as c,V as l,Wt as u,Z as d,a as f,at as ee,et as p,fn as m,ht as h,it as g,j as _,k as v,ln as te,mt as y,nt as b,sn as ne,vt as x,w as S}from"./router-Bu_wBVat.js";import{t as C}from"./index-WKbWAuG9.js";import{n as w,t as re}from"./useCopyToast-BpTqOna-.js";import{t as ie}from"./useToast-BOEMOwWH.js";import{d as ae,m as T,s as E}from"./format-Dy_WTL6U.js";l(),x(),u();var oe={class:`service-status-page`},se={class:`flex-between`},ce={class:`flex-gap-8`},D={class:`flex-gap-8`},O={class:`gantt-wrap`},k={key:0,class:`gantt`},le={class:`gantt-row gantt-head`},ue={class:`col-cells`},de=[`title`],fe={class:`cell-head-date`},pe={class:`col-name`},me=[`title`,`onClick`],he=[`title`],ge={class:`col-cells`},A=[`title`],j={key:1,class:`gantt-empty`},M=36e5,N=24,P=`#909399`,F=C(n({__name:`ServiceStatusView`,setup(n){let{toast:l}=ie(),{copyWithToast:u}=re(),{loadError:x,run:C}=w(`延迟数据加载失败,请重试`),F=c([]),I=c(!0),L=c(!1),R=c(null),z=c(!1),B=c(!1),V,H,U=c(G()),W=c(new Map);function G(){let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()).getTime();return Array.from({length:N},(e,n)=>t-(23-n)*M)}let K=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?`-`:`${t.getFullYear()}-${T(t.getMonth()+1)}-${T(t.getDate())} ${T(t.getHours())}:00`},_e=i(()=>U.value.map(e=>{let t=new Date(e),n=T(t.getHours());return{start:e,dateLabel:`${T(t.getMonth()+1)}-${T(t.getDate())}`,hourLabel:n,fullLabel:`${K(e)} - ${n}:59`}})),ve=[103,194,58],q=[230,162,60],ye=[245,108,108],be=i(()=>{let e=[];for(let t of W.value.values())for(let n of t.values())n.avgLatencyMs!==null&&e.push(n.avgLatencyMs);if(e.length===0)return{min:0,max:0};let t=e[0],n=e[0];for(let r of e)r<t&&(t=r),r>n&&(n=r);return{min:t,max:n}}),J=e=>{let{min:t,max:n}=be.value,r=n===t?0:(e-t)/(n-t),[i,a]=r<=.5?[ve,q]:[q,ye],o=r<=.5?r*2:(r-.5)*2,s=i.map((e,t)=>Math.round(e+(a[t]-e)*o));return`rgba(${String(s[0])}, ${String(s[1])}, ${String(s[2])}, 0.9)`},Y=(e,t)=>{let n=`${K(t)} - ${T(new Date(t+M).getHours())}:00`;return e===void 0||e.total===0?`${n}\n无探测数据`:`${n}\n平均延迟 ${E(e.avgLatencyMs)}\n成功 ${String(e.success)} / 失败 ${String(e.failed)}`},X=i(()=>Se.value.map(e=>{let t=W.value.get(e.model),n=U.value.map(e=>{let n=t?.get(e);return n!==void 0&&n.failed>0?{start:e,className:`cell--down`,style:{backgroundColor:P},title:Y(n,e)}:n===void 0||n.avgLatencyMs===null?{start:e,className:`cell--empty`,style:{},title:Y(n,e)}:{start:e,className:``,style:{backgroundColor:J(n.avgLatencyMs)},title:Y(n,e)}});return{model:e.model,avg24h:e.avg24h,statusTitle:[e.avg24h===null?`最近 24 小时无成功探测记录`:`最近 24 小时成功探测平均延迟 ${E(e.avg24h)}`,e.lastLatencyMs==null?`最近一次探测:无成功延迟记录`:`最近一次探测延迟 ${E(e.lastLatencyMs)}`].join(`
1
+ import{A as e,F as t,I as n,M as r,O as i,P as a,Pt as o,Q as s,Tt as c,V as l,Wt as u,Z as d,a as f,at as ee,et as p,fn as m,ht as h,it as g,j as _,k as v,ln as te,mt as y,nt as b,sn as ne,vt as x,w as S}from"./router-CHObBy9_.js";import{t as C}from"./index-CREDEMKs.js";import{n as w,t as re}from"./useCopyToast-pgRyL4NF.js";import{t as ie}from"./useToast-CmSnOJzB.js";import{p as T,s as E,u as ae}from"./format-Z1cpFfkW.js";l(),x(),u();var oe={class:`service-status-page`},se={class:`flex-between`},ce={class:`flex-gap-8`},D={class:`flex-gap-8`},O={class:`gantt-wrap`},k={key:0,class:`gantt`},le={class:`gantt-row gantt-head`},ue={class:`col-cells`},de=[`title`],fe={class:`cell-head-date`},pe={class:`col-name`},me=[`title`,`onClick`],he=[`title`],ge={class:`col-cells`},A=[`title`],j={key:1,class:`gantt-empty`},M=36e5,N=24,P=`#909399`,F=C(n({__name:`ServiceStatusView`,setup(n){let{toast:l}=ie(),{copyWithToast:u}=re(),{loadError:x,run:C}=w(`延迟数据加载失败,请重试`),F=c([]),I=c(!0),L=c(!1),R=c(null),z=c(!1),B=c(!1),V,H,U=c(G()),W=c(new Map);function G(){let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()).getTime();return Array.from({length:N},(e,n)=>t-(23-n)*M)}let K=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?`-`:`${t.getFullYear()}-${T(t.getMonth()+1)}-${T(t.getDate())} ${T(t.getHours())}:00`},_e=i(()=>U.value.map(e=>{let t=new Date(e),n=T(t.getHours());return{start:e,dateLabel:`${T(t.getMonth()+1)}-${T(t.getDate())}`,hourLabel:n,fullLabel:`${K(e)} - ${n}:59`}})),ve=[103,194,58],q=[230,162,60],ye=[245,108,108],be=i(()=>{let e=[];for(let t of W.value.values())for(let n of t.values())n.avgLatencyMs!==null&&e.push(n.avgLatencyMs);if(e.length===0)return{min:0,max:0};let t=e[0],n=e[0];for(let r of e)r<t&&(t=r),r>n&&(n=r);return{min:t,max:n}}),J=e=>{let{min:t,max:n}=be.value,r=n===t?0:(e-t)/(n-t),[i,a]=r<=.5?[ve,q]:[q,ye],o=r<=.5?r*2:(r-.5)*2,s=i.map((e,t)=>Math.round(e+(a[t]-e)*o));return`rgba(${String(s[0])}, ${String(s[1])}, ${String(s[2])}, 0.9)`},Y=(e,t)=>{let n=`${K(t)} - ${T(new Date(t+M).getHours())}:00`;return e===void 0||e.total===0?`${n}\n无探测数据`:`${n}\n平均延迟 ${E(e.avgLatencyMs)}\n成功 ${String(e.success)} / 失败 ${String(e.failed)}`},X=i(()=>Se.value.map(e=>{let t=W.value.get(e.model),n=U.value.map(e=>{let n=t?.get(e);return n!==void 0&&n.failed>0?{start:e,className:`cell--down`,style:{backgroundColor:P},title:Y(n,e)}:n===void 0||n.avgLatencyMs===null?{start:e,className:`cell--empty`,style:{},title:Y(n,e)}:{start:e,className:``,style:{backgroundColor:J(n.avgLatencyMs)},title:Y(n,e)}});return{model:e.model,avg24h:e.avg24h,statusTitle:[e.avg24h===null?`最近 24 小时无成功探测记录`:`最近 24 小时成功探测平均延迟 ${E(e.avg24h)}`,e.lastLatencyMs==null?`最近一次探测:无成功延迟记录`:`最近一次探测延迟 ${E(e.lastLatencyMs)}`].join(`
2
2
  `),cells:n}})),xe=(e,t)=>e===null&&t===null?0:e===null?1:t===null?-1:e-t,Se=i(()=>[...F.value].sort((e,t)=>{let n=e.lastOk===!1;if(n!==(t.lastOk===!1))return n?1:-1;let r=xe(e.avg24h,t.avg24h);return r===0?e.model.localeCompare(t.model):r})),Z=async e=>{if(e.length===0){W.value=new Map;return}let t=await Promise.all(e.map(async e=>{try{let t=await f.get(`/api/latency/trend?model=${encodeURIComponent(e)}&granularity=hour`);return[e,new Map((t.buckets??[]).map(e=>[e.bucketStart,e]))]}catch{return[e,new Map]}}));W.value=new Map(t)},Q=async()=>{let e=await f.get(`/api/latency/history`);return F.value=e.models??[],L.value=e.running,R.value=e.lastRunAt,e},$=()=>C(async()=>{try{await Q(),U.value=G(),await Z(F.value.map(e=>e.model))}finally{I.value=!1}}),Ce=()=>$(),we=()=>{B.value?V=window.setInterval(()=>void $(),5e3):V!==void 0&&(window.clearInterval(V),V=void 0)},Te=async()=>{z.value=!0;try{await f.post(`/api/latency/run`)}catch(e){l(e.message,`error`),z.value=!1;return}H=window.setInterval(async()=>{try{(await Q()).running||(window.clearInterval(H),H=void 0,z.value=!1,U.value=G(),await Z(F.value.map(e=>e.model)))}catch{}},2e3)};return d(()=>{$()}),s(()=>{V!==void 0&&window.clearInterval(V),H!==void 0&&window.clearInterval(H)}),(n,i)=>{let s=g(`el-button`),c=g(`el-alert`),l=g(`el-tag`),d=g(`el-checkbox`),f=g(`el-empty`),C=g(`el-card`),w=ee(`loading`);return p(),r(`div`,oe,[o(x)?(p(),e(c,{key:0,title:o(x),type:`error`,"show-icon":``,closable:!1,class:`mb-16`},{default:y(()=>[t(s,{size:`small`,onClick:Ce},{default:y(()=>[...i[1]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`title`])):_(``,!0),t(C,{shadow:`never`,class:`main-card`},{header:y(()=>[v(`div`,se,[v(`div`,ce,[i[3]||=v(`span`,{class:`fw-600`},`服务状态`,-1),L.value?(p(),e(l,{key:0,type:`warning`,size:`small`},{default:y(()=>[...i[2]||=[a(`测试进行中`,-1)]]),_:1})):R.value?(p(),e(l,{key:1,type:`info`,size:`small`},{default:y(()=>[a(` 上次测试 `+m(o(ae)(R.value)),1)]),_:1})):_(``,!0)]),v(`div`,D,[t(d,{modelValue:B.value,"onUpdate:modelValue":i[0]||=e=>B.value=e,onChange:we},{default:y(()=>[...i[4]||=[a(` 自动刷新(5s) `,-1)]]),_:1},8,[`modelValue`]),t(s,{loading:z.value,onClick:Te},{default:y(()=>[...i[5]||=[a(` 延迟测试 `,-1)]]),_:1},8,[`loading`])])])]),default:y(()=>[i[9]||=v(`div`,{class:`legend`},[v(`span`,{class:`legend-text`},`延迟`),v(`span`,{class:`legend-text`},`低`),v(`span`,{class:`legend-gradient`}),v(`span`,{class:`legend-text`},`高`),v(`span`,{class:`legend-swatch legend-swatch--down`}),v(`span`,{class:`legend-text`},`该小时有失败探测`),v(`span`,{class:`legend-swatch legend-swatch--empty`}),v(`span`,{class:`legend-text`},`无探测数据`)],-1),h((p(),r(`div`,O,[i[8]||=v(`div`,{class:`muted-sm hint`},` 右侧 24 格为最近 24 小时(每格 1 小时,本地整点对齐,最右格为当前小时)。 格子底色为当小时成功探测的平均延迟,全表统一色标(本期最快→最慢 绿→红); 当小时存在失败探测即视为不可用,显示灰色。 行按 24h 平均延迟升序,最近一次探测失败的模型沉底。 `,-1),X.value.length>0?(p(),r(`div`,k,[v(`div`,le,[i[6]||=v(`div`,{class:`col-name`},`模型名称`,-1),i[7]||=v(`div`,{class:`col-status`},`状态`,-1),v(`div`,ue,[(p(!0),r(S,null,b(_e.value,e=>(p(),r(`div`,{key:e.start,class:`cell cell--head`,title:e.fullLabel},[v(`span`,fe,m(e.dateLabel),1),v(`span`,null,m(e.hourLabel),1)],8,de))),128))])]),(p(!0),r(S,null,b(X.value,e=>(p(),r(`div`,{key:e.model,class:`gantt-row`},[v(`div`,pe,[v(`span`,{class:`copy-text model-name`,title:e.model,onClick:t=>o(u)(e.model)},m(e.model),9,me)]),v(`div`,{class:`col-status`,title:e.statusTitle},m(o(E)(e.avg24h)),9,he),v(`div`,ge,[(p(!0),r(S,null,b(e.cells,e=>(p(),r(`div`,{key:e.start,class:ne([`cell`,e.className]),style:te(e.style),title:e.title},null,14,A))),128))])]))),128))])):(p(),r(`div`,j,[t(f,{description:`暂无延迟数据,点击「延迟测试」开始`,"image-size":80})]))])),[[w,I.value]])]),_:1})])}}}),[[`__scopeId`,`data-v-95ae284d`]]);export{F as default};
@@ -1 +1 @@
1
- import{A as e,F as t,I as n,M as r,O as i,P as a,Pt as o,Q as s,Tt as c,V as l,Wt as u,Z as d,a as f,at as p,et as m,fn as h,ht as g,it as _,j as v,k as y,mt as b,n as x,nt as S,vt as C,w}from"./router-Bu_wBVat.js";import{n as T,t as E}from"./index-WKbWAuG9.js";import{n as D,t as O}from"./useManagerApi-DFpyIMxD.js";import{t as k}from"./config-BhvFrUZd.js";import{n as A,t as j}from"./useCopyToast-BpTqOna-.js";import{t as M}from"./useToast-BOEMOwWH.js";import{n as N,t as P}from"./version-DegxwpkG.js";l(),u(),C();var F={class:`flex-between`},I={class:`muted-sm mb-8`},L={class:`switch-row`},R={class:`switch-info`},z={class:`switch-title`},B={class:`switch-row`},V={class:`switch-info`},H={class:`switch-title`},U={class:`switch-row`},W={class:`switch-info`},G={class:`switch-title`},K=E(n({__name:`HarnessSwitches`,setup(n){let{toast:i}=M(),o=c(!0),s=c(!1),l=c(null),u=c(null),f=c(null),x=c(null),S=c(`success`),C=async e=>{e||(l.value?s.value=!0:o.value=!0);try{l.value=await O.harness(),u.value=null}catch(t){e||(u.value=t.message)}finally{e||(o.value=!1,s.value=!1)}};d(()=>C(!1));let E={claudeCode:{label:`Claude Code`,file:`~/.claude/settings.json`,toggle:O.setClaudeCode},codex:{label:`Codex CLI`,file:`~/.codex/config.toml`,toggle:O.setCodex},dsh:{label:`DeepSeek Harness`,file:`~/.dsh/settings.yaml`,toggle:O.setDsh}},D=async(e,t)=>{if(!l.value||f.value)return;let n=E[e],r=t?`确定开启 ${n.label} 代理?将改写 ${n.file}(开启前自动备份,关闭时从备份还原)。`:`确定关闭 ${n.label} 代理?将从备份还原 ${n.file}(无备份时移除代理相关配置)。`;try{await T.confirm(r,t?`开启确认`:`关闭确认`,{confirmButtonText:t?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}f.value=e;try{let e=await n.toggle(t);x.value=e.note??null,S.value=t?`success`:`info`,i(t?`已开启代理`:`已关闭代理`,`success`)}catch(e){i(e.message||`操作失败`,`error`)}finally{f.value=null,await C(!0)}};return(n,i)=>{let c=_(`el-button`),d=_(`el-alert`),T=_(`el-tag`),E=_(`el-switch`),O=_(`el-divider`),k=_(`el-empty`),A=_(`el-card`),j=p(`loading`);return g((m(),e(A,{shadow:`never`},{header:b(()=>[y(`div`,F,[i[7]||=y(`span`,{class:`fw-600`},`代理开关`,-1),t(c,{loading:s.value,onClick:i[0]||=e=>C(!1)},{default:b(()=>[...i[6]||=[a(`刷新`,-1)]]),_:1},8,[`loading`])])]),default:b(()=>[l.value?(m(),r(w,{key:0},[y(`div`,I,` 将本机 CLI 工具的流量一键指向本机网关(`+h(l.value.gatewayBase)+`)。 开启前自动备份原配置为 *.ellm-bak(保留最早的原始备份),关闭时从备份还原。 `,1),x.value?(m(),e(d,{key:0,title:x.value,type:S.value,"show-icon":``,class:`mb-8`,onClose:i[1]||=e=>x.value=null},null,8,[`title`,`type`])):v(``,!0),y(`div`,L,[y(`div`,R,[y(`div`,z,[i[8]||=a(` Claude Code `,-1),t(T,{type:l.value.claudeCode?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.claudeCode?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[9]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.claude/settings.json`),a(` 的 env.ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN, 鉴权取网关配置的 masterKey(未设置将开启失败);其余字段原样保留,重启 Claude Code 会话后生效。 `)],-1)]),t(E,{"model-value":l.value.claudeCode,loading:f.value===`claudeCode`,onChange:i[2]||=e=>D(`claudeCode`,!!e)},null,8,[`model-value`,`loading`])]),t(O,{class:`switch-divider`}),y(`div`,B,[y(`div`,V,[y(`div`,H,[i[10]||=a(` Codex CLI `,-1),t(T,{type:l.value.codex?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.codex?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[11]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.codex/config.toml`),a(` 的 model_provider 与 [model_providers.ellm-proxy] 段 (保留用户注释与排版);开启后需按提示设置环境变量 ELLM_PROXY_API_KEY 供 Codex 鉴权。 `)],-1)]),t(E,{"model-value":l.value.codex,loading:f.value===`codex`,onChange:i[3]||=e=>D(`codex`,!!e)},null,8,[`model-value`,`loading`])]),t(O,{class:`switch-divider`}),y(`div`,U,[y(`div`,W,[y(`div`,G,[i[12]||=a(` DeepSeek Harness `,-1),t(T,{type:l.value.dsh?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.dsh?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[13]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.dsh/settings.yaml`),a(` 的 llm-deepseek.baseURL 与 `),y(`code`,null,`~/.dsh/.credentials.yaml`),a(` 的 DEEPSEEK_API_KEY(取网关 masterKey,未设置则写占位值);模型请在 dsh 内选择与网关部署名一致的模型。 dsh 为 developer preview,配置格式可能随版本变化。 `)],-1)]),t(E,{"model-value":l.value.dsh,loading:f.value===`dsh`,onChange:i[4]||=e=>D(`dsh`,!!e)},null,8,[`model-value`,`loading`])])],64)):(m(),e(k,{key:1,description:u.value||`暂无开关状态`},{default:b(()=>[t(c,{type:`primary`,onClick:i[5]||=e=>C(!1)},{default:b(()=>[...i[14]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1})),[[j,o.value]])}}}),[[`__scopeId`,`data-v-fb084a91`]]);l(),u(),C();var q={class:`service-settings`},J={class:`flex-between`},Y={key:0,class:`switch-row`},ee={class:`switch-info`},te={class:`switch-title`},X={key:0,class:`switch-row`},Z={class:`switch-info`},ne={class:`switch-title`},re={class:`switch-desc`},ie={key:0,class:`version-block`},ae={class:`version-row`},oe={class:`muted-sm`},se={key:0,class:`muted-sm`},ce={key:1,class:`muted-sm`},le={class:`muted-sm`},ue={class:`version-actions`},Q=E(n({__name:`ServiceUpdateSettings`,setup(n){let{toast:o}=M(),l=c(!0),u=c(!1),f=c(null),x=c(null),S=c(null),C=c(null),E=c(null),k=c(!1),A=c(!1),j=c(null),F=null;s(()=>F?.abort());let I=async e=>{if(!e){if(u.value)return;u.value=!0}try{let[e,t]=await Promise.allSettled([O.autostart(),O.update()]);f.value=e.status===`fulfilled`?e.value:null,x.value=e.status===`rejected`?e.reason?.message:null,S.value=t.status===`fulfilled`?t.value:null,C.value=t.status===`rejected`?t.reason?.message:null}finally{l.value=!1,u.value=!1}};d(()=>I(!1));let L=e=>e?new Date(e).toLocaleString():``,R=i(()=>S.value?.lastCheck?.currentVersion??null),z=i(()=>P(R.value)),B=i(()=>S.value?.lastCheck?.latestVersion??null),V=i(()=>S.value?.lastCheck?.hasUpdate===!0),H=i(()=>{let e=S.value?.lastCheck?.checkedAt;return e?new Date(e).toLocaleString():null}),U=i(()=>{let e=S.value?.lastApply;if(!e)return null;let t=L(e.appliedAt);return`${e.fromVersion} → ${e.toVersion}${t?`(${t})`:``}`}),W=async e=>{if(!f.value||E.value)return;let t=e?`确定开启开机自启?将注册登录触发的自启项(登录时自动恢复服务)。`:`确定关闭开机自启?将移除自启项,且此后首次启动不再自动注册。`;try{await T.confirm(t,e?`开启确认`:`关闭确认`,{confirmButtonText:e?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}E.value=`autostart`;try{let t=await O.setAutostart(e);t.note?o(t.note,`success`):o(e?`开机自启已开启`:`开机自启已关闭`,`success`)}catch(e){o(e.message||`操作失败`,`error`)}finally{E.value=null,await I(!0)}},G=async e=>{if(!S.value||E.value)return;let t=e?`确定开启自动更新?将每小时检查 npm 源,发现新版本自动安装并重启服务。`:`确定关闭自动更新?不再自动检查(手动检查更新不受影响)。`;try{await T.confirm(t,e?`开启确认`:`关闭确认`,{confirmButtonText:e?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}E.value=`updateEnabled`;try{let t=await O.setUpdateEnabled(e);t.note&&o(t.note,`success`)}catch(e){o(e.message||`操作失败`,`error`)}finally{E.value=null,await I(!0)}},K=async()=>{k.value=!0;try{let e=await O.checkUpdate();j.value=e.hasUpdate?`发现新版本 ${e.latestVersion}(当前 ${e.currentVersion}):点击「立即更新」即可安装(服务自动重启,期间管理台短暂不可访问)`:`已是最新版本 ${e.currentVersion}(检查于 ${L(e.checkedAt)})`,await I(!0)}catch(e){o(e.message||`检查更新失败`,`error`)}finally{k.value=!1}},Q=async()=>{try{await T.confirm(`确定更新到 ${B.value}?服务会自动重启并在启动时安装新版本:重启期间管理台短暂不可访问(预计 1~3 分钟),更新完成后自动恢复。`,`更新确认`,{confirmButtonText:`立即更新`,cancelButtonText:`取消`,type:`warning`})}catch{return}A.value=!0;let e=new AbortController;F=e;try{let t=await O.update(),n=await O.applyUpdate();if(!n.updated){j.value=`已是最新版本 ${n.toVersion}`;return}j.value=`正在重启服务并安装 ${n.toVersion}(预计 1~3 分钟):重启期间管理台短暂不可访问,完成后这里会自动显示结果。`;let r=await D({targetVersion:n.toVersion,sinceAppliedAt:t.lastApply?.appliedAt??null,signal:e.signal});if(e.signal.aborted)return;r&&!r.error?(o(`已更新到 ${r.toVersion}`,`success`),j.value=`已更新 ${r.fromVersion} → ${r.toVersion},服务已在新版本上运行。`):r?.error?(o(`更新失败:${r.error}`,`error`),j.value=N(r.error)):j.value=`更新仍在进行(安装耗时较长):稍后刷新页面查看最新状态。`}catch(e){o(e.message||`更新失败`,`error`)}finally{A.value=!1,F===e&&(F=null),e.signal.aborted||await I(!0)}};return(n,i)=>{let o=_(`el-button`),s=_(`el-tag`),c=_(`el-switch`),d=_(`el-empty`),T=_(`el-card`),D=_(`el-link`),O=_(`el-alert`),M=p(`loading`);return g((m(),r(`div`,q,[t(T,{shadow:`never`,class:`mb-16`},{header:b(()=>[y(`div`,J,[i[7]||=y(`span`,{class:`fw-600`},`开机自启`,-1),t(o,{loading:u.value,onClick:i[0]||=e=>I(!1)},{default:b(()=>[...i[6]||=[a(`刷新`,-1)]]),_:1},8,[`loading`])])]),default:b(()=>[f.value?(m(),r(`div`,Y,[y(`div`,ee,[y(`div`,te,[i[8]||=a(` 登录时自动启动服务 `,-1),t(s,{type:f.value.enabled?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(f.value.enabled?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[9]||=y(`div`,{class:`switch-desc`},[a(` 登录操作系统时自动启动服务(无需管理员权限)。 关闭后首次启动 `),y(`code`,null,`ezllm`),a(` 也不会再自动注册,重新开启即可解除。 `)],-1)]),t(c,{"model-value":f.value.enabled,loading:E.value===`autostart`,onChange:i[1]||=e=>W(!!e)},null,8,[`model-value`,`loading`])])):(m(),e(d,{key:1,description:x.value||`暂无自启状态`},{default:b(()=>[t(o,{type:`primary`,onClick:i[2]||=e=>I(!1)},{default:b(()=>[...i[10]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1}),t(T,{shadow:`never`,class:`mb-16`},{header:b(()=>[...i[11]||=[y(`div`,{class:`flex-between`},[y(`span`,{class:`fw-600`},`自动更新`)],-1)]]),default:b(()=>[S.value?(m(),r(`div`,X,[y(`div`,Z,[y(`div`,ne,[i[12]||=a(` 自动检查并安装新版本 `,-1),t(s,{type:S.value.enabled?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(S.value.enabled?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),y(`div`,re,[S.value.supported?(m(),r(w,{key:1},[a(` 每小时检查 npm 源,发现新版本自动重启服务并在启动时安装(更新期间服务短暂中断); 关闭后仍可在下方手动检查与更新。 `)],64)):(m(),r(w,{key:0},[a(` 当前为源码运行模式,更新功能不可用(仅 npm 全局安装的包支持自动更新)。 `)],64))])]),S.value.supported?(m(),e(c,{key:0,"model-value":S.value.enabled,loading:E.value===`updateEnabled`,onChange:i[3]||=e=>G(!!e)},null,8,[`model-value`,`loading`])):v(``,!0)])):(m(),e(d,{key:1,description:C.value||`暂无更新状态`},{default:b(()=>[t(o,{type:`primary`,onClick:i[4]||=e=>I(!1)},{default:b(()=>[...i[13]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1}),t(T,{shadow:`never`},{header:b(()=>[...i[14]||=[y(`div`,{class:`flex-between`},[y(`span`,{class:`fw-600`},`版本信息`)],-1)]]),default:b(()=>[S.value?(m(),r(`div`,ie,[y(`div`,ae,[i[18]||=y(`span`,{class:`version-label`},`当前版本`,-1),t(s,{size:`small`},{default:b(()=>[a(h(R.value||`未知`),1)]),_:1}),z.value?(m(),e(s,{key:0,type:`warning`,size:`small`,"disable-transitions":``},{default:b(()=>[...i[15]||=[a(`本地构建`,-1)]]),_:1})):v(``,!0),B.value?(m(),r(w,{key:1},[i[17]||=y(`span`,{class:`version-label`},`最新版本`,-1),t(s,{type:V.value?`warning`:`success`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(B.value),1)]),_:1},8,[`type`]),V.value?(m(),e(s,{key:0,type:`warning`,size:`small`,"disable-transitions":``},{default:b(()=>[...i[16]||=[a(`发现新版本`,-1)]]),_:1})):v(``,!0)],64)):v(``,!0)]),y(`div`,oe,[a(` 上次检查:`+h(H.value||`尚未检查`)+` `,1),S.value.updating?(m(),r(w,{key:0},[a(` · 更新执行中...`)],64)):v(``,!0)]),S.value.supported?v(``,!0):(m(),r(`div`,se,`源码运行模式:手动检查与更新不可用。`)),U.value?(m(),r(`div`,ce,`上次更新:`+h(U.value),1)):v(``,!0),y(`div`,le,[i[20]||=a(` npm 包主页:`,-1),t(D,{type:`primary`,href:`https://www.npmjs.com/package/ezllm`,target:`_blank`},{default:b(()=>[...i[19]||=[a(`npmjs.com/package/ezllm`,-1)]]),_:1})]),y(`div`,ue,[t(o,{loading:k.value,disabled:!S.value.supported||S.value.updating,onClick:K},{default:b(()=>[a(h(k.value?`检查中...`:`检查更新`),1)]),_:1},8,[`loading`,`disabled`]),V.value&&S.value.supported?(m(),e(o,{key:0,type:`primary`,loading:A.value,disabled:S.value.updating,onClick:Q},{default:b(()=>[a(h(A.value?`更新中...`:`立即更新到 ${B.value}`),1)]),_:1},8,[`loading`,`disabled`])):v(``,!0)]),j.value?(m(),e(O,{key:2,title:j.value,type:`info`,"show-icon":``,class:`mt-8`,onClose:i[5]||=e=>j.value=null},null,8,[`title`])):v(``,!0)])):(m(),e(d,{key:1,description:`更新状态不可用`}))]),_:1})])),[[M,l.value]])}}}),[[`__scopeId`,`data-v-af77e8e0`]]);l(),C(),u();var de={class:`flex-col-gap`},fe={class:`flex-between`},$={class:`muted-sm`},pe={class:`login-row`},me={class:`muted-sm`},he={class:`flex-between`},ge={class:`monitor-row`},_e={class:`save-bar`},ve=E(n({__name:`SettingsView`,setup(n){let{toast:s}=M(),{copyWithToast:l}=j(),u=k(),C=c(`basic`),T=c(!0),E=c(!1),D=c(``),O=async()=>{D.value&&await l(D.value)},N=c(29770),P=c(null),F=c(!0),I=c(``),L=c(``),R=i(()=>D.value.trim()!==``||I.value!==``&&L.value!==``),z=c(!1),B=c(60),V=[{label:`10分钟`,value:10},{label:`30分钟`,value:30},{label:`1小时`,value:60},{label:`2小时`,value:120},{label:`5小时`,value:300},{label:`8小时`,value:480},{label:`12小时`,value:720},{label:`24小时`,value:1440}],{loadError:H,run:U}=A(`设置加载失败,请重试`),W=()=>U(async()=>{try{await u.load(),D.value=u.config.masterKey||``,N.value=u.config.port??29770;let e=u.config[`web-ui`]?.[`login-account`];I.value=e?.username||``,L.value=e?.password||``,F.value=u.config.allowLan!==!1;let t=u.config.latencyTest;z.value=t?.enabled===!0,B.value=t?.intervalMinutes??60;try{let e=await f.get(`/api/status`);P.value=e.listenPort}catch{P.value=null}}finally{T.value=!1}}),G=async()=>{if(I.value.trim()!==``||L.value!==``){if(I.value.trim()===``||L.value===``){s(`用户名和密码需同时填写`,`error`);return}if(L.value.length<6){s(`密码至少 6 位`,`error`);return}}E.value=!0;let e=z.value&&u.config.latencyTest?.enabled!==!0;try{let t=await u.update(e=>{e.masterKey=D.value.trim(),e.port=N.value,e.allowLan=F.value,e.latencyTest={enabled:z.value,intervalMinutes:B.value},e[`web-ui`]??={},e[`web-ui`][`login-account`]??={},e[`web-ui`][`login-account`].username=I.value.trim(),e[`web-ui`][`login-account`].password=L.value});await x(!0),s(`设置已保存并生效`,`success`),e&&s(`已开启自动测试:服务将定期直连所有上游发送探测请求,有少量 token 消耗`,`warning`),t.restartHint&&s(t.restartHint,`warning`)}catch(e){s(e.message,`error`)}finally{E.value=!1}};return d(W),(n,i)=>{let s=_(`el-button`),c=_(`el-alert`),l=_(`el-tag`),u=_(`el-input`),d=_(`el-form-item`),f=_(`el-input-number`),x=_(`el-form`),k=_(`el-card`),A=_(`el-switch`),j=_(`el-divider`),M=_(`el-option`),U=_(`el-select`),q=_(`el-tab-pane`),J=_(`el-tabs`),Y=p(`loading`);return m(),e(J,{modelValue:C.value,"onUpdate:modelValue":i[7]||=e=>C.value=e,class:`settings-tabs`},{default:b(()=>[t(q,{label:`基本设置`,name:`basic`},{default:b(()=>[g((m(),r(`div`,de,[o(H)?(m(),e(c,{key:0,title:o(H),type:`error`,"show-icon":``,closable:!1},{default:b(()=>[t(s,{size:`small`,onClick:W},{default:b(()=>[...i[8]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`title`])):v(``,!0),t(k,{shadow:`never`},{header:b(()=>[y(`div`,fe,[i[10]||=y(`span`,{class:`fw-600`},`网关访问`,-1),t(l,{type:`success`},{default:b(()=>[...i[9]||=[a(`运行中`,-1)]]),_:1})])]),default:b(()=>[t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`API 密钥 (masterKey)`},{default:b(()=>[t(u,{modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,placeholder:`sk-1234`,clearable:``},{append:b(()=>[t(s,{onClick:O},{default:b(()=>[...i[11]||=[a(`复制`,-1)]]),_:1})]),_:1},8,[`modelValue`]),i[12]||=y(`div`,{class:`muted-sm`},`客户端请求 /v1/* 时的认证密钥(Bearer <masterKey>;留空 = 本地放行)`,-1)]),_:1}),t(d,{label:`监听端口 (port)`},{default:b(()=>[t(f,{modelValue:N.value,"onUpdate:modelValue":i[1]||=e=>N.value=e,min:1,max:65535,step:1,style:{width:`220px`}},null,8,[`modelValue`]),y(`div`,$,[i[14]||=a(` 网关与管理台 API 的监听端口,保存后重启生效 `,-1),P.value===null?v(``,!0):(m(),r(w,{key:0},[i[13]||=a(` ;服务上报的端口 `,-1),y(`b`,null,h(P.value),1)],64))])]),_:1})]),_:1})]),_:1}),t(k,{shadow:`never`},{header:b(()=>[...i[15]||=[y(`span`,{class:`fw-600`},`安全与登录`,-1)]]),default:b(()=>[t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`管理台登录账号`},{default:b(()=>[y(`div`,pe,[t(u,{modelValue:I.value,"onUpdate:modelValue":i[2]||=e=>I.value=e,placeholder:`用户名`,style:{width:`200px`}},null,8,[`modelValue`]),t(u,{modelValue:L.value,"onUpdate:modelValue":i[3]||=e=>L.value=e,type:`password`,placeholder:`密码(至少 6 位)`,"show-password":``,style:{width:`200px`}},null,8,[`modelValue`])]),i[16]||=y(`div`,{class:`muted-sm`},` 管理台登录凭证;留空 = 免登录直接访问(仅本机使用时推荐)。 修改后立即生效,需用新账号重新登录 `,-1)]),_:1}),t(d,{label:`允许局域网访问 (allowLan)`},{default:b(()=>[t(A,{modelValue:F.value,"onUpdate:modelValue":i[4]||=e=>F.value=e},null,8,[`modelValue`]),y(`div`,me,[i[17]||=a(` 开启 = 绑定全部网卡,局域网内设备可访问;关闭 = 仅本机 127.0.0.1。保存后需重启生效 `,-1),R.value?v(``,!0):(m(),r(w,{key:0},[a(` ;未设置任何凭据(密钥与登录账号皆无)时始终仅绑本机 `)],64))])]),_:1})]),_:1})]),_:1}),t(k,{shadow:`never`},{header:b(()=>[y(`div`,he,[i[18]||=y(`span`,{class:`fw-600`},`模型服务监控`,-1),t(l,{type:z.value?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(z.value?`已开启`:`未开启`),1)]),_:1},8,[`type`])])]),default:b(()=>[y(`div`,ge,[i[19]||=y(`div`,{class:`monitor-info`},[y(`div`,{class:`monitor-title`},`自动测试模型服务状态`),y(`div`,{class:`muted-sm`},` 按设定间隔自动直连所有上游模型发送极小探测请求(max_tokens: 1,有少量 token 消耗); 测试结果展示在「服务状态」页面 `)],-1),t(A,{modelValue:z.value,"onUpdate:modelValue":i[5]||=e=>z.value=e},null,8,[`modelValue`])]),z.value?(m(),r(w,{key:0},[t(j,{style:{margin:`12px 0`}}),t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`测试间隔`,style:{"margin-bottom":`0`}},{default:b(()=>[t(U,{modelValue:B.value,"onUpdate:modelValue":i[6]||=e=>B.value=e,style:{width:`220px`}},{default:b(()=>[(m(),r(w,null,S(V,e=>t(M,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),i[20]||=y(`div`,{class:`muted-sm`},`自动测试的执行间隔,保存后即时生效(无需重启)`,-1)]),_:1})]),_:1})],64)):v(``,!0)]),_:1}),y(`div`,_e,[t(s,{type:`primary`,size:`large`,loading:E.value,disabled:E.value||o(H)!==null,onClick:G},{default:b(()=>[a(h(E.value?`保存中...`:`保存设置`),1)]),_:1},8,[`loading`,`disabled`])])])),[[Y,T.value]])]),_:1}),t(q,{label:`代理开关`,name:`harness`,lazy:``},{default:b(()=>[t(K)]),_:1}),t(q,{label:`服务与更新`,name:`service`,lazy:``},{default:b(()=>[t(Q)]),_:1})]),_:1},8,[`modelValue`])}}}),[[`__scopeId`,`data-v-e5f93ad5`]]);export{ve as default};
1
+ import{A as e,F as t,I as n,M as r,O as i,P as a,Pt as o,Q as s,Tt as c,V as l,Wt as u,Z as d,a as f,at as p,et as m,fn as h,ht as g,it as _,j as v,k as y,mt as b,n as x,nt as S,vt as C,w}from"./router-CHObBy9_.js";import{n as T,t as E}from"./index-CREDEMKs.js";import{n as D,t as O}from"./useManagerApi-DIMNWza9.js";import{t as k}from"./config-BU1w8kdn.js";import{n as A,t as j}from"./useCopyToast-pgRyL4NF.js";import{t as M}from"./useToast-CmSnOJzB.js";import{n as N,t as P}from"./version-DegxwpkG.js";l(),u(),C();var F={class:`flex-between`},I={class:`muted-sm mb-8`},L={class:`switch-row`},R={class:`switch-info`},z={class:`switch-title`},B={class:`switch-row`},V={class:`switch-info`},H={class:`switch-title`},U={class:`switch-row`},W={class:`switch-info`},G={class:`switch-title`},K=E(n({__name:`HarnessSwitches`,setup(n){let{toast:i}=M(),o=c(!0),s=c(!1),l=c(null),u=c(null),f=c(null),x=c(null),S=c(`success`),C=async e=>{e||(l.value?s.value=!0:o.value=!0);try{l.value=await O.harness(),u.value=null}catch(t){e||(u.value=t.message)}finally{e||(o.value=!1,s.value=!1)}};d(()=>C(!1));let E={claudeCode:{label:`Claude Code`,file:`~/.claude/settings.json`,toggle:O.setClaudeCode},codex:{label:`Codex CLI`,file:`~/.codex/config.toml`,toggle:O.setCodex},dsh:{label:`DeepSeek Harness`,file:`~/.dsh/settings.yaml`,toggle:O.setDsh}},D=async(e,t)=>{if(!l.value||f.value)return;let n=E[e],r=t?`确定开启 ${n.label} 代理?将改写 ${n.file}(开启前自动备份,关闭时从备份还原)。`:`确定关闭 ${n.label} 代理?将从备份还原 ${n.file}(无备份时移除代理相关配置)。`;try{await T.confirm(r,t?`开启确认`:`关闭确认`,{confirmButtonText:t?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}f.value=e;try{let e=await n.toggle(t);x.value=e.note??null,S.value=t?`success`:`info`,i(t?`已开启代理`:`已关闭代理`,`success`)}catch(e){i(e.message||`操作失败`,`error`)}finally{f.value=null,await C(!0)}};return(n,i)=>{let c=_(`el-button`),d=_(`el-alert`),T=_(`el-tag`),E=_(`el-switch`),O=_(`el-divider`),k=_(`el-empty`),A=_(`el-card`),j=p(`loading`);return g((m(),e(A,{shadow:`never`},{header:b(()=>[y(`div`,F,[i[7]||=y(`span`,{class:`fw-600`},`代理开关`,-1),t(c,{loading:s.value,onClick:i[0]||=e=>C(!1)},{default:b(()=>[...i[6]||=[a(`刷新`,-1)]]),_:1},8,[`loading`])])]),default:b(()=>[l.value?(m(),r(w,{key:0},[y(`div`,I,` 将本机 CLI 工具的流量一键指向本机网关(`+h(l.value.gatewayBase)+`)。 开启前自动备份原配置为 *.ellm-bak(保留最早的原始备份),关闭时从备份还原。 `,1),x.value?(m(),e(d,{key:0,title:x.value,type:S.value,"show-icon":``,class:`mb-8`,onClose:i[1]||=e=>x.value=null},null,8,[`title`,`type`])):v(``,!0),y(`div`,L,[y(`div`,R,[y(`div`,z,[i[8]||=a(` Claude Code `,-1),t(T,{type:l.value.claudeCode?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.claudeCode?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[9]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.claude/settings.json`),a(` 的 env.ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN, 鉴权取网关配置的 masterKey(未设置将开启失败);其余字段原样保留,重启 Claude Code 会话后生效。 `)],-1)]),t(E,{"model-value":l.value.claudeCode,loading:f.value===`claudeCode`,onChange:i[2]||=e=>D(`claudeCode`,!!e)},null,8,[`model-value`,`loading`])]),t(O,{class:`switch-divider`}),y(`div`,B,[y(`div`,V,[y(`div`,H,[i[10]||=a(` Codex CLI `,-1),t(T,{type:l.value.codex?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.codex?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[11]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.codex/config.toml`),a(` 的 model_provider 与 [model_providers.ellm-proxy] 段 (保留用户注释与排版);开启后需按提示设置环境变量 ELLM_PROXY_API_KEY 供 Codex 鉴权。 `)],-1)]),t(E,{"model-value":l.value.codex,loading:f.value===`codex`,onChange:i[3]||=e=>D(`codex`,!!e)},null,8,[`model-value`,`loading`])]),t(O,{class:`switch-divider`}),y(`div`,U,[y(`div`,W,[y(`div`,G,[i[12]||=a(` DeepSeek Harness `,-1),t(T,{type:l.value.dsh?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(l.value.dsh?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[13]||=y(`div`,{class:`switch-desc`},[a(` 写入 `),y(`code`,null,`~/.dsh/settings.yaml`),a(` 的 llm-deepseek.baseURL 与 `),y(`code`,null,`~/.dsh/.credentials.yaml`),a(` 的 DEEPSEEK_API_KEY(取网关 masterKey,未设置则写占位值);模型请在 dsh 内选择与网关部署名一致的模型。 dsh 为 developer preview,配置格式可能随版本变化。 `)],-1)]),t(E,{"model-value":l.value.dsh,loading:f.value===`dsh`,onChange:i[4]||=e=>D(`dsh`,!!e)},null,8,[`model-value`,`loading`])])],64)):(m(),e(k,{key:1,description:u.value||`暂无开关状态`},{default:b(()=>[t(c,{type:`primary`,onClick:i[5]||=e=>C(!1)},{default:b(()=>[...i[14]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1})),[[j,o.value]])}}}),[[`__scopeId`,`data-v-fb084a91`]]);l(),u(),C();var q={class:`service-settings`},J={class:`flex-between`},Y={key:0,class:`switch-row`},ee={class:`switch-info`},te={class:`switch-title`},X={key:0,class:`switch-row`},Z={class:`switch-info`},ne={class:`switch-title`},re={class:`switch-desc`},ie={key:0,class:`version-block`},ae={class:`version-row`},oe={class:`muted-sm`},se={key:0,class:`muted-sm`},ce={key:1,class:`muted-sm`},le={class:`muted-sm`},ue={class:`version-actions`},Q=E(n({__name:`ServiceUpdateSettings`,setup(n){let{toast:o}=M(),l=c(!0),u=c(!1),f=c(null),x=c(null),S=c(null),C=c(null),E=c(null),k=c(!1),A=c(!1),j=c(null),F=null;s(()=>F?.abort());let I=async e=>{if(!e){if(u.value)return;u.value=!0}try{let[e,t]=await Promise.allSettled([O.autostart(),O.update()]);f.value=e.status===`fulfilled`?e.value:null,x.value=e.status===`rejected`?e.reason?.message:null,S.value=t.status===`fulfilled`?t.value:null,C.value=t.status===`rejected`?t.reason?.message:null}finally{l.value=!1,u.value=!1}};d(()=>I(!1));let L=e=>e?new Date(e).toLocaleString():``,R=i(()=>S.value?.lastCheck?.currentVersion??null),z=i(()=>P(R.value)),B=i(()=>S.value?.lastCheck?.latestVersion??null),V=i(()=>S.value?.lastCheck?.hasUpdate===!0),H=i(()=>{let e=S.value?.lastCheck?.checkedAt;return e?new Date(e).toLocaleString():null}),U=i(()=>{let e=S.value?.lastApply;if(!e)return null;let t=L(e.appliedAt);return`${e.fromVersion} → ${e.toVersion}${t?`(${t})`:``}`}),W=async e=>{if(!f.value||E.value)return;let t=e?`确定开启开机自启?将注册登录触发的自启项(登录时自动恢复服务)。`:`确定关闭开机自启?将移除自启项,且此后首次启动不再自动注册。`;try{await T.confirm(t,e?`开启确认`:`关闭确认`,{confirmButtonText:e?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}E.value=`autostart`;try{let t=await O.setAutostart(e);t.note?o(t.note,`success`):o(e?`开机自启已开启`:`开机自启已关闭`,`success`)}catch(e){o(e.message||`操作失败`,`error`)}finally{E.value=null,await I(!0)}},G=async e=>{if(!S.value||E.value)return;let t=e?`确定开启自动更新?将每小时检查 npm 源,发现新版本自动安装并重启服务。`:`确定关闭自动更新?不再自动检查(手动检查更新不受影响)。`;try{await T.confirm(t,e?`开启确认`:`关闭确认`,{confirmButtonText:e?`开启`:`关闭`,cancelButtonText:`取消`,type:`warning`})}catch{return}E.value=`updateEnabled`;try{let t=await O.setUpdateEnabled(e);t.note&&o(t.note,`success`)}catch(e){o(e.message||`操作失败`,`error`)}finally{E.value=null,await I(!0)}},K=async()=>{k.value=!0;try{let e=await O.checkUpdate();j.value=e.hasUpdate?`发现新版本 ${e.latestVersion}(当前 ${e.currentVersion}):点击「立即更新」即可安装(服务自动重启,期间管理台短暂不可访问)`:`已是最新版本 ${e.currentVersion}(检查于 ${L(e.checkedAt)})`,await I(!0)}catch(e){o(e.message||`检查更新失败`,`error`)}finally{k.value=!1}},Q=async()=>{try{await T.confirm(`确定更新到 ${B.value}?服务会自动重启并在启动时安装新版本:重启期间管理台短暂不可访问(预计 1~3 分钟),更新完成后自动恢复。`,`更新确认`,{confirmButtonText:`立即更新`,cancelButtonText:`取消`,type:`warning`})}catch{return}A.value=!0;let e=new AbortController;F=e;try{let t=await O.update(),n=await O.applyUpdate();if(!n.updated){j.value=`已是最新版本 ${n.toVersion}`;return}j.value=`正在重启服务并安装 ${n.toVersion}(预计 1~3 分钟):重启期间管理台短暂不可访问,完成后这里会自动显示结果。`;let r=await D({targetVersion:n.toVersion,sinceAppliedAt:t.lastApply?.appliedAt??null,signal:e.signal});if(e.signal.aborted)return;r&&!r.error?(o(`已更新到 ${r.toVersion}`,`success`),j.value=`已更新 ${r.fromVersion} → ${r.toVersion},服务已在新版本上运行。`):r?.error?(o(`更新失败:${r.error}`,`error`),j.value=N(r.error)):j.value=`更新仍在进行(安装耗时较长):稍后刷新页面查看最新状态。`}catch(e){o(e.message||`更新失败`,`error`)}finally{A.value=!1,F===e&&(F=null),e.signal.aborted||await I(!0)}};return(n,i)=>{let o=_(`el-button`),s=_(`el-tag`),c=_(`el-switch`),d=_(`el-empty`),T=_(`el-card`),D=_(`el-link`),O=_(`el-alert`),M=p(`loading`);return g((m(),r(`div`,q,[t(T,{shadow:`never`,class:`mb-16`},{header:b(()=>[y(`div`,J,[i[7]||=y(`span`,{class:`fw-600`},`开机自启`,-1),t(o,{loading:u.value,onClick:i[0]||=e=>I(!1)},{default:b(()=>[...i[6]||=[a(`刷新`,-1)]]),_:1},8,[`loading`])])]),default:b(()=>[f.value?(m(),r(`div`,Y,[y(`div`,ee,[y(`div`,te,[i[8]||=a(` 登录时自动启动服务 `,-1),t(s,{type:f.value.enabled?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(f.value.enabled?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),i[9]||=y(`div`,{class:`switch-desc`},[a(` 登录操作系统时自动启动服务(无需管理员权限)。 关闭后首次启动 `),y(`code`,null,`ezllm`),a(` 也不会再自动注册,重新开启即可解除。 `)],-1)]),t(c,{"model-value":f.value.enabled,loading:E.value===`autostart`,onChange:i[1]||=e=>W(!!e)},null,8,[`model-value`,`loading`])])):(m(),e(d,{key:1,description:x.value||`暂无自启状态`},{default:b(()=>[t(o,{type:`primary`,onClick:i[2]||=e=>I(!1)},{default:b(()=>[...i[10]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1}),t(T,{shadow:`never`,class:`mb-16`},{header:b(()=>[...i[11]||=[y(`div`,{class:`flex-between`},[y(`span`,{class:`fw-600`},`自动更新`)],-1)]]),default:b(()=>[S.value?(m(),r(`div`,X,[y(`div`,Z,[y(`div`,ne,[i[12]||=a(` 自动检查并安装新版本 `,-1),t(s,{type:S.value.enabled?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(S.value.enabled?`已开启`:`未开启`),1)]),_:1},8,[`type`])]),y(`div`,re,[S.value.supported?(m(),r(w,{key:1},[a(` 每小时检查 npm 源,发现新版本自动重启服务并在启动时安装(更新期间服务短暂中断); 关闭后仍可在下方手动检查与更新。 `)],64)):(m(),r(w,{key:0},[a(` 当前为源码运行模式,更新功能不可用(仅 npm 全局安装的包支持自动更新)。 `)],64))])]),S.value.supported?(m(),e(c,{key:0,"model-value":S.value.enabled,loading:E.value===`updateEnabled`,onChange:i[3]||=e=>G(!!e)},null,8,[`model-value`,`loading`])):v(``,!0)])):(m(),e(d,{key:1,description:C.value||`暂无更新状态`},{default:b(()=>[t(o,{type:`primary`,onClick:i[4]||=e=>I(!1)},{default:b(()=>[...i[13]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`description`]))]),_:1}),t(T,{shadow:`never`},{header:b(()=>[...i[14]||=[y(`div`,{class:`flex-between`},[y(`span`,{class:`fw-600`},`版本信息`)],-1)]]),default:b(()=>[S.value?(m(),r(`div`,ie,[y(`div`,ae,[i[18]||=y(`span`,{class:`version-label`},`当前版本`,-1),t(s,{size:`small`},{default:b(()=>[a(h(R.value||`未知`),1)]),_:1}),z.value?(m(),e(s,{key:0,type:`warning`,size:`small`,"disable-transitions":``},{default:b(()=>[...i[15]||=[a(`本地构建`,-1)]]),_:1})):v(``,!0),B.value?(m(),r(w,{key:1},[i[17]||=y(`span`,{class:`version-label`},`最新版本`,-1),t(s,{type:V.value?`warning`:`success`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(B.value),1)]),_:1},8,[`type`]),V.value?(m(),e(s,{key:0,type:`warning`,size:`small`,"disable-transitions":``},{default:b(()=>[...i[16]||=[a(`发现新版本`,-1)]]),_:1})):v(``,!0)],64)):v(``,!0)]),y(`div`,oe,[a(` 上次检查:`+h(H.value||`尚未检查`)+` `,1),S.value.updating?(m(),r(w,{key:0},[a(` · 更新执行中...`)],64)):v(``,!0)]),S.value.supported?v(``,!0):(m(),r(`div`,se,`源码运行模式:手动检查与更新不可用。`)),U.value?(m(),r(`div`,ce,`上次更新:`+h(U.value),1)):v(``,!0),y(`div`,le,[i[20]||=a(` npm 包主页:`,-1),t(D,{type:`primary`,href:`https://www.npmjs.com/package/ezllm`,target:`_blank`},{default:b(()=>[...i[19]||=[a(`npmjs.com/package/ezllm`,-1)]]),_:1})]),y(`div`,ue,[t(o,{loading:k.value,disabled:!S.value.supported||S.value.updating,onClick:K},{default:b(()=>[a(h(k.value?`检查中...`:`检查更新`),1)]),_:1},8,[`loading`,`disabled`]),V.value&&S.value.supported?(m(),e(o,{key:0,type:`primary`,loading:A.value,disabled:S.value.updating,onClick:Q},{default:b(()=>[a(h(A.value?`更新中...`:`立即更新到 ${B.value}`),1)]),_:1},8,[`loading`,`disabled`])):v(``,!0)]),j.value?(m(),e(O,{key:2,title:j.value,type:`info`,"show-icon":``,class:`mt-8`,onClose:i[5]||=e=>j.value=null},null,8,[`title`])):v(``,!0)])):(m(),e(d,{key:1,description:`更新状态不可用`}))]),_:1})])),[[M,l.value]])}}}),[[`__scopeId`,`data-v-af77e8e0`]]);l(),C(),u();var de={class:`flex-col-gap`},fe={class:`flex-between`},$={class:`muted-sm`},pe={class:`login-row`},me={class:`muted-sm`},he={class:`flex-between`},ge={class:`monitor-row`},_e={class:`save-bar`},ve=E(n({__name:`SettingsView`,setup(n){let{toast:s}=M(),{copyWithToast:l}=j(),u=k(),C=c(`basic`),T=c(!0),E=c(!1),D=c(``),O=async()=>{D.value&&await l(D.value)},N=c(29770),P=c(null),F=c(!0),I=c(``),L=c(``),R=i(()=>D.value.trim()!==``||I.value!==``&&L.value!==``),z=c(!1),B=c(60),V=[{label:`10分钟`,value:10},{label:`30分钟`,value:30},{label:`1小时`,value:60},{label:`2小时`,value:120},{label:`5小时`,value:300},{label:`8小时`,value:480},{label:`12小时`,value:720},{label:`24小时`,value:1440}],{loadError:H,run:U}=A(`设置加载失败,请重试`),W=()=>U(async()=>{try{await u.load(),D.value=u.config.masterKey||``,N.value=u.config.port??29770;let e=u.config[`web-ui`]?.[`login-account`];I.value=e?.username||``,L.value=e?.password||``,F.value=u.config.allowLan!==!1;let t=u.config.latencyTest;z.value=t?.enabled===!0,B.value=t?.intervalMinutes??60;try{let e=await f.get(`/api/status`);P.value=e.listenPort}catch{P.value=null}}finally{T.value=!1}}),G=async()=>{if(I.value.trim()!==``||L.value!==``){if(I.value.trim()===``||L.value===``){s(`用户名和密码需同时填写`,`error`);return}if(L.value.length<6){s(`密码至少 6 位`,`error`);return}}E.value=!0;let e=z.value&&u.config.latencyTest?.enabled!==!0;try{let t=await u.update(e=>{e.masterKey=D.value.trim(),e.port=N.value,e.allowLan=F.value,e.latencyTest={enabled:z.value,intervalMinutes:B.value},e[`web-ui`]??={},e[`web-ui`][`login-account`]??={},e[`web-ui`][`login-account`].username=I.value.trim(),e[`web-ui`][`login-account`].password=L.value});await x(!0),s(`设置已保存并生效`,`success`),e&&s(`已开启自动测试:服务将定期直连所有上游发送探测请求,有少量 token 消耗`,`warning`),t.restartHint&&s(t.restartHint,`warning`)}catch(e){s(e.message,`error`)}finally{E.value=!1}};return d(W),(n,i)=>{let s=_(`el-button`),c=_(`el-alert`),l=_(`el-tag`),u=_(`el-input`),d=_(`el-form-item`),f=_(`el-input-number`),x=_(`el-form`),k=_(`el-card`),A=_(`el-switch`),j=_(`el-divider`),M=_(`el-option`),U=_(`el-select`),q=_(`el-tab-pane`),J=_(`el-tabs`),Y=p(`loading`);return m(),e(J,{modelValue:C.value,"onUpdate:modelValue":i[7]||=e=>C.value=e,class:`settings-tabs`},{default:b(()=>[t(q,{label:`基本设置`,name:`basic`},{default:b(()=>[g((m(),r(`div`,de,[o(H)?(m(),e(c,{key:0,title:o(H),type:`error`,"show-icon":``,closable:!1},{default:b(()=>[t(s,{size:`small`,onClick:W},{default:b(()=>[...i[8]||=[a(`重试`,-1)]]),_:1})]),_:1},8,[`title`])):v(``,!0),t(k,{shadow:`never`},{header:b(()=>[y(`div`,fe,[i[10]||=y(`span`,{class:`fw-600`},`网关访问`,-1),t(l,{type:`success`},{default:b(()=>[...i[9]||=[a(`运行中`,-1)]]),_:1})])]),default:b(()=>[t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`API 密钥 (masterKey)`},{default:b(()=>[t(u,{modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,placeholder:`sk-1234`,clearable:``},{append:b(()=>[t(s,{onClick:O},{default:b(()=>[...i[11]||=[a(`复制`,-1)]]),_:1})]),_:1},8,[`modelValue`]),i[12]||=y(`div`,{class:`muted-sm`},`客户端请求 /v1/* 时的认证密钥(Bearer <masterKey>;留空 = 本地放行)`,-1)]),_:1}),t(d,{label:`监听端口 (port)`},{default:b(()=>[t(f,{modelValue:N.value,"onUpdate:modelValue":i[1]||=e=>N.value=e,min:1,max:65535,step:1,style:{width:`220px`}},null,8,[`modelValue`]),y(`div`,$,[i[14]||=a(` 网关与管理台 API 的监听端口,保存后重启生效 `,-1),P.value===null?v(``,!0):(m(),r(w,{key:0},[i[13]||=a(` ;服务上报的端口 `,-1),y(`b`,null,h(P.value),1)],64))])]),_:1})]),_:1})]),_:1}),t(k,{shadow:`never`},{header:b(()=>[...i[15]||=[y(`span`,{class:`fw-600`},`安全与登录`,-1)]]),default:b(()=>[t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`管理台登录账号`},{default:b(()=>[y(`div`,pe,[t(u,{modelValue:I.value,"onUpdate:modelValue":i[2]||=e=>I.value=e,placeholder:`用户名`,style:{width:`200px`}},null,8,[`modelValue`]),t(u,{modelValue:L.value,"onUpdate:modelValue":i[3]||=e=>L.value=e,type:`password`,placeholder:`密码(至少 6 位)`,"show-password":``,style:{width:`200px`}},null,8,[`modelValue`])]),i[16]||=y(`div`,{class:`muted-sm`},` 管理台登录凭证;留空 = 免登录直接访问(仅本机使用时推荐)。 修改后立即生效,需用新账号重新登录 `,-1)]),_:1}),t(d,{label:`允许局域网访问 (allowLan)`},{default:b(()=>[t(A,{modelValue:F.value,"onUpdate:modelValue":i[4]||=e=>F.value=e},null,8,[`modelValue`]),y(`div`,me,[i[17]||=a(` 开启 = 绑定全部网卡,局域网内设备可访问;关闭 = 仅本机 127.0.0.1。保存后需重启生效 `,-1),R.value?v(``,!0):(m(),r(w,{key:0},[a(` ;未设置任何凭据(密钥与登录账号皆无)时始终仅绑本机 `)],64))])]),_:1})]),_:1})]),_:1}),t(k,{shadow:`never`},{header:b(()=>[y(`div`,he,[i[18]||=y(`span`,{class:`fw-600`},`模型服务监控`,-1),t(l,{type:z.value?`success`:`info`,size:`small`,"disable-transitions":``},{default:b(()=>[a(h(z.value?`已开启`:`未开启`),1)]),_:1},8,[`type`])])]),default:b(()=>[y(`div`,ge,[i[19]||=y(`div`,{class:`monitor-info`},[y(`div`,{class:`monitor-title`},`自动测试模型服务状态`),y(`div`,{class:`muted-sm`},` 按设定间隔自动直连所有上游模型发送极小探测请求(max_tokens: 1,有少量 token 消耗); 测试结果展示在「服务状态」页面 `)],-1),t(A,{modelValue:z.value,"onUpdate:modelValue":i[5]||=e=>z.value=e},null,8,[`modelValue`])]),z.value?(m(),r(w,{key:0},[t(j,{style:{margin:`12px 0`}}),t(x,{"label-position":`top`},{default:b(()=>[t(d,{label:`测试间隔`,style:{"margin-bottom":`0`}},{default:b(()=>[t(U,{modelValue:B.value,"onUpdate:modelValue":i[6]||=e=>B.value=e,style:{width:`220px`}},{default:b(()=>[(m(),r(w,null,S(V,e=>t(M,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),i[20]||=y(`div`,{class:`muted-sm`},`自动测试的执行间隔,保存后即时生效(无需重启)`,-1)]),_:1})]),_:1})],64)):v(``,!0)]),_:1}),y(`div`,_e,[t(s,{type:`primary`,size:`large`,loading:E.value,disabled:E.value||o(H)!==null,onClick:G},{default:b(()=>[a(h(E.value?`保存中...`:`保存设置`),1)]),_:1},8,[`loading`,`disabled`])])])),[[Y,T.value]])]),_:1}),t(q,{label:`代理开关`,name:`harness`,lazy:``},{default:b(()=>[t(K)]),_:1}),t(q,{label:`服务与更新`,name:`service`,lazy:``},{default:b(()=>[t(Q)]),_:1})]),_:1},8,[`modelValue`])}}}),[[`__scopeId`,`data-v-e5f93ad5`]]);export{ve as default};
@@ -0,0 +1 @@
1
+ import{A as e,F as t,I as n,M as r,P as i,S as a,Tt as o,V as s,Z as c,a as l,et as u,ft as d,it as f,j as p,k as m,m as h,mt as g,n as _,r as v,u as y,vt as b}from"./router-CHObBy9_.js";import{t as x}from"./message-DPoeboTE.js";import{t as S}from"./index-CREDEMKs.js";import{t as C}from"./clipboard-JYWVdyjq.js";s(),h(),b();var w={class:`setup-wrap`},T={class:`account-row`},E=S(n({__name:`SetupView`,setup(n){let s=y(),h=o(!1),b=o(``),S=!1,E=o(``),D=o(``),O=o(!1),k=o(``);c(async()=>{!(await _()).masterKeySet&&h.value&&A()});function A(){b.value=(()=>{let e=new Uint8Array(32);crypto.getRandomValues(e);let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)})(),S=!0}d(h,e=>{e?b.value.trim()===``&&A():S&&=(b.value=``,!1)});async function j(){await C(b.value)?x.success(`已复制到剪贴板`):x.error(`复制失败,请手动选择复制`)}async function M(){k.value=``;let e=h.value?`server`:`local`,t=b.value.trim(),n=E.value.trim()!==``||D.value!==``;if(h.value&&t===``){k.value=`服务器部署必须设置主密钥,防止 /v1 网关被他人盗用`;return}if(h.value&&!n){k.value=`服务器部署必须设置登录账号密码,防止管理台被陌生人登录`;return}if(n){if(E.value.trim()===``||D.value===``){k.value=`用户名和密码需同时填写`;return}if(D.value.length<6){k.value=`密码至少 6 位`;return}}O.value=!0;try{let r=t===``?null:await l.post(`/api/setup/master-key`,{mode:`custom`,masterKey:t}),i=await l.post(`/api/setup/finish`,{deployment:e,...n?{username:E.value.trim(),password:D.value}:{}});v(e,n),x.success(n?`初始化完成,请使用新账号登录`:`初始化完成,免登录进入管理台`);let a=r?.restartHint??i.restartHint;a&&x({message:a,type:`warning`,duration:8e3}),await s.push(n?`/login`:`/`)}catch(e){k.value=e.message||`保存失败`}finally{O.value=!1}}return(n,o)=>{let s=f(`el-checkbox`),c=f(`el-alert`),l=f(`el-button`),d=f(`el-input`),_=f(`el-form-item`),v=f(`el-form`),y=f(`el-card`);return u(),r(`div`,w,[t(y,{shadow:`never`,class:`setup-card`},{default:g(()=>[o[10]||=m(`div`,{class:`setup-brand`},[m(`span`,{class:`brand-mark`},`EZ`),m(`span`,{class:`setup-title`},`初始化 EZLLM`)],-1),o[11]||=m(`p`,{class:`setup-sub`},`首次使用前完成部署形态与访问凭据的配置`,-1),t(s,{modelValue:h.value,"onUpdate:modelValue":o[0]||=e=>h.value=e,class:`mb-16`},{default:g(()=>[...o[4]||=[i(` 允许其他设备访问本服务(局域网 / 公网部署) `,-1)]]),_:1},8,[`modelValue`]),h.value?(u(),e(c,{key:0,type:`warning`,"show-icon":``,closable:!1,title:`服务将对网络中的其他设备可见,请务必保留主密钥并修改默认账号`,class:`mb-16`})):p(``,!0),t(v,{"label-position":`top`,onSubmit:a(M,[`prevent`])},{default:g(()=>[t(_,null,{label:g(()=>[...o[5]||=[i(` API 主密钥(本地部署可留空) `,-1),m(`span`,{class:`label-hint`},`调用 /v1/* 时的 Bearer Token;留空 = 不启用鉴权,且未设登录账号时服务仅本机可访问`,-1)]]),default:g(()=>[t(d,{modelValue:b.value,"onUpdate:modelValue":o[1]||=e=>b.value=e,placeholder:`已设置主密钥,留空保持不变`,clearable:``},{append:g(()=>[t(l,{onClick:A},{default:g(()=>[...o[6]||=[i(`生成`,-1)]]),_:1}),t(l,{disabled:!b.value,onClick:j},{default:g(()=>[...o[7]||=[i(`复制`,-1)]]),_:1},8,[`disabled`])]),_:1},8,[`modelValue`])]),_:1}),t(_,null,{label:g(()=>[...o[8]||=[i(` 管理台登录(可选) `,-1),m(`span`,{class:`label-hint`},`不填 = 免登录直接进管理台(纯本机使用);勾选上方后必须填写`,-1)]]),default:g(()=>[m(`div`,T,[t(d,{modelValue:E.value,"onUpdate:modelValue":o[2]||=e=>E.value=e,placeholder:`用户名`,clearable:``},null,8,[`modelValue`]),t(d,{modelValue:D.value,"onUpdate:modelValue":o[3]||=e=>D.value=e,type:`password`,"show-password":``,placeholder:`密码(至少 6 位)`},null,8,[`modelValue`])])]),_:1}),k.value?(u(),e(c,{key:0,title:k.value,type:`error`,"show-icon":``,closable:!1,class:`mb-16`},null,8,[`title`])):p(``,!0),t(l,{type:`primary`,class:`full-width`,loading:O.value,onClick:M},{default:g(()=>[...o[9]||=[i(` 完成初始化 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-852bbcb1`]]);export{E as default};
@@ -0,0 +1 @@
1
+ .setup-wrap[data-v-852bbcb1]{justify-content:center;align-items:center;min-height:100vh;display:flex}.setup-card[data-v-852bbcb1]{border-radius:16px;width:520px;max-width:92vw;box-shadow:0 12px 40px #1f23291a}.setup-brand[data-v-852bbcb1]{justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.setup-title[data-v-852bbcb1]{color:var(--el-text-color-primary);font-size:20px;font-weight:700}.setup-sub[data-v-852bbcb1]{text-align:center;color:var(--el-text-color-secondary);margin:6px 0 24px;font-size:13px}.account-row[data-v-852bbcb1]{gap:12px;width:100%;display:flex}.label-hint[data-v-852bbcb1]{color:#909399;font-size:12px;font-weight:400;line-height:1.4;display:block}.full-width[data-v-852bbcb1]{width:100%}.mb-16[data-v-852bbcb1]{margin-bottom:16px}
@@ -1 +1 @@
1
- import{O as e,Tt as t,V as n,a as r,vt as i}from"./router-Bu_wBVat.js";import{r as a}from"./index-WKbWAuG9.js";i(),n();var o=a(`config`,()=>{let n=t({}),i=t(!1),a=e(()=>Array.isArray(n.value.providers)?n.value.providers:[]),o=e(()=>a.value.length),s=e(()=>a.value.reduce((e,t)=>e+(t.models?.length??0),0));async function c(){i.value=!0;try{n.value=await r.get(`/api/config`)}finally{i.value=!1}}async function l(){return await r.put(`/api/config`,n.value)}async function u(e){return e(n.value),await l()}return{config:n,loading:i,providers:a,providerCount:o,totalModelCount:s,load:c,save:l,update:u}});export{o as t};
1
+ import{O as e,Tt as t,V as n,a as r,vt as i}from"./router-CHObBy9_.js";import{r as a}from"./index-CREDEMKs.js";i(),n();var o=a(`config`,()=>{let n=t({}),i=t(!1),a=e(()=>Array.isArray(n.value.providers)?n.value.providers:[]),o=e(()=>a.value.length),s=e(()=>a.value.reduce((e,t)=>e+(t.models?.length??0),0));async function c(){i.value=!0;try{n.value=await r.get(`/api/config`)}finally{i.value=!1}}async function l(){return await r.put(`/api/config`,n.value)}async function u(e){return e(n.value),await l()}return{config:n,loading:i,providers:a,providerCount:o,totalModelCount:s,load:c,save:l,update:u}});export{o as t};
@@ -0,0 +1 @@
1
+ var e=e=>String(e).padStart(2,`0`),t=t=>{let n=t=>`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`,r=new Date,i=new Date(r),a=r;if(t!==`today`){if(t===`yesterday`)i.setDate(r.getDate()-1),a=i;else if(t===`beforeYesterday`)i.setDate(r.getDate()-2),a=i;else if(t===`last3days`)i.setDate(r.getDate()-2);else if(t===`week`)i.setDate(r.getDate()-(r.getDay()+6)%7);else if(t===`month`)i.setDate(1);else return null}return[n(i),n(a)]},n=e=>{if(e.name)return e.name;if(e.alias)return e.alias;let t=e.apiKey||``;if(!t)return`-`;if(t.length<=8)return t;let n=Math.min(6,Math.floor(t.length/4));return`${t.substring(0,n)}...${t.substring(t.length-n)}`},r=t=>{if(!t)return`-`;let n=new Date(t);return Number.isNaN(n.getTime())?`-`:`${n.getFullYear()}-${e(n.getMonth()+1)}-${e(n.getDate())} ${e(n.getHours())}:${e(n.getMinutes())}:${e(n.getSeconds())}`},i=e=>e?typeof e==`string`?e:JSON.stringify(e,null,2):`-`,a=e=>{if(!e)return`-`;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},o=e=>{let t=e??0;return(Number.isFinite(t)?t:0).toLocaleString()},s=({protocol:e,hostname:t,port:n})=>`${e===`https:`?`https:`:`http:`}//${t}${n?`:${n}`:``}`,c=e=>e==null||e<=0?`-`:e>=1e3?(e/1e3).toFixed(2)+`s`:Math.round(e)+`ms`,l=e=>e==null?`-`:e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`,u=e=>{let t=e.input_tokens||0,n=e.cache_read_tokens||0;return t<=0?`-`:(n/t*100).toFixed(1)+`%`},d=(e,t=262144)=>{let n=e??``;return n.length<=t?n:`${n.slice(0,t)}\n\n…(已省略 ${(n.length-t).toLocaleString()} 字符以保持流畅,完整内容请点上方「复制」按钮)`},f=e=>{let t=(e||``).trim();return t?t.length>8?`${t.slice(0,8)}…`:t:`-`},p=e=>e.client||e.user_agent||`-`,m=e=>e.user_agent?`${e.user_agent}(点击复制)`:`${e.client??`-`}(点击复制)`,h=e=>{let t=(e||``).split(`,`).map(e=>e.trim()).filter(Boolean).sort();return t.length===0?`-`:t.length<=2?t.join(`, `):`${t.slice(0,2).join(`, `)} +${t.length-2}`},g=e=>h(e),_=e=>h(e);export{d as _,_ as a,o as c,a as d,g as f,f as g,t as h,m as i,i as l,n as m,u as n,c as o,e as p,p as r,l as s,s as t,r as u};
@@ -1,4 +1,4 @@
1
- import{$ as e,$t as t,A as n,At as r,B as i,C as a,Ct as o,D as s,E as c,F as l,G as u,Gt as d,H as f,Ht as p,I as m,J as h,Jt as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as O,R as k,Rt as A,S as j,St as M,T as N,Tt as P,U as F,Ut as ee,V as I,W as L,Wt as R,X as te,Y as ne,Z as re,Zt as ie,_ as ae,_t as oe,at as se,b as ce,bt as le,cn as ue,ct as de,d as fe,en as pe,et as z,f as me,fn as B,ft as V,gt as he,h as ge,ht as _e,it as ve,j as H,jt as ye,k as U,kt as be,ln as W,m as xe,mn as Se,mt as G,nt as Ce,ot as we,p as Te,pn as Ee,pt as De,q as Oe,qt as ke,rn as Ae,rt as K,sn as q,st as je,t as Me,tt as Ne,ut as Pe,v as Fe,vn as Ie,vt as J,w as Le,wt as Re,x as ze,xt as Be,y as Ve,yt as He,z as Ue,zt as We}from"./router-Bu_wBVat.js";import{$ as Ge,$n as Ke,$t as qe,A as Je,An as Ye,At as Xe,B as Ze,Bn as Qe,Bt as $e,C as et,Cn as tt,Ct as nt,D as rt,Dn as it,Dt as Y,E as at,En as ot,Et as X,F as st,Fn as ct,Ft as lt,G as ut,Gn as dt,Gt as ft,H as pt,Hn as mt,Ht as ht,I as gt,In as _t,It as vt,J as yt,Jn as bt,Jt as xt,Kn as St,Kt as Ct,L as wt,Ln as Tt,Lt as Et,M as Dt,Mn as Ot,Mt as kt,N as At,Nn as jt,Nt as Mt,O as Nt,On as Pt,Ot as Ft,P as It,Pn as Lt,Pt as Rt,Q as zt,Qn as Bt,Qt as Vt,Rn as Ht,Rt as Ut,Sn as Wt,St as Gt,T as Kt,Tn as qt,Tt as Jt,U as Yt,Un as Xt,Ut as Zt,V as Qt,Vn as $t,Vt as en,W as tn,Wn as nn,Wt as rn,X as an,Xn as on,Xt as sn,Y as cn,Yn as ln,Yt as un,Z as dn,Zn as fn,Zt as pn,_ as mn,_n as hn,_r as gn,_t as _n,a as vn,an as yn,ar as bn,at as xn,b as Sn,bn as Cn,bt as wn,c as Z,cn as Tn,cr as En,ct as Dn,d as On,dn as kn,dr as An,dt as jn,en as Mn,er as Nn,et as Pn,f as Fn,fn as In,fr as Ln,ft as Rn,g as zn,gn as Bn,gr as Vn,gt as Hn,h as Un,hn as Wn,hr as Gn,ht as Q,i as Kn,in as qn,ir as Jn,it as Yn,j as Xn,jn as Zn,jt as Qn,k as $n,kn as er,kt as tr,l as nr,ln as rr,lr as ir,lt as ar,m as or,mn as sr,mr as cr,mt as lr,n as ur,nn as dr,nr as fr,nt as pr,o as mr,on as hr,or as gr,ot as _r,p as vr,pn as yr,pr as br,pt as xr,q as Sr,qn as Cr,qt as wr,r as Tr,rn as Er,rr as Dr,rt as Or,s as kr,sn as Ar,sr as jr,st as Mr,t as Nr,tn as Pr,tr as Fr,tt as Ir,u as Lr,un as Rr,ur as zr,ut as Br,v as Vr,vn as Hr,vr as $,vt as Ur,w as Wr,wn as Gr,wt as Kr,x as qr,xn as Jr,xt as Yr,y as Xr,yn as Zr,yt as Qr,z as $r,zn as ei,zt as ti}from"./message-D0z70H44.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),I(),J();var ni=typeof window<`u`,ri,ii=e=>ri=e,ai=Symbol();function oi(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var si=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function ci(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function li(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){mi(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function ui(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function di(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var fi=typeof navigator==`object`?navigator:{userAgent:``},pi=/Macintosh/.test(fi.userAgent)&&/AppleWebKit/.test(fi.userAgent)&&!/Safari/.test(fi.userAgent),mi=ni?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!pi?hi:`msSaveOrOpenBlob`in fi?gi:_i:()=>{};function hi(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?di(r):ui(r.href)?li(e,t,n):(r.target=`_blank`,di(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){di(r)},0))}function gi(e,t=`download`,n){if(typeof e==`string`){if(ui(e))li(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){di(t)})}}else navigator.msSaveOrOpenBlob(ci(e,n),t)}function _i(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return li(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(si.HTMLElement))||`safari`in si,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||pi)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:vi}=Object;function yi(){let e=he(!0),t=e.run(()=>P({})),n=[],r=[],i=Be({install(e){ii(i),i._a=e,e.provide(ai,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var bi=()=>{};function xi(e,t,n,r=bi){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&oe()&&M(i),i}function Si(e,...t){e.forEach(e=>{e(...t)})}var Ci=e=>e(),wi=Symbol(),Ti=Symbol();function Ei(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=oi(i)&&oi(r)&&Object.hasOwn(e,n)&&!le(r)&&!He(r)?Ei(i,r):r}return e}var Di=Symbol();function Oi(e){return!e||typeof e!=`object`||!Object.hasOwn(e,Di)}var{assign:ki}=Object;function Ai(e){return!!(le(e)&&e.effect)}function ji(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),ki(ye(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Be(w(()=>{ii(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Mi(e,l,t,n,r,!0),c}function Mi(e,t,n={},r,i,a){let s,c=ki({actions:{}},n),l={deep:!0},d,f,p=new Set,m=new Set,h,g=r.state.value[e];!a&&!g&&(r.state.value[e]={});let _;function v(t){let n;d=f=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:h}):(Ei(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:h});let i=_=Symbol();u().then(()=>{_===i&&(d=!0)}),f=!0,Si(p,n,r.state.value[e])}let y=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{ki(e,t)})}:bi;function b(){s.stop(),p.clear(),m.clear(),r._s.delete(e)}let x=(t,n=``)=>{if(wi in t)return t[Ti]=n,t;let i=function(){ii(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Si(m,{args:n,name:i[Ti],store:C,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:C,n)}catch(e){throw Si(o,e),e}return l instanceof Promise?l.then(e=>(Si(a,e),e)).catch(e=>(Si(o,e),Promise.reject(e))):(Si(a,l),l)};return i[wi]=!0,i[Ti]=n,i},S={_p:r,$id:e,$onAction:xi.bind(null,m),$patch:v,$reset:y,$subscribe(t,n={}){if(p.has(t))return bi;let i=xi(p,t,n.detached,()=>a()),a=s.run(()=>V(()=>r.state.value[e],r=>{(n.flush===`sync`?f:d)&&t({storeId:e,type:`direct`,events:h},r)},ki({},l,n)));return i},$dispose:b},C=o(S);r._s.set(e,C);let w=(r._a&&r._a.runWithContext||Ci)(()=>r._e.run(()=>(s=he()).run(()=>t({action:x}))));for(let t in w){let n=w[t];le(n)&&!Ai(n)||He(n)?a||(g&&Oi(n)&&(le(n)?n.value=g[t]:((n instanceof Set||n instanceof Map)&&n.clear(),Ei(n,g[t]))),r.state.value[e][t]=n):typeof n==`function`&&(w[t]=x(n,t),c.actions[t]=n)}return ki(C,w),ki(be(C),w),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{v(t=>{ki(t,e)})}}),r._p.forEach(e=>{let t=s.run(()=>e({store:C,app:r._a,pinia:r,options:c}));ki(C,t)}),g&&a&&n.hydrate&&n.hydrate(C.$state,g),d=!0,f=!0,C}function Ni(e,t,n){let r,a=typeof t==`function`;r=a?n:t;function o(n,o){let s=i();return n||=s?f(ai,null):null,n&&ii(n),n=ri,n._s.has(e)||(a?Mi(e,t,r,n):ji(e,r,n)),n._s.get(e)}return o.$id=e,o}var Pi=[`left`,`center`,`right`],Fi=[`year`,`years`,`month`,`months`,`date`,`dates`,`week`,`quarter`,`quarters`,`datetime`,`datetimerange`,`daterange`,`monthrange`,`yearrange`,`quarterrange`],Ii=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],Li=`update:modelValue`,Ri=`change`,zi=`input`,Bi=Symbol(`INSTALLED_KEY`),Vi=/\s/;function Hi(e){for(var t=e.length;t--&&Vi.test(e.charAt(t)););return t}var Ui=/^\s+/;function Wi(e){return e&&e.slice(0,Hi(e)+1).replace(Ui,``)}var Gi=NaN,Ki=/^[-+]0x[0-9a-f]+$/i,qi=/^0b[01]+$/i,Ji=/^0o[0-7]+$/i,Yi=parseInt;function Xi(e){if(typeof e==`number`)return e;if(Qe(e))return Gi;if(Tt(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Tt(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Wi(e);var n=qi.test(e);return n||Ji.test(e)?Yi(e.slice(2),n?2:8):Ki.test(e)?Gi:+e}var Zi=1/0,Qi=17976931348623157e292;function $i(e){return e?(e=Xi(e),e===Zi||e===-Zi?(e<0?-1:1)*Qi:e===e?e:0):e===0?e:0}function ea(e){var t=$i(e),n=t%1;return t===t?n?t-n:t:0}function ta(e){return e}var na=Object.create,ra=function(){function e(){}return function(t){if(!Tt(t))return{};if(na)return na(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function ia(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function aa(){}function oa(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}var sa=800,ca=16,la=Date.now;function ua(e){var t=0,n=0;return function(){var r=la(),i=ca-(r-n);if(n=r,i>0){if(++t>=sa)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function da(e){return function(){return e}}var fa=ua(ct?function(e,t){return ct(e,`toString`,{configurable:!0,enumerable:!1,value:da(t),writable:!0})}:ta);function pa(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function ma(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function ha(e){return e!==e}function ga(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function _a(e,t,n){return t===t?ga(e,t,n):ma(e,ha,n)}function va(e,t){return!!(e!=null&&e.length)&&_a(e,t,0)>-1}function ya(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?jt(n,s,c):Zn(n,s,c)}return n}var ba=Math.max;function xa(e,t,n){return t=ba(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=ba(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),ia(e,this,s)}}function Sa(e,t){return fa(xa(e,t,ta),e+``)}function Ca(e,t,n){if(!Tt(n))return!1;var r=typeof t;return(r==`number`?er(n)&&Lt(t,n.length):r==`string`&&t in n)?Ot(n[t],e):!1}function wa(e){return Sa(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Ca(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}function Ta(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ea=Object.prototype.hasOwnProperty;function Da(e){if(!Tt(e))return Ta(e);var t=Pt(e),n=[];for(var r in e)(r!=`constructor`||!t&&Ea.call(e,r))&&n.push(r);return n}function Oa(e){return er(e)?Wt(e,!0):Da(e)}var ka=mt?mt.isConcatSpreadable:void 0;function Aa(e){return Ht(e)||it(e)||!!(ka&&e&&e[ka])}function ja(e,t,n,r,i){var a=-1,o=e.length;for(n||=Aa,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?ja(s,t-1,n,r,i):sr(i,s):r||(i[i.length]=s)}return i}function Ma(e){return e!=null&&e.length?ja(e,1):[]}function Na(e){return fa(xa(e,void 0,Ma),e+``)}function Pa(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}function Fa(){if(!arguments.length)return[];var e=arguments[0];return Ht(e)?e:[e]}function Ia(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function La(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=Xi(n),n=n===n?n:0),t!==void 0&&(t=Xi(t),t=t===t?t:0),Ia(Xi(e),t,n)}function Ra(e,t){return e&&ya(t,Jr(t),e)}function za(e,t){return e&&ya(t,Oa(t),e)}var Ba=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Va=Ba&&typeof module==`object`&&module&&!module.nodeType&&module,Ha=Va&&Va.exports===Ba?Xt.Buffer:void 0,Ua=Ha?Ha.allocUnsafe:void 0;function Wa(e,t){if(t)return e.slice();var n=e.length,r=Ua?Ua(n):new e.constructor(n);return e.copy(r),r}function Ga(e,t){return ya(e,rr(e),t)}var Ka=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sr(t,rr(e)),e=yr(e);return t}:Rr;function qa(e,t){return ya(e,Ka(e),t)}function Ja(e){return Tn(e,Oa,Ka)}var Ya=Object.prototype.hasOwnProperty;function Xa(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Ya.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function Za(e){var t=new e.constructor(e.byteLength);return new qn(t).set(new qn(e)),t}function Qa(e,t){var n=t?Za(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var $a=/\w*$/;function eo(e){var t=new e.constructor(e.source,$a.exec(e));return t.lastIndex=e.lastIndex,t}var to=mt?mt.prototype:void 0,no=to?to.valueOf:void 0;function ro(e){return no?Object(no.call(e)):{}}function io(e,t){var n=t?Za(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var ao=`[object Boolean]`,oo=`[object Date]`,so=`[object Map]`,co=`[object Number]`,lo=`[object RegExp]`,uo=`[object Set]`,fo=`[object String]`,po=`[object Symbol]`,mo=`[object ArrayBuffer]`,ho=`[object DataView]`,go=`[object Float32Array]`,_o=`[object Float64Array]`,vo=`[object Int8Array]`,yo=`[object Int16Array]`,bo=`[object Int32Array]`,xo=`[object Uint8Array]`,So=`[object Uint8ClampedArray]`,Co=`[object Uint16Array]`,wo=`[object Uint32Array]`;function To(e,t,n){var r=e.constructor;switch(t){case mo:return Za(e);case ao:case oo:return new r(+e);case ho:return Qa(e,n);case go:case _o:case vo:case yo:case bo:case xo:case So:case Co:case wo:return io(e,n);case so:return new r;case co:case fo:return new r(e);case lo:return eo(e);case uo:return new r;case po:return ro(e)}}function Eo(e){return typeof e.constructor==`function`&&!Pt(e)?ra(yr(e)):{}}var Do=`[object Map]`;function Oo(e){return $t(e)&&yn(e)==Do}var ko=Gr&&Gr.isMap,Ao=ko?qt(ko):Oo,jo=`[object Set]`;function Mo(e){return $t(e)&&yn(e)==jo}var No=Gr&&Gr.isSet,Po=No?qt(No):Mo,Fo=1,Io=2,Lo=4,Ro=`[object Arguments]`,zo=`[object Array]`,Bo=`[object Boolean]`,Vo=`[object Date]`,Ho=`[object Error]`,Uo=`[object Function]`,Wo=`[object GeneratorFunction]`,Go=`[object Map]`,Ko=`[object Number]`,qo=`[object Object]`,Jo=`[object RegExp]`,Yo=`[object Set]`,Xo=`[object String]`,Zo=`[object Symbol]`,Qo=`[object WeakMap]`,$o=`[object ArrayBuffer]`,es=`[object DataView]`,ts=`[object Float32Array]`,ns=`[object Float64Array]`,rs=`[object Int8Array]`,is=`[object Int16Array]`,as=`[object Int32Array]`,os=`[object Uint8Array]`,ss=`[object Uint8ClampedArray]`,cs=`[object Uint16Array]`,ls=`[object Uint32Array]`,us={};us[Ro]=us[zo]=us[$o]=us[es]=us[Bo]=us[Vo]=us[ts]=us[ns]=us[rs]=us[is]=us[as]=us[Go]=us[Ko]=us[qo]=us[Jo]=us[Yo]=us[Xo]=us[Zo]=us[os]=us[ss]=us[cs]=us[ls]=!0,us[Ho]=us[Uo]=us[Qo]=!1;function ds(e,t,n,r,i,a){var o,s=t&Fo,c=t&Io,l=t&Lo;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!Tt(e))return e;var u=Ht(e);if(u){if(o=Xa(e),!s)return oa(e,o)}else{var d=yn(e),f=d==Uo||d==Wo;if(ot(e))return Wa(e,s);if(d==qo||d==Ro||f&&!i){if(o=c||f?{}:Eo(e),!s)return c?qa(e,za(o,e)):Ga(e,Ra(o,e))}else{if(!us[d])return i?e:{};o=To(e,d,s)}}a||=new kn;var p=a.get(e);if(p)return p;a.set(e,o),Po(e)?e.forEach(function(r){o.add(ds(r,t,n,r,e,a))}):Ao(e)&&e.forEach(function(r,i){o.set(i,ds(r,t,n,i,e,a))});var m=u?void 0:(l?c?Ja:Ar:c?Oa:Jr)(e);return pa(m||e,function(r,i){m&&(i=r,r=e[i]),Zn(o,i,ds(r,t,n,i,e,a))}),o}var fs=1,ps=4;function ms(e){return ds(e,fs|ps)}var hs=1,gs=2;function _s(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new kn;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?Mn(u,l,hs|gs,r,d):f))return!1}}return!0}function vs(e){return e===e&&!Tt(e)}function ys(e){for(var t=Jr(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,vs(i)]}return t}function bs(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}}function xs(e){var t=ys(e);return t.length==1&&t[0][2]?bs(t[0][0],t[0][1]):function(n){return n===e||_s(n,e,t)}}function Ss(e,t){return e!=null&&t in Object(e)}function Cs(e,t,n){t=Hr(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=hn(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Ye(i)&&Lt(o,i)&&(Ht(e)||it(e)))}function ws(e,t){return e!=null&&Cs(e,t,Ss)}var Ts=1,Es=2;function Ds(e,t){return Cn(e)&&vs(t)?bs(hn(e),t):function(n){var r=Wn(n,e);return r===void 0&&r===t?ws(n,e):Mn(t,r,Ts|Es)}}function Os(e){return function(t){return t?.[e]}}function ks(e){return function(t){return Bn(t,e)}}function As(e){return Cn(e)?Os(hn(e)):ks(e)}function js(e){return typeof e==`function`?e:e==null?ta:typeof e==`object`?Ht(e)?Ds(e[0],e[1]):xs(e):As(e)}function Ms(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}var Ns=Ms();function Ps(e,t){return e&&Ns(e,t,Jr)}function Fs(e,t){return function(n,r){if(n==null)return n;if(!er(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var Is=Fs(Ps),Ls=function(){return Xt.Date.now()},Rs=`Expected a function`,zs=Math.max,Bs=Math.min;function Vs(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(Rs);t=Xi(t)||0,Tt(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?zs(Xi(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?Bs(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=Ls();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Ls())}function x(){var e=Ls(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function Hs(e,t,n){(n!==void 0&&!Ot(e[t],n)||n===void 0&&!(t in e))&&jt(e,t,n)}function Us(e){return $t(e)&&er(e)}function Ws(e,t){if((t!==`constructor`||typeof e[t]!=`function`)&&t!=`__proto__`)return e[t]}function Gs(e){return ya(e,Oa(e))}function Ks(e,t,n,r,i,a,o){var s=Ws(e,n),c=Ws(t,n),l=o.get(c);if(l){Hs(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=Ht(c),p=!f&&ot(c),m=!f&&!p&&tt(c);u=c,f||p||m?Ht(s)?u=s:Us(s)?u=oa(s):p?(d=!1,u=Wa(c,!0)):m?(d=!1,u=io(c,!0)):u=[]:In(c)||it(c)?(u=s,it(s)?u=Gs(s):(!Tt(s)||_t(s))&&(u=Eo(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),Hs(e,n,u)}function qs(e,t,n,r,i){e!==t&&Ns(t,function(a,o){if(i||=new kn,Tt(a))Ks(e,t,o,n,qs,r,i);else{var s=r?r(Ws(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Hs(e,o,s)}},Oa)}function Js(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Ys(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var Xs=Math.max,Zs=Math.min;function Qs(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=r-1;return n!==void 0&&(i=ea(n),i=n<0?Xs(r+i,0):Zs(i,r-1)),ma(e,js(t,3),i,!0)}function $s(e,t){var n=-1,r=er(e)?Array(e.length):[];return Is(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function ec(e,t){return(Ht(e)?ei:$s)(e,js(t,3))}function tc(e,t){return ja(ec(e,t),1)}var nc=1/0;function rc(e){return e!=null&&e.length?ja(e,nc):[]}function ic(e,t){return t.length<2?e:Bn(e,Pa(t,0,-1))}function ac(e){return e===null}function oc(e){return e===void 0}var sc=wa(function(e,t,n){qs(e,t,n)}),cc=Object.prototype.hasOwnProperty;function lc(e,t){t=Hr(t,e);var n=-1,r=t.length;if(!r)return!0;for(;++n<r;){var i=hn(t[n]);if(i===`__proto__`&&!cc.call(e,`__proto__`)||(i===`constructor`||i===`prototype`)&&n<r-1)return!1}var a=ic(e,t);return a==null||delete a[hn(Ys(t))]}function uc(e){return In(e)?void 0:e}var dc=1,fc=2,pc=4,mc=Na(function(e,t){var n={};if(e==null)return n;var r=!1;t=ei(t,function(t){return t=Hr(t,e),r||=t.length>1,t}),ya(e,Ja(e),n),r&&(n=ds(n,dc|fc|pc,uc));for(var i=t.length;i--;)lc(n,t[i]);return n});function hc(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Bn(e,o);n(s,o)&&sn(a,Hr(o,e),s)}return a}function gc(e,t){return hc(e,t,function(t,n){return ws(e,n)})}var _c=Na(function(e,t){return e==null?{}:gc(e,t)}),vc=`Expected a function`;function yc(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw TypeError(vc);return Tt(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),Vs(e,t,{leading:r,maxWait:t,trailing:i})}var bc=hr&&1/Pr(new hr([,-0]))[1]==1/0?function(e){return new hr(e)}:aa,xc=200;function Sc(e,t,n){var r=-1,i=va,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=Js;else if(a>=xc){var l=t?null:bc(e);if(l)return Pr(l);o=!1,i=dr,c=new Er}else c=t?[]:s;outer:for(;++r<a;){var u=e[r],d=t?t(u):u;if(u=n||u!==0?u:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;t&&c.push(d),s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}var Cc=Sa(function(e){return Sc(ja(e,1,Us,!0))});R();var wc=new Map;if(En){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of wc.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function Tc(e,t){let n=[];return d(t.arg)?n=t.arg:rn(t.arg)&&n.push(t.arg),function(r,i){let a=t.instance.popperRef,o=r.target,s=i?.target,c=!t||!t.instance,l=!o||!s,u=e.contains(o)||e.contains(s),d=e===o,f=n.length&&n.some(e=>e?.contains(o))||n.length&&n.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||t.value(r,i)}}var Ec={beforeMount(e,t){wc.has(e)||wc.set(e,[]),wc.get(e).push({documentHandler:Tc(e,t),bindingFn:t.value})},updated(e,t){wc.has(e)||wc.set(e,[]);let n=wc.get(e),r=n.findIndex(e=>e.bindingFn===t.oldValue),i={documentHandler:Tc(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){wc.delete(e)}};R();var Dc=`_RepeatClick`,Oc={beforeMount(e,t){let n=t.value,{interval:r=100,delay:i=600}=g(n)?{}:n,a,o,s=()=>g(n)?n():n.handler(),c=()=>{o&&=(clearTimeout(o),void 0),a&&=(clearInterval(a),void 0)},l=e=>{e.button===0&&(c(),s(),document.addEventListener(`mouseup`,c,{once:!0,capture:!0}),o=setTimeout(()=>{a=setInterval(()=>{s()},r)},i))};e[Dc]={start:l,clear:c},e.addEventListener(`mousedown`,l)},unmounted(e){if(!e[Dc])return;let{start:t,clear:n}=e[Dc];t&&e.removeEventListener(`mousedown`,t),n&&(n(),document.removeEventListener(`mouseup`,n,!0)),e[Dc]=null}};I();var kc=`_trap-focus-children`,Ac=[],jc=e=>{if(Ac.length===0)return;let t=kt(e),n=Ac[Ac.length-1][kc];if(n.length>0&&t===$.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}let t=e.shiftKey,r=e.target===n[0],i=e.target===n[n.length-1];r&&t&&(e.preventDefault(),n[n.length-1].focus()),i&&!t&&(e.preventDefault(),n[0].focus())}},Mc={beforeMount(e){e[kc]=en(e),Ac.push(e),Ac.length<=1&&document.addEventListener(`keydown`,jc)},updated(e){u(()=>{e[kc]=en(e)})},unmounted(){Ac.shift(),Ac.length===0&&document.removeEventListener(`keydown`,jc)}},Nc=!1,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc;function Yc(){if(!Nc){Nc=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Gc=/\b(iPhone|iP[ao]d)/.exec(e),Kc=/\b(iP[ao]d)/.exec(e),Uc=/Android/i.exec(e),qc=/FBAN\/\w+;/i.exec(e),Jc=/Mobile/i.exec(e),Wc=!!/Win64/.exec(e),t){Pc=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Pc&&document&&document.documentMode&&(Pc=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);zc=r?parseFloat(r[1])+4:Pc,Fc=t[2]?parseFloat(t[2]):NaN,Ic=t[3]?parseFloat(t[3]):NaN,Lc=t[4]?parseFloat(t[4]):NaN,Lc?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Rc=t&&t[1]?parseFloat(t[1]):NaN):Rc=NaN}else Pc=Fc=Ic=Rc=Lc=NaN;if(n){if(n[1]){var i=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);Bc=!i||parseFloat(i[1].replace(`_`,`.`))}else Bc=!1;Vc=!!n[2],Hc=!!n[3]}else Bc=Vc=Hc=!1}}var Xc={ie:function(){return Yc()||Pc},ieCompatibilityMode:function(){return Yc()||zc>Pc},ie64:function(){return Xc.ie()&&Wc},firefox:function(){return Yc()||Fc},opera:function(){return Yc()||Ic},webkit:function(){return Yc()||Lc},safari:function(){return Xc.webkit()},chrome:function(){return Yc()||Rc},windows:function(){return Yc()||Vc},osx:function(){return Yc()||Bc},linux:function(){return Yc()||Hc},iphone:function(){return Yc()||Gc},mobile:function(){return Yc()||Gc||Kc||Uc||Jc},nativeApp:function(){return Yc()||qc},android:function(){return Yc()||Uc},ipad:function(){return Yc()||Kc}},Zc=Xc,Qc=!!(typeof window<`u`&&window.document&&window.document.createElement),$c={canUseDOM:Qc,canUseWorkers:typeof Worker<`u`,canUseEventListeners:Qc&&!!(window.addEventListener||window.attachEvent),canUseViewport:Qc&&!!window.screen,isInWorker:!Qc},el;$c.canUseDOM&&(el=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function tl(e,t){if(!$c.canUseDOM||t&&!(`addEventListener`in document))return!1;var n=`on`+e,r=n in document;if(!r){var i=document.createElement(`div`);i.setAttribute(n,`return;`),r=typeof i[n]==`function`}return!r&&el&&e===`wheel`&&(r=document.implementation.hasFeature(`Events.wheel`,`3.0`)),r}var nl=tl,rl=10,il=40,al=800;function ol(e){var t=0,n=0,r=0,i=0;return`detail`in e&&(n=e.detail),`wheelDelta`in e&&(n=-e.wheelDelta/120),`wheelDeltaY`in e&&(n=-e.wheelDeltaY/120),`wheelDeltaX`in e&&(t=-e.wheelDeltaX/120),`axis`in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*rl,i=n*rl,`deltaY`in e&&(i=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||i)&&e.deltaMode&&(e.deltaMode==1?(r*=il,i*=il):(r*=al,i*=al)),r&&!t&&(t=r<1?-1:1),i&&!n&&(n=i<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:i}}ol.getEventType=function(){return Zc.firefox()?`DOMMouseScroll`:nl(`wheel`)?`wheel`:`mousewheel`};var sl=ol,cl=`_Mousewheel`,ll=function(e,t){if(e&&e.addEventListener){ul(e);let n=function(e){let n=sl(e);t&&Reflect.apply(t,this,[e,n])};e[cl]={wheelHandler:n},e.addEventListener(`wheel`,n,{passive:!0})}},ul=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener(`wheel`,e[cl].wheelHandler),e[cl]=null)},dl={beforeMount(e,t){ll(e,t.value)},unmounted(e){ul(e)},updated(e,t){t.value!==t.oldValue&&ll(e,t.value)}},fl=X({zIndex:{type:Y([Number,String]),default:100},target:{type:String,default:``},offset:{type:Number,default:0},position:{type:String,values:[`top`,`bottom`],default:`top`},teleported:Boolean,appendTo:{type:Y([String,Object]),default:`body`}}),pl={scroll:({scrollTop:e,fixed:t})=>Ct(e)&&Zt(t),[Ri]:e=>Zt(e)};I();var ml=[`class`,`style`],hl=/^on[A-Z]/,gl=(e={})=>{let{excludeListeners:t=!1,excludeKeys:n}=e,r=w(()=>(n?.value||[]).concat(ml)),i=v();return i?w(()=>qe(Object.entries(i.proxy?.$attrs).filter(([e])=>!r.value.includes(e)&&!(t&&hl.test(e))))):(nt(`use-attrs`,`getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function`),w(()=>({})))};I(),J();function _l(){let e=T(),t=P(0),n=w(()=>({minWidth:`${Math.max(t.value,11)}px`}));return fr(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}J(),I();var vl=({from:e,replacement:t,scope:n,version:r,ref:i,type:a=`API`},o)=>{V(()=>D(o),o=>{o&&nt(n,`[${a}] ${e} is about to be deprecated in version ${r}, please use ${t} instead.
1
+ import{$ as e,$t as t,A as n,At as r,B as i,C as a,Ct as o,D as s,E as c,F as l,G as u,Gt as d,H as f,Ht as p,I as m,J as h,Jt as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as O,R as k,Rt as A,S as j,St as M,T as N,Tt as P,U as F,Ut as ee,V as I,W as L,Wt as R,X as te,Y as ne,Z as re,Zt as ie,_ as ae,_t as oe,at as se,b as ce,bt as le,cn as ue,ct as de,d as fe,en as pe,et as z,f as me,fn as B,ft as V,gt as he,h as ge,ht as _e,it as ve,j as H,jt as ye,k as U,kt as be,ln as W,m as xe,mn as Se,mt as G,nt as Ce,ot as we,p as Te,pn as Ee,pt as De,q as Oe,qt as ke,rn as Ae,rt as K,sn as q,st as je,t as Me,tt as Ne,ut as Pe,v as Fe,vn as Ie,vt as J,w as Le,wt as Re,x as ze,xt as Be,y as Ve,yt as He,z as Ue,zt as We}from"./router-CHObBy9_.js";import{$ as Ge,$n as Ke,$t as qe,A as Je,An as Ye,At as Xe,B as Ze,Bn as Qe,Bt as $e,C as et,Cn as tt,Ct as nt,D as rt,Dn as it,Dt as Y,E as at,En as ot,Et as X,F as st,Fn as ct,Ft as lt,G as ut,Gn as dt,Gt as ft,H as pt,Hn as mt,Ht as ht,I as gt,In as _t,It as vt,J as yt,Jn as bt,Jt as xt,Kn as St,Kt as Ct,L as wt,Ln as Tt,Lt as Et,M as Dt,Mn as Ot,Mt as kt,N as At,Nn as jt,Nt as Mt,O as Nt,On as Pt,Ot as Ft,P as It,Pn as Lt,Pt as Rt,Q as zt,Qn as Bt,Qt as Vt,Rn as Ht,Rt as Ut,Sn as Wt,St as Gt,T as Kt,Tn as qt,Tt as Jt,U as Yt,Un as Xt,Ut as Zt,V as Qt,Vn as $t,Vt as en,W as tn,Wn as nn,Wt as rn,X as an,Xn as on,Xt as sn,Y as cn,Yn as ln,Yt as un,Z as dn,Zn as fn,Zt as pn,_ as mn,_n as hn,_r as gn,_t as _n,a as vn,an as yn,ar as bn,at as xn,b as Sn,bn as Cn,bt as wn,c as Z,cn as Tn,cr as En,ct as Dn,d as On,dn as kn,dr as An,dt as jn,en as Mn,er as Nn,et as Pn,f as Fn,fn as In,fr as Ln,ft as Rn,g as zn,gn as Bn,gr as Vn,gt as Hn,h as Un,hn as Wn,hr as Gn,ht as Q,i as Kn,in as qn,ir as Jn,it as Yn,j as Xn,jn as Zn,jt as Qn,k as $n,kn as er,kt as tr,l as nr,ln as rr,lr as ir,lt as ar,m as or,mn as sr,mr as cr,mt as lr,n as ur,nn as dr,nr as fr,nt as pr,o as mr,on as hr,or as gr,ot as _r,p as vr,pn as yr,pr as br,pt as xr,q as Sr,qn as Cr,qt as wr,r as Tr,rn as Er,rr as Dr,rt as Or,s as kr,sn as Ar,sr as jr,st as Mr,t as Nr,tn as Pr,tr as Fr,tt as Ir,u as Lr,un as Rr,ur as zr,ut as Br,v as Vr,vn as Hr,vr as $,vt as Ur,w as Wr,wn as Gr,wt as Kr,x as qr,xn as Jr,xt as Yr,y as Xr,yn as Zr,yt as Qr,z as $r,zn as ei,zt as ti}from"./message-DPoeboTE.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),I(),J();var ni=typeof window<`u`,ri,ii=e=>ri=e,ai=Symbol();function oi(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var si=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function ci(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function li(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){mi(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function ui(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function di(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var fi=typeof navigator==`object`?navigator:{userAgent:``},pi=/Macintosh/.test(fi.userAgent)&&/AppleWebKit/.test(fi.userAgent)&&!/Safari/.test(fi.userAgent),mi=ni?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!pi?hi:`msSaveOrOpenBlob`in fi?gi:_i:()=>{};function hi(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?di(r):ui(r.href)?li(e,t,n):(r.target=`_blank`,di(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){di(r)},0))}function gi(e,t=`download`,n){if(typeof e==`string`){if(ui(e))li(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){di(t)})}}else navigator.msSaveOrOpenBlob(ci(e,n),t)}function _i(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return li(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(si.HTMLElement))||`safari`in si,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||pi)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:vi}=Object;function yi(){let e=he(!0),t=e.run(()=>P({})),n=[],r=[],i=Be({install(e){ii(i),i._a=e,e.provide(ai,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var bi=()=>{};function xi(e,t,n,r=bi){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&oe()&&M(i),i}function Si(e,...t){e.forEach(e=>{e(...t)})}var Ci=e=>e(),wi=Symbol(),Ti=Symbol();function Ei(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=oi(i)&&oi(r)&&Object.hasOwn(e,n)&&!le(r)&&!He(r)?Ei(i,r):r}return e}var Di=Symbol();function Oi(e){return!e||typeof e!=`object`||!Object.hasOwn(e,Di)}var{assign:ki}=Object;function Ai(e){return!!(le(e)&&e.effect)}function ji(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),ki(ye(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Be(w(()=>{ii(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Mi(e,l,t,n,r,!0),c}function Mi(e,t,n={},r,i,a){let s,c=ki({actions:{}},n),l={deep:!0},d,f,p=new Set,m=new Set,h,g=r.state.value[e];!a&&!g&&(r.state.value[e]={});let _;function v(t){let n;d=f=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:h}):(Ei(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:h});let i=_=Symbol();u().then(()=>{_===i&&(d=!0)}),f=!0,Si(p,n,r.state.value[e])}let y=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{ki(e,t)})}:bi;function b(){s.stop(),p.clear(),m.clear(),r._s.delete(e)}let x=(t,n=``)=>{if(wi in t)return t[Ti]=n,t;let i=function(){ii(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Si(m,{args:n,name:i[Ti],store:C,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:C,n)}catch(e){throw Si(o,e),e}return l instanceof Promise?l.then(e=>(Si(a,e),e)).catch(e=>(Si(o,e),Promise.reject(e))):(Si(a,l),l)};return i[wi]=!0,i[Ti]=n,i},S={_p:r,$id:e,$onAction:xi.bind(null,m),$patch:v,$reset:y,$subscribe(t,n={}){if(p.has(t))return bi;let i=xi(p,t,n.detached,()=>a()),a=s.run(()=>V(()=>r.state.value[e],r=>{(n.flush===`sync`?f:d)&&t({storeId:e,type:`direct`,events:h},r)},ki({},l,n)));return i},$dispose:b},C=o(S);r._s.set(e,C);let w=(r._a&&r._a.runWithContext||Ci)(()=>r._e.run(()=>(s=he()).run(()=>t({action:x}))));for(let t in w){let n=w[t];le(n)&&!Ai(n)||He(n)?a||(g&&Oi(n)&&(le(n)?n.value=g[t]:((n instanceof Set||n instanceof Map)&&n.clear(),Ei(n,g[t]))),r.state.value[e][t]=n):typeof n==`function`&&(w[t]=x(n,t),c.actions[t]=n)}return ki(C,w),ki(be(C),w),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{v(t=>{ki(t,e)})}}),r._p.forEach(e=>{let t=s.run(()=>e({store:C,app:r._a,pinia:r,options:c}));ki(C,t)}),g&&a&&n.hydrate&&n.hydrate(C.$state,g),d=!0,f=!0,C}function Ni(e,t,n){let r,a=typeof t==`function`;r=a?n:t;function o(n,o){let s=i();return n||=s?f(ai,null):null,n&&ii(n),n=ri,n._s.has(e)||(a?Mi(e,t,r,n):ji(e,r,n)),n._s.get(e)}return o.$id=e,o}var Pi=[`left`,`center`,`right`],Fi=[`year`,`years`,`month`,`months`,`date`,`dates`,`week`,`quarter`,`quarters`,`datetime`,`datetimerange`,`daterange`,`monthrange`,`yearrange`,`quarterrange`],Ii=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],Li=`update:modelValue`,Ri=`change`,zi=`input`,Bi=Symbol(`INSTALLED_KEY`),Vi=/\s/;function Hi(e){for(var t=e.length;t--&&Vi.test(e.charAt(t)););return t}var Ui=/^\s+/;function Wi(e){return e&&e.slice(0,Hi(e)+1).replace(Ui,``)}var Gi=NaN,Ki=/^[-+]0x[0-9a-f]+$/i,qi=/^0b[01]+$/i,Ji=/^0o[0-7]+$/i,Yi=parseInt;function Xi(e){if(typeof e==`number`)return e;if(Qe(e))return Gi;if(Tt(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Tt(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Wi(e);var n=qi.test(e);return n||Ji.test(e)?Yi(e.slice(2),n?2:8):Ki.test(e)?Gi:+e}var Zi=1/0,Qi=17976931348623157e292;function $i(e){return e?(e=Xi(e),e===Zi||e===-Zi?(e<0?-1:1)*Qi:e===e?e:0):e===0?e:0}function ea(e){var t=$i(e),n=t%1;return t===t?n?t-n:t:0}function ta(e){return e}var na=Object.create,ra=function(){function e(){}return function(t){if(!Tt(t))return{};if(na)return na(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function ia(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function aa(){}function oa(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}var sa=800,ca=16,la=Date.now;function ua(e){var t=0,n=0;return function(){var r=la(),i=ca-(r-n);if(n=r,i>0){if(++t>=sa)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function da(e){return function(){return e}}var fa=ua(ct?function(e,t){return ct(e,`toString`,{configurable:!0,enumerable:!1,value:da(t),writable:!0})}:ta);function pa(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function ma(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function ha(e){return e!==e}function ga(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function _a(e,t,n){return t===t?ga(e,t,n):ma(e,ha,n)}function va(e,t){return!!(e!=null&&e.length)&&_a(e,t,0)>-1}function ya(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?jt(n,s,c):Zn(n,s,c)}return n}var ba=Math.max;function xa(e,t,n){return t=ba(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=ba(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),ia(e,this,s)}}function Sa(e,t){return fa(xa(e,t,ta),e+``)}function Ca(e,t,n){if(!Tt(n))return!1;var r=typeof t;return(r==`number`?er(n)&&Lt(t,n.length):r==`string`&&t in n)?Ot(n[t],e):!1}function wa(e){return Sa(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Ca(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}function Ta(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ea=Object.prototype.hasOwnProperty;function Da(e){if(!Tt(e))return Ta(e);var t=Pt(e),n=[];for(var r in e)(r!=`constructor`||!t&&Ea.call(e,r))&&n.push(r);return n}function Oa(e){return er(e)?Wt(e,!0):Da(e)}var ka=mt?mt.isConcatSpreadable:void 0;function Aa(e){return Ht(e)||it(e)||!!(ka&&e&&e[ka])}function ja(e,t,n,r,i){var a=-1,o=e.length;for(n||=Aa,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?ja(s,t-1,n,r,i):sr(i,s):r||(i[i.length]=s)}return i}function Ma(e){return e!=null&&e.length?ja(e,1):[]}function Na(e){return fa(xa(e,void 0,Ma),e+``)}function Pa(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}function Fa(){if(!arguments.length)return[];var e=arguments[0];return Ht(e)?e:[e]}function Ia(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function La(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=Xi(n),n=n===n?n:0),t!==void 0&&(t=Xi(t),t=t===t?t:0),Ia(Xi(e),t,n)}function Ra(e,t){return e&&ya(t,Jr(t),e)}function za(e,t){return e&&ya(t,Oa(t),e)}var Ba=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Va=Ba&&typeof module==`object`&&module&&!module.nodeType&&module,Ha=Va&&Va.exports===Ba?Xt.Buffer:void 0,Ua=Ha?Ha.allocUnsafe:void 0;function Wa(e,t){if(t)return e.slice();var n=e.length,r=Ua?Ua(n):new e.constructor(n);return e.copy(r),r}function Ga(e,t){return ya(e,rr(e),t)}var Ka=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sr(t,rr(e)),e=yr(e);return t}:Rr;function qa(e,t){return ya(e,Ka(e),t)}function Ja(e){return Tn(e,Oa,Ka)}var Ya=Object.prototype.hasOwnProperty;function Xa(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Ya.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function Za(e){var t=new e.constructor(e.byteLength);return new qn(t).set(new qn(e)),t}function Qa(e,t){var n=t?Za(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var $a=/\w*$/;function eo(e){var t=new e.constructor(e.source,$a.exec(e));return t.lastIndex=e.lastIndex,t}var to=mt?mt.prototype:void 0,no=to?to.valueOf:void 0;function ro(e){return no?Object(no.call(e)):{}}function io(e,t){var n=t?Za(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var ao=`[object Boolean]`,oo=`[object Date]`,so=`[object Map]`,co=`[object Number]`,lo=`[object RegExp]`,uo=`[object Set]`,fo=`[object String]`,po=`[object Symbol]`,mo=`[object ArrayBuffer]`,ho=`[object DataView]`,go=`[object Float32Array]`,_o=`[object Float64Array]`,vo=`[object Int8Array]`,yo=`[object Int16Array]`,bo=`[object Int32Array]`,xo=`[object Uint8Array]`,So=`[object Uint8ClampedArray]`,Co=`[object Uint16Array]`,wo=`[object Uint32Array]`;function To(e,t,n){var r=e.constructor;switch(t){case mo:return Za(e);case ao:case oo:return new r(+e);case ho:return Qa(e,n);case go:case _o:case vo:case yo:case bo:case xo:case So:case Co:case wo:return io(e,n);case so:return new r;case co:case fo:return new r(e);case lo:return eo(e);case uo:return new r;case po:return ro(e)}}function Eo(e){return typeof e.constructor==`function`&&!Pt(e)?ra(yr(e)):{}}var Do=`[object Map]`;function Oo(e){return $t(e)&&yn(e)==Do}var ko=Gr&&Gr.isMap,Ao=ko?qt(ko):Oo,jo=`[object Set]`;function Mo(e){return $t(e)&&yn(e)==jo}var No=Gr&&Gr.isSet,Po=No?qt(No):Mo,Fo=1,Io=2,Lo=4,Ro=`[object Arguments]`,zo=`[object Array]`,Bo=`[object Boolean]`,Vo=`[object Date]`,Ho=`[object Error]`,Uo=`[object Function]`,Wo=`[object GeneratorFunction]`,Go=`[object Map]`,Ko=`[object Number]`,qo=`[object Object]`,Jo=`[object RegExp]`,Yo=`[object Set]`,Xo=`[object String]`,Zo=`[object Symbol]`,Qo=`[object WeakMap]`,$o=`[object ArrayBuffer]`,es=`[object DataView]`,ts=`[object Float32Array]`,ns=`[object Float64Array]`,rs=`[object Int8Array]`,is=`[object Int16Array]`,as=`[object Int32Array]`,os=`[object Uint8Array]`,ss=`[object Uint8ClampedArray]`,cs=`[object Uint16Array]`,ls=`[object Uint32Array]`,us={};us[Ro]=us[zo]=us[$o]=us[es]=us[Bo]=us[Vo]=us[ts]=us[ns]=us[rs]=us[is]=us[as]=us[Go]=us[Ko]=us[qo]=us[Jo]=us[Yo]=us[Xo]=us[Zo]=us[os]=us[ss]=us[cs]=us[ls]=!0,us[Ho]=us[Uo]=us[Qo]=!1;function ds(e,t,n,r,i,a){var o,s=t&Fo,c=t&Io,l=t&Lo;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!Tt(e))return e;var u=Ht(e);if(u){if(o=Xa(e),!s)return oa(e,o)}else{var d=yn(e),f=d==Uo||d==Wo;if(ot(e))return Wa(e,s);if(d==qo||d==Ro||f&&!i){if(o=c||f?{}:Eo(e),!s)return c?qa(e,za(o,e)):Ga(e,Ra(o,e))}else{if(!us[d])return i?e:{};o=To(e,d,s)}}a||=new kn;var p=a.get(e);if(p)return p;a.set(e,o),Po(e)?e.forEach(function(r){o.add(ds(r,t,n,r,e,a))}):Ao(e)&&e.forEach(function(r,i){o.set(i,ds(r,t,n,i,e,a))});var m=u?void 0:(l?c?Ja:Ar:c?Oa:Jr)(e);return pa(m||e,function(r,i){m&&(i=r,r=e[i]),Zn(o,i,ds(r,t,n,i,e,a))}),o}var fs=1,ps=4;function ms(e){return ds(e,fs|ps)}var hs=1,gs=2;function _s(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new kn;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?Mn(u,l,hs|gs,r,d):f))return!1}}return!0}function vs(e){return e===e&&!Tt(e)}function ys(e){for(var t=Jr(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,vs(i)]}return t}function bs(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}}function xs(e){var t=ys(e);return t.length==1&&t[0][2]?bs(t[0][0],t[0][1]):function(n){return n===e||_s(n,e,t)}}function Ss(e,t){return e!=null&&t in Object(e)}function Cs(e,t,n){t=Hr(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=hn(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Ye(i)&&Lt(o,i)&&(Ht(e)||it(e)))}function ws(e,t){return e!=null&&Cs(e,t,Ss)}var Ts=1,Es=2;function Ds(e,t){return Cn(e)&&vs(t)?bs(hn(e),t):function(n){var r=Wn(n,e);return r===void 0&&r===t?ws(n,e):Mn(t,r,Ts|Es)}}function Os(e){return function(t){return t?.[e]}}function ks(e){return function(t){return Bn(t,e)}}function As(e){return Cn(e)?Os(hn(e)):ks(e)}function js(e){return typeof e==`function`?e:e==null?ta:typeof e==`object`?Ht(e)?Ds(e[0],e[1]):xs(e):As(e)}function Ms(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}var Ns=Ms();function Ps(e,t){return e&&Ns(e,t,Jr)}function Fs(e,t){return function(n,r){if(n==null)return n;if(!er(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var Is=Fs(Ps),Ls=function(){return Xt.Date.now()},Rs=`Expected a function`,zs=Math.max,Bs=Math.min;function Vs(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(Rs);t=Xi(t)||0,Tt(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?zs(Xi(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){var n=e-c,r=e-l,i=t-n;return d?Bs(i,a-r):i}function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}function _(){var e=Ls();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Ls())}function x(){var e=Ls(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function Hs(e,t,n){(n!==void 0&&!Ot(e[t],n)||n===void 0&&!(t in e))&&jt(e,t,n)}function Us(e){return $t(e)&&er(e)}function Ws(e,t){if((t!==`constructor`||typeof e[t]!=`function`)&&t!=`__proto__`)return e[t]}function Gs(e){return ya(e,Oa(e))}function Ks(e,t,n,r,i,a,o){var s=Ws(e,n),c=Ws(t,n),l=o.get(c);if(l){Hs(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=Ht(c),p=!f&&ot(c),m=!f&&!p&&tt(c);u=c,f||p||m?Ht(s)?u=s:Us(s)?u=oa(s):p?(d=!1,u=Wa(c,!0)):m?(d=!1,u=io(c,!0)):u=[]:In(c)||it(c)?(u=s,it(s)?u=Gs(s):(!Tt(s)||_t(s))&&(u=Eo(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),Hs(e,n,u)}function qs(e,t,n,r,i){e!==t&&Ns(t,function(a,o){if(i||=new kn,Tt(a))Ks(e,t,o,n,qs,r,i);else{var s=r?r(Ws(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Hs(e,o,s)}},Oa)}function Js(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Ys(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var Xs=Math.max,Zs=Math.min;function Qs(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=r-1;return n!==void 0&&(i=ea(n),i=n<0?Xs(r+i,0):Zs(i,r-1)),ma(e,js(t,3),i,!0)}function $s(e,t){var n=-1,r=er(e)?Array(e.length):[];return Is(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function ec(e,t){return(Ht(e)?ei:$s)(e,js(t,3))}function tc(e,t){return ja(ec(e,t),1)}var nc=1/0;function rc(e){return e!=null&&e.length?ja(e,nc):[]}function ic(e,t){return t.length<2?e:Bn(e,Pa(t,0,-1))}function ac(e){return e===null}function oc(e){return e===void 0}var sc=wa(function(e,t,n){qs(e,t,n)}),cc=Object.prototype.hasOwnProperty;function lc(e,t){t=Hr(t,e);var n=-1,r=t.length;if(!r)return!0;for(;++n<r;){var i=hn(t[n]);if(i===`__proto__`&&!cc.call(e,`__proto__`)||(i===`constructor`||i===`prototype`)&&n<r-1)return!1}var a=ic(e,t);return a==null||delete a[hn(Ys(t))]}function uc(e){return In(e)?void 0:e}var dc=1,fc=2,pc=4,mc=Na(function(e,t){var n={};if(e==null)return n;var r=!1;t=ei(t,function(t){return t=Hr(t,e),r||=t.length>1,t}),ya(e,Ja(e),n),r&&(n=ds(n,dc|fc|pc,uc));for(var i=t.length;i--;)lc(n,t[i]);return n});function hc(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Bn(e,o);n(s,o)&&sn(a,Hr(o,e),s)}return a}function gc(e,t){return hc(e,t,function(t,n){return ws(e,n)})}var _c=Na(function(e,t){return e==null?{}:gc(e,t)}),vc=`Expected a function`;function yc(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw TypeError(vc);return Tt(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),Vs(e,t,{leading:r,maxWait:t,trailing:i})}var bc=hr&&1/Pr(new hr([,-0]))[1]==1/0?function(e){return new hr(e)}:aa,xc=200;function Sc(e,t,n){var r=-1,i=va,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=Js;else if(a>=xc){var l=t?null:bc(e);if(l)return Pr(l);o=!1,i=dr,c=new Er}else c=t?[]:s;outer:for(;++r<a;){var u=e[r],d=t?t(u):u;if(u=n||u!==0?u:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;t&&c.push(d),s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}var Cc=Sa(function(e){return Sc(ja(e,1,Us,!0))});R();var wc=new Map;if(En){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of wc.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function Tc(e,t){let n=[];return d(t.arg)?n=t.arg:rn(t.arg)&&n.push(t.arg),function(r,i){let a=t.instance.popperRef,o=r.target,s=i?.target,c=!t||!t.instance,l=!o||!s,u=e.contains(o)||e.contains(s),d=e===o,f=n.length&&n.some(e=>e?.contains(o))||n.length&&n.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||t.value(r,i)}}var Ec={beforeMount(e,t){wc.has(e)||wc.set(e,[]),wc.get(e).push({documentHandler:Tc(e,t),bindingFn:t.value})},updated(e,t){wc.has(e)||wc.set(e,[]);let n=wc.get(e),r=n.findIndex(e=>e.bindingFn===t.oldValue),i={documentHandler:Tc(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){wc.delete(e)}};R();var Dc=`_RepeatClick`,Oc={beforeMount(e,t){let n=t.value,{interval:r=100,delay:i=600}=g(n)?{}:n,a,o,s=()=>g(n)?n():n.handler(),c=()=>{o&&=(clearTimeout(o),void 0),a&&=(clearInterval(a),void 0)},l=e=>{e.button===0&&(c(),s(),document.addEventListener(`mouseup`,c,{once:!0,capture:!0}),o=setTimeout(()=>{a=setInterval(()=>{s()},r)},i))};e[Dc]={start:l,clear:c},e.addEventListener(`mousedown`,l)},unmounted(e){if(!e[Dc])return;let{start:t,clear:n}=e[Dc];t&&e.removeEventListener(`mousedown`,t),n&&(n(),document.removeEventListener(`mouseup`,n,!0)),e[Dc]=null}};I();var kc=`_trap-focus-children`,Ac=[],jc=e=>{if(Ac.length===0)return;let t=kt(e),n=Ac[Ac.length-1][kc];if(n.length>0&&t===$.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}let t=e.shiftKey,r=e.target===n[0],i=e.target===n[n.length-1];r&&t&&(e.preventDefault(),n[n.length-1].focus()),i&&!t&&(e.preventDefault(),n[0].focus())}},Mc={beforeMount(e){e[kc]=en(e),Ac.push(e),Ac.length<=1&&document.addEventListener(`keydown`,jc)},updated(e){u(()=>{e[kc]=en(e)})},unmounted(){Ac.shift(),Ac.length===0&&document.removeEventListener(`keydown`,jc)}},Nc=!1,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc;function Yc(){if(!Nc){Nc=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Gc=/\b(iPhone|iP[ao]d)/.exec(e),Kc=/\b(iP[ao]d)/.exec(e),Uc=/Android/i.exec(e),qc=/FBAN\/\w+;/i.exec(e),Jc=/Mobile/i.exec(e),Wc=!!/Win64/.exec(e),t){Pc=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Pc&&document&&document.documentMode&&(Pc=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);zc=r?parseFloat(r[1])+4:Pc,Fc=t[2]?parseFloat(t[2]):NaN,Ic=t[3]?parseFloat(t[3]):NaN,Lc=t[4]?parseFloat(t[4]):NaN,Lc?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Rc=t&&t[1]?parseFloat(t[1]):NaN):Rc=NaN}else Pc=Fc=Ic=Rc=Lc=NaN;if(n){if(n[1]){var i=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);Bc=!i||parseFloat(i[1].replace(`_`,`.`))}else Bc=!1;Vc=!!n[2],Hc=!!n[3]}else Bc=Vc=Hc=!1}}var Xc={ie:function(){return Yc()||Pc},ieCompatibilityMode:function(){return Yc()||zc>Pc},ie64:function(){return Xc.ie()&&Wc},firefox:function(){return Yc()||Fc},opera:function(){return Yc()||Ic},webkit:function(){return Yc()||Lc},safari:function(){return Xc.webkit()},chrome:function(){return Yc()||Rc},windows:function(){return Yc()||Vc},osx:function(){return Yc()||Bc},linux:function(){return Yc()||Hc},iphone:function(){return Yc()||Gc},mobile:function(){return Yc()||Gc||Kc||Uc||Jc},nativeApp:function(){return Yc()||qc},android:function(){return Yc()||Uc},ipad:function(){return Yc()||Kc}},Zc=Xc,Qc=!!(typeof window<`u`&&window.document&&window.document.createElement),$c={canUseDOM:Qc,canUseWorkers:typeof Worker<`u`,canUseEventListeners:Qc&&!!(window.addEventListener||window.attachEvent),canUseViewport:Qc&&!!window.screen,isInWorker:!Qc},el;$c.canUseDOM&&(el=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function tl(e,t){if(!$c.canUseDOM||t&&!(`addEventListener`in document))return!1;var n=`on`+e,r=n in document;if(!r){var i=document.createElement(`div`);i.setAttribute(n,`return;`),r=typeof i[n]==`function`}return!r&&el&&e===`wheel`&&(r=document.implementation.hasFeature(`Events.wheel`,`3.0`)),r}var nl=tl,rl=10,il=40,al=800;function ol(e){var t=0,n=0,r=0,i=0;return`detail`in e&&(n=e.detail),`wheelDelta`in e&&(n=-e.wheelDelta/120),`wheelDeltaY`in e&&(n=-e.wheelDeltaY/120),`wheelDeltaX`in e&&(t=-e.wheelDeltaX/120),`axis`in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*rl,i=n*rl,`deltaY`in e&&(i=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||i)&&e.deltaMode&&(e.deltaMode==1?(r*=il,i*=il):(r*=al,i*=al)),r&&!t&&(t=r<1?-1:1),i&&!n&&(n=i<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:i}}ol.getEventType=function(){return Zc.firefox()?`DOMMouseScroll`:nl(`wheel`)?`wheel`:`mousewheel`};var sl=ol,cl=`_Mousewheel`,ll=function(e,t){if(e&&e.addEventListener){ul(e);let n=function(e){let n=sl(e);t&&Reflect.apply(t,this,[e,n])};e[cl]={wheelHandler:n},e.addEventListener(`wheel`,n,{passive:!0})}},ul=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener(`wheel`,e[cl].wheelHandler),e[cl]=null)},dl={beforeMount(e,t){ll(e,t.value)},unmounted(e){ul(e)},updated(e,t){t.value!==t.oldValue&&ll(e,t.value)}},fl=X({zIndex:{type:Y([Number,String]),default:100},target:{type:String,default:``},offset:{type:Number,default:0},position:{type:String,values:[`top`,`bottom`],default:`top`},teleported:Boolean,appendTo:{type:Y([String,Object]),default:`body`}}),pl={scroll:({scrollTop:e,fixed:t})=>Ct(e)&&Zt(t),[Ri]:e=>Zt(e)};I();var ml=[`class`,`style`],hl=/^on[A-Z]/,gl=(e={})=>{let{excludeListeners:t=!1,excludeKeys:n}=e,r=w(()=>(n?.value||[]).concat(ml)),i=v();return i?w(()=>qe(Object.entries(i.proxy?.$attrs).filter(([e])=>!r.value.includes(e)&&!(t&&hl.test(e))))):(nt(`use-attrs`,`getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function`),w(()=>({})))};I(),J();function _l(){let e=T(),t=P(0),n=w(()=>({minWidth:`${Math.max(t.value,11)}px`}));return fr(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}J(),I();var vl=({from:e,replacement:t,scope:n,version:r,ref:i,type:a=`API`},o)=>{V(()=>D(o),o=>{o&&nt(n,`[${a}] ${e} is about to be deprecated in version ${r}, please use ${t} instead.
2
2
  For more detail, please visit: ${i}
3
3
  `)},{immediate:!0})};R();var yl=(e=``)=>e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`),bl=e=>We(e);I(),J();var xl=(e,t,n,r)=>{let i={offsetX:0,offsetY:0},a=P(!1),o=(t,n)=>{if(e.value){let{offsetX:a,offsetY:o}=i,s=e.value.getBoundingClientRect(),c=Math.max(s.left,0),l=Math.max(s.top,0),u=s.width,d=s.height,f=document.documentElement.clientWidth,p=document.documentElement.clientHeight,m=-c+a,h=-l+o,g=f-c-u+a,_=p-l-(d<p?d:0)+o;r?.value||(t=La(t,m,g),n=La(n,h,_)),i.offsetX=t,i.offsetY=n,e.value.style.transform=`translate(${Ur(t)}, ${Ur(n)})`}},s=e=>{let t=e.clientX,n=e.clientY,{offsetX:r,offsetY:s}=i,c=e=>{a.value||=!0,o(r+e.clientX-t,s+e.clientY-n)},l=()=>{a.value=!1,document.removeEventListener(`mousemove`,c),document.removeEventListener(`mouseup`,l)};document.addEventListener(`mousemove`,c),document.addEventListener(`mouseup`,l)},c=()=>{t.value&&e.value&&(t.value.addEventListener(`mousedown`,s),window.addEventListener(`resize`,d))},l=()=>{t.value&&e.value&&(t.value.removeEventListener(`mousedown`,s),window.removeEventListener(`resize`,d))},u=()=>{i.offsetX=0,i.offsetY=0,e.value&&(e.value.style.transform=``)},d=()=>{let{offsetX:e,offsetY:t}=i;o(e,t)};return re(()=>{De(()=>{n.value?c():l()})}),h(()=>{l()}),{isDragging:a,resetPosition:u,updatePosition:d}};function Sl(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var Cl=e=>En?window.requestAnimationFrame(e):setTimeout(e,16),wl=e=>En?window.cancelAnimationFrame(e):clearTimeout(e);R();var Tl=(e,t)=>{if(!En)return!1;let n={undefined:`overflow`,true:`overflow-y`,false:`overflow-x`}[String(t)],r=Qr(e,n);return[`scroll`,`auto`,`overlay`].some(e=>r.includes(e))},El=(e,t)=>{if(!En)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Tl(n,t))return n;n=$e(n)?n.host:n.parentNode}return n},Dl,Ol=e=>{if(!En)return 0;if(Dl!==void 0)return Dl;let t=document.createElement(`div`);t.className=`${e}-scrollbar__wrap`,t.style.visibility=`hidden`,t.style.width=`100px`,t.style.position=`absolute`,t.style.top=`-9999px`,document.body.appendChild(t);let n=t.offsetWidth;t.style.overflow=`scroll`;let r=document.createElement(`div`);r.style.width=`100%`,t.appendChild(r);let i=r.offsetWidth;return t.parentNode?.removeChild(t),Dl=n-i,Dl};function kl(e,t){if(!En)return;if(!t){e.scrollTop=0;return}let n=[],r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;let i=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),a=i+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;i<o?e.scrollTop=i:a>s&&(e.scrollTop=a-e.clientHeight)}function Al(e,t,n,r,i){let a=Date.now(),o,s=()=>{let c=Date.now()-a,l=Sl(c>r?r:c,t,n,r);un(e)?e.scrollTo(window.pageXOffset,l):e.scrollTop=l,c<r?o=Cl(s):g(i)&&i()};return s(),()=>{o&&wl(o)}}var jl=(e,t)=>un(t)?e.ownerDocument.documentElement:t,Ml=e=>un(e)?window.scrollY:e.scrollTop;I(),J();var Nl=(e,t={})=>{le(e)||Kr(`[useLockscreen]`,`You need to pass a ref param to this function`);let n=t.ns||Q(`popup`),r=w(()=>n.bm(`parent`,`hidden`)),i=0,a=!1,o=`0`,s=!1,c=()=>{s||(s=!0,setTimeout(()=>{typeof document<`u`&&a&&document&&(document.body.style.width=o,Yr(document.body,r.value))},200))};V(e,e=>{if(!e){c();return}s=!1,a=!wn(document.body,r.value),a&&(o=document.body.style.width,_n(document.body,r.value)),i=Ol(n.namespace.value);let t=document.documentElement.clientHeight<document.body.scrollHeight,l=Qr(document.body,`overflowY`);i>0&&(t||l===`scroll`)&&a&&(document.body.style.width=`calc(100% - ${i}px)`)}),M(()=>c())};R(),I();var Pl=Jt({type:Y(Boolean),default:null}),Fl=Jt({type:Y(Function)}),Il=e=>{let t=`update:${e}`,n=`onUpdate:${e}`,r=[t];return{useModelToggle:({indicator:r,toggleReason:i,shouldHideWhenRouteChanges:a,shouldProceed:o,onShow:s,onHide:c})=>{let l=v(),{emit:u}=l,d=l.props,f=w(()=>g(d[n])),p=w(()=>d[e]===null),m=e=>{r.value!==!0&&(r.value=!0,i&&(i.value=e),g(s)&&s(e))},h=e=>{r.value!==!1&&(r.value=!1,i&&(i.value=e),g(c)&&c(e))},_=e=>{if(d.disabled===!0||g(o)&&!o())return;let n=f.value&&En;n&&u(t,!0),(p.value||!n)&&m(e)},y=e=>{if(d.disabled===!0||!En)return;let n=f.value&&En;n&&u(t,!1),(p.value||!n)&&h(e)},b=e=>{Zt(e)&&(d.disabled&&e?f.value&&u(t,!1):r.value!==e&&(e?m():h()))};return V(()=>d[e],b),a&&l.appContext.config.globalProperties.$route!==void 0&&V(()=>({...l.proxy.$route}),()=>{a.value&&r.value&&y()}),re(()=>{b(d[e])}),{hide:y,show:_,toggle:()=>{r.value?y():_()},hasUpdateHandler:f}},useModelToggleProps:{[e]:Pl,[n]:Fl},useModelToggleEmits:r}},{useModelToggle:Ll,useModelToggleProps:Rl,useModelToggleEmits:zl}=Il(`modelValue`);I();var Bl=e=>{let t=v();return w(()=>t?.proxy?.$props?.[e])},Vl=`bottom`,Hl=`right`,Ul=`left`,Wl=`auto`,Gl=[`top`,Vl,Hl,Ul],Kl=`start`,ql=`clippingParents`,Jl=`viewport`,Yl=`popper`,Xl=`reference`,Zl=Gl.reduce(function(e,t){return e.concat([t+`-`+Kl,t+`-end`])},[]),Ql=[].concat(Gl,[Wl]).reduce(function(e,t){return e.concat([t,t+`-`+Kl,t+`-end`])},[]),$l=[`beforeRead`,`read`,`afterRead`,`beforeMain`,`main`,`afterMain`,`beforeWrite`,`write`,`afterWrite`];function eu(e){return e?(e.nodeName||``).toLowerCase():null}function tu(e){if(e==null)return window;if(e.toString()!==`[object Window]`){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function nu(e){return e instanceof tu(e).Element||e instanceof Element}function ru(e){return e instanceof tu(e).HTMLElement||e instanceof HTMLElement}function iu(e){return typeof ShadowRoot>`u`?!1:e instanceof tu(e).ShadowRoot||e instanceof ShadowRoot}function au(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];!ru(i)||!eu(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];t===!1?i.removeAttribute(e):i.setAttribute(e,t===!0?``:t)}))})}function ou(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=``,e},{});!ru(r)||!eu(r)||(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}}var su={name:`applyStyles`,enabled:!0,phase:`write`,fn:au,effect:ou,requires:[`computeStyles`]};function cu(e){return e.split(`-`)[0]}var lu=Math.max,uu=Math.min,du=Math.round;function fu(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+`/`+e.version}).join(` `):navigator.userAgent}function pu(){return!/^((?!chrome|android).)*safari/i.test(fu())}function mu(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&ru(e)&&(i=e.offsetWidth>0&&du(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&du(r.height)/e.offsetHeight||1);var o=(nu(e)?tu(e):window).visualViewport,s=!pu()&&n,c=(r.left+(s&&o?o.offsetLeft:0))/i,l=(r.top+(s&&o?o.offsetTop:0))/a,u=r.width/i,d=r.height/a;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function hu(e){var t=mu(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function gu(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&iu(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function _u(e){return tu(e).getComputedStyle(e)}function vu(e){return[`table`,`td`,`th`].indexOf(eu(e))>=0}function yu(e){return((nu(e)?e.ownerDocument:e.document)||window.document).documentElement}function bu(e){return eu(e)===`html`?e:e.assignedSlot||e.parentNode||(iu(e)?e.host:null)||yu(e)}function xu(e){return!ru(e)||_u(e).position===`fixed`?null:e.offsetParent}function Su(e){var t=/firefox/i.test(fu());if(/Trident/i.test(fu())&&ru(e)&&_u(e).position===`fixed`)return null;var n=bu(e);for(iu(n)&&(n=n.host);ru(n)&&[`html`,`body`].indexOf(eu(n))<0;){var r=_u(n);if(r.transform!==`none`||r.perspective!==`none`||r.contain===`paint`||[`transform`,`perspective`].indexOf(r.willChange)!==-1||t&&r.willChange===`filter`||t&&r.filter&&r.filter!==`none`)return n;n=n.parentNode}return null}function Cu(e){for(var t=tu(e),n=xu(e);n&&vu(n)&&_u(n).position===`static`;)n=xu(n);return n&&(eu(n)===`html`||eu(n)===`body`&&_u(n).position===`static`)?t:n||Su(e)||t}function wu(e){return[`top`,`bottom`].indexOf(e)>=0?`x`:`y`}function Tu(e,t,n){return lu(e,uu(t,n))}function Eu(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function Du(){return{top:0,right:0,bottom:0,left:0}}function Ou(e){return Object.assign({},Du(),e)}function ku(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var Au=function(e,t){return e=typeof e==`function`?e(Object.assign({},t.rects,{placement:t.placement})):e,Ou(typeof e==`number`?ku(e,Gl):e)};function ju(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,s=cu(n.placement),c=wu(s),l=[`left`,`right`].indexOf(s)>=0?`height`:`width`;if(a&&o){var u=Au(i.padding,n),d=hu(a),f=c===`y`?`top`:Ul,p=c===`y`?Vl:Hl,m=n.rects.reference[l]+n.rects.reference[c]-o[c]-n.rects.popper[l],h=o[c]-n.rects.reference[c],g=Cu(a),_=g?c===`y`?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,y=u[f],b=_-d[l]-u[p],x=_/2-d[l]/2+v,S=Tu(y,x,b),C=c;n.modifiersData[r]=(t={},t[C]=S,t.centerOffset=S-x,t)}}function Mu(e){var t=e.state,n=e.options.element,r=n===void 0?`[data-popper-arrow]`:n;r!=null&&(typeof r==`string`&&(r=t.elements.popper.querySelector(r),!r)||gu(t.elements.popper,r)&&(t.elements.arrow=r))}var Nu={name:`arrow`,enabled:!0,phase:`main`,fn:ju,effect:Mu,requires:[`popperOffsets`],requiresIfExists:[`preventOverflow`]};function Pu(e){return e.split(`-`)[1]}var Fu={top:`auto`,right:`auto`,bottom:`auto`,left:`auto`};function Iu(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:du(n*i)/i||0,y:du(r*i)/i||0}}function Lu(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=o.x,p=f===void 0?0:f,m=o.y,h=m===void 0?0:m,g=typeof u==`function`?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var _=o.hasOwnProperty(`x`),v=o.hasOwnProperty(`y`),y=Ul,b=`top`,x=window;if(l){var S=Cu(n),C=`clientHeight`,w=`clientWidth`;if(S===tu(n)&&(S=yu(n),_u(S).position!==`static`&&s===`absolute`&&(C=`scrollHeight`,w=`scrollWidth`)),S=S,i===`top`||(i===`left`||i===`right`)&&a===`end`){b=Vl;var T=d&&S===x&&x.visualViewport?x.visualViewport.height:S[C];h-=T-r.height,h*=c?1:-1}if(i===`left`||(i===`top`||i===`bottom`)&&a===`end`){y=Hl;var E=d&&S===x&&x.visualViewport?x.visualViewport.width:S[w];p-=E-r.width,p*=c?1:-1}}var D=Object.assign({position:s},l&&Fu),O=u===!0?Iu({x:p,y:h},tu(n)):{x:p,y:h};if(p=O.x,h=O.y,c){var k;return Object.assign({},D,(k={},k[b]=v?`0`:``,k[y]=_?`0`:``,k.transform=(x.devicePixelRatio||1)<=1?`translate(`+p+`px, `+h+`px)`:`translate3d(`+p+`px, `+h+`px, 0)`,k))}return Object.assign({},D,(t={},t[b]=v?h+`px`:``,t[y]=_?p+`px`:``,t.transform=``,t))}function Ru(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0||r,a=n.adaptive,o=a===void 0||a,s=n.roundOffsets,c=s===void 0||s,l={placement:cu(t.placement),variation:Pu(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy===`fixed`};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Lu(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Lu(Object.assign({},l,{offsets:t.modifiersData.arrow,position:`absolute`,adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var zu={name:`computeStyles`,enabled:!0,phase:`beforeWrite`,fn:Ru,data:{}},Bu={passive:!0};function Vu(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0||i,o=r.resize,s=o===void 0||o,c=tu(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach(function(e){e.addEventListener(`scroll`,n.update,Bu)}),s&&c.addEventListener(`resize`,n.update,Bu),function(){a&&l.forEach(function(e){e.removeEventListener(`scroll`,n.update,Bu)}),s&&c.removeEventListener(`resize`,n.update,Bu)}}var Hu={name:`eventListeners`,enabled:!0,phase:`write`,fn:function(){},effect:Vu,data:{}},Uu={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Wu(e){return e.replace(/left|right|bottom|top/g,function(e){return Uu[e]})}var Gu={start:`end`,end:`start`};function Ku(e){return e.replace(/start|end/g,function(e){return Gu[e]})}function qu(e){var t=tu(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Ju(e){return mu(yu(e)).left+qu(e).scrollLeft}function Yu(e,t){var n=tu(e),r=yu(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;var l=pu();(l||!l&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s+Ju(e),y:c}}function Xu(e){var t=yu(e),n=qu(e),r=e.ownerDocument?.body,i=lu(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=lu(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+Ju(e),s=-n.scrollTop;return _u(r||t).direction===`rtl`&&(o+=lu(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:s}}function Zu(e){var t=_u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function Qu(e){return[`html`,`body`,`#document`].indexOf(eu(e))>=0?e.ownerDocument.body:ru(e)&&Zu(e)?e:Qu(bu(e))}function $u(e,t){t===void 0&&(t=[]);var n=Qu(e),r=n===e.ownerDocument?.body,i=tu(n),a=r?[i].concat(i.visualViewport||[],Zu(n)?n:[]):n,o=t.concat(a);return r?o:o.concat($u(bu(a)))}function ed(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function td(e,t){var n=mu(e,!1,t===`fixed`);return n.top+=e.clientTop,n.left+=e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function nd(e,t,n){return t===`viewport`?ed(Yu(e,n)):nu(t)?td(t,n):ed(Xu(yu(e)))}function rd(e){var t=$u(bu(e)),n=[`absolute`,`fixed`].indexOf(_u(e).position)>=0&&ru(e)?Cu(e):e;return nu(n)?t.filter(function(e){return nu(e)&&gu(e,n)&&eu(e)!==`body`}):[]}function id(e,t,n,r){var i=t===`clippingParents`?rd(e):[].concat(t),a=[].concat(i,[n]),o=a[0],s=a.reduce(function(t,n){var i=nd(e,n,r);return t.top=lu(i.top,t.top),t.right=uu(i.right,t.right),t.bottom=uu(i.bottom,t.bottom),t.left=lu(i.left,t.left),t},nd(e,o,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function ad(e){var t=e.reference,n=e.element,r=e.placement,i=r?cu(r):null,a=r?Pu(r):null,o=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,c;switch(i){case`top`:c={x:o,y:t.y-n.height};break;case Vl:c={x:o,y:t.y+t.height};break;case Hl:c={x:t.x+t.width,y:s};break;case Ul:c={x:t.x-n.width,y:s};break;default:c={x:t.x,y:t.y}}var l=i?wu(i):null;if(l!=null){var u=l===`y`?`height`:`width`;switch(a){case Kl:c[l]=c[l]-(t[u]/2-n[u]/2);break;case`end`:c[l]=c[l]+(t[u]/2-n[u]/2)}}return c}function od(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,s=n.boundary,c=s===void 0?ql:s,l=n.rootBoundary,u=l===void 0?Jl:l,d=n.elementContext,f=d===void 0?Yl:d,p=n.altBoundary,m=p!==void 0&&p,h=n.padding,g=h===void 0?0:h,_=Ou(typeof g==`number`?ku(g,Gl):g),v=f===`popper`?Xl:Yl,y=e.rects.popper,b=e.elements[m?v:f],x=id(nu(b)?b:b.contextElement||yu(e.elements.popper),c,u,o),S=mu(e.elements.reference),C=ad({reference:S,element:y,placement:i}),w=ed(Object.assign({},y,C)),T=f===`popper`?w:S,E={top:x.top-T.top+_.top,bottom:T.bottom-x.bottom+_.bottom,left:x.left-T.left+_.left,right:T.right-x.right+_.right},D=e.modifiersData.offset;if(f===`popper`&&D){var O=D[i];Object.keys(E).forEach(function(e){var t=[`right`,`bottom`].indexOf(e)>=0?1:-1,n=[`top`,`bottom`].indexOf(e)>=0?`y`:`x`;E[e]+=O[n]*t})}return E}function sd(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?Ql:c,u=Pu(r),d=u?s?Zl:Zl.filter(function(e){return Pu(e)===u}):Gl,f=d.filter(function(e){return l.indexOf(e)>=0});f.length===0&&(f=d);var p=f.reduce(function(t,n){return t[n]=od(e,{placement:n,boundary:i,rootBoundary:a,padding:o})[cu(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function cd(e){if(cu(e)===`auto`)return[];var t=Wu(e);return[Ku(e),t,Ku(t)]}function ld(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0||i,o=n.altAxis,s=o===void 0||o,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0||p,h=n.allowedAutoPlacements,g=t.options.placement,_=cu(g)===g,v=c||(_||!m?[Wu(g)]:cd(g)),y=[g].concat(v).reduce(function(e,n){return e.concat(cu(n)===`auto`?sd(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,x=t.rects.popper,S=new Map,C=!0,w=y[0],T=0;T<y.length;T++){var E=y[T],D=cu(E),O=Pu(E)===Kl,k=[`top`,Vl].indexOf(D)>=0,A=k?`width`:`height`,j=od(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),M=k?O?Hl:Ul:O?Vl:`top`;b[A]>x[A]&&(M=Wu(M));var N=Wu(M),P=[];if(a&&P.push(j[D]<=0),s&&P.push(j[M]<=0,j[N]<=0),P.every(function(e){return e})){w=E,C=!1;break}S.set(E,P)}if(C)for(var F=m?3:1,ee=function(e){var t=y.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,`break`},I=F;I>0&&ee(I)!==`break`;I--);t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}var ud={name:`flip`,enabled:!0,phase:`main`,fn:ld,requiresIfExists:[`offset`],data:{_skip:!1}};function dd(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function fd(e){return[`top`,Hl,Vl,Ul].some(function(t){return e[t]>=0})}function pd(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=od(t,{elementContext:`reference`}),s=od(t,{altBoundary:!0}),c=dd(o,r),l=dd(s,i,a),u=fd(c),d=fd(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var md={name:`hide`,enabled:!0,phase:`main`,requiresIfExists:[`preventOverflow`],fn:pd};function hd(e,t,n){var r=cu(e),i=[`left`,`top`].indexOf(r)>=0?-1:1,a=typeof n==`function`?n(Object.assign({},t,{placement:e})):n,o=a[0],s=a[1];return o||=0,s=(s||0)*i,[`left`,`right`].indexOf(r)>=0?{x:s,y:o}:{x:o,y:s}}function gd(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=Ql.reduce(function(e,n){return e[n]=hd(n,t.rects,a),e},{}),s=o[t.placement],c=s.x,l=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=o}var _d={name:`offset`,enabled:!0,phase:`main`,requires:[`popperOffsets`],fn:gd};function vd(e){var t=e.state,n=e.name;t.modifiersData[n]=ad({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var yd={name:`popperOffsets`,enabled:!0,phase:`read`,fn:vd,data:{}};function bd(e){return e===`x`?`y`:`x`}function xd(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0||i,o=n.altAxis,s=o!==void 0&&o,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0||f,m=n.tetherOffset,h=m===void 0?0:m,g=od(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),_=cu(t.placement),v=Pu(t.placement),y=!v,b=wu(_),x=bd(b),S=t.modifiersData.popperOffsets,C=t.rects.reference,w=t.rects.popper,T=typeof h==`function`?h(Object.assign({},t.rects,{placement:t.placement})):h,E=typeof T==`number`?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(S){if(a){var k=b===`y`?`top`:Ul,A=b===`y`?Vl:Hl,j=b===`y`?`height`:`width`,M=S[b],N=M+g[k],P=M-g[A],F=p?-w[j]/2:0,ee=v===`start`?C[j]:w[j],I=v===`start`?-w[j]:-C[j],L=t.elements.arrow,R=p&&L?hu(L):{width:0,height:0},te=t.modifiersData[`arrow#persistent`]?t.modifiersData[`arrow#persistent`].padding:Du(),ne=te[k],re=te[A],ie=Tu(0,C[j],R[j]),ae=y?C[j]/2-F-ie-ne-E.mainAxis:ee-ie-ne-E.mainAxis,oe=y?-C[j]/2+F+ie+re+E.mainAxis:I+ie+re+E.mainAxis,se=t.elements.arrow&&Cu(t.elements.arrow),ce=se?b===`y`?se.clientTop||0:se.clientLeft||0:0,le=D?.[b]??0,ue=M+ae-le-ce,de=M+oe-le,fe=Tu(p?uu(N,ue):N,M,p?lu(P,de):P);S[b]=fe,O[b]=fe-M}if(s){var pe=b===`x`?`top`:Ul,z=b===`x`?Vl:Hl,me=S[x],B=x===`y`?`height`:`width`,V=me+g[pe],he=me-g[z],ge=[`top`,Ul].indexOf(_)!==-1,_e=D?.[x]??0,ve=ge?V:me-C[B]-w[B]-_e+E.altAxis,H=ge?me+C[B]+w[B]-_e-E.altAxis:he,ye=p&&ge?Eu(ve,me,H):Tu(p?ve:V,me,p?H:he);S[x]=ye,O[x]=ye-me}t.modifiersData[r]=O}}var Sd={name:`preventOverflow`,enabled:!0,phase:`main`,fn:xd,requiresIfExists:[`offset`]};function Cd(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function wd(e){return e===tu(e)||!ru(e)?qu(e):Cd(e)}function Td(e){var t=e.getBoundingClientRect(),n=du(t.width)/e.offsetWidth||1,r=du(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Ed(e,t,n){n===void 0&&(n=!1);var r=ru(t),i=ru(t)&&Td(t),a=yu(t),o=mu(e,i,n),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((eu(t)!==`body`||Zu(a))&&(s=wd(t)),ru(t)?(c=mu(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):a&&(c.x=Ju(a))),{x:o.left+s.scrollLeft-c.x,y:o.top+s.scrollTop-c.y,width:o.width,height:o.height}}function Dd(e){var t=new Map,n=new Set,r=[];e.forEach(function(e){t.set(e.name,e)});function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}}),r.push(e)}return e.forEach(function(e){n.has(e.name)||i(e)}),r}function Od(e){var t=Dd(e);return $l.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}function kd(e){var t;return function(){return t||=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})}),t}}function Ad(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var jd={placement:`bottom`,modifiers:[],strategy:`absolute`};function Md(){return![...arguments].some(function(e){return!(e&&typeof e.getBoundingClientRect==`function`)})}function Nd(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,a=i===void 0?jd:i;return function(e,t,n){n===void 0&&(n=a);var i={placement:`bottom`,orderedModifiers:[],options:Object.assign({},jd,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(n){var o=typeof n==`function`?n(i.options):n;u(),i.options=Object.assign({},a,i.options,o),i.scrollParents={reference:nu(e)?$u(e):e.contextElement?$u(e.contextElement):[],popper:$u(t)};var s=Od(Ad([].concat(r,i.options.modifiers)));return i.orderedModifiers=s.filter(function(e){return e.enabled}),l(),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,n=e.popper;if(Md(t,n)){i.rects={reference:Ed(t,Cu(n),i.options.strategy===`fixed`),popper:hu(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r=0;r<i.orderedModifiers.length;r++){if(i.reset===!0){i.reset=!1,r=-1;continue}var a=i.orderedModifiers[r],o=a.fn,l=a.options,u=l===void 0?{}:l,d=a.name;typeof o==`function`&&(i=o({state:i,options:u,name:d,instance:c})||i)}}}},update:kd(function(){return new Promise(function(e){c.forceUpdate(),e(i)})}),destroy:function(){u(),s=!0}};if(!Md(e,t))return c;c.setOptions(n).then(function(e){!s&&n.onFirstUpdate&&n.onFirstUpdate(e)});function l(){i.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=n===void 0?{}:n,a=e.effect;if(typeof a==`function`){var s=a({state:i,name:t,instance:c,options:r});o.push(s||function(){})}})}function u(){o.forEach(function(e){return e()}),o=[]}return c}}Nd(),Nd({defaultModifiers:[Hu,yd,zu,su]});var Pd=Nd({defaultModifiers:[Hu,yd,zu,su,_d,ud,Sd,Nu,md]});I(),J();var Fd=(e,t,n={})=>{let r={name:`updateState`,enabled:!0,phase:`write`,fn:({state:e})=>{let t=Id(e);Object.assign(o.value,t)},requires:[`computeStyles`]},i=w(()=>{let{onFirstUpdate:e,placement:t,strategy:i,modifiers:a}=D(n);return{onFirstUpdate:e,placement:t||`bottom`,strategy:i||`absolute`,modifiers:[...a||[],r,{name:`applyStyles`,enabled:!1}]}}),a=T(),o=P({styles:{popper:{position:D(i).strategy,left:`0`,top:`0`},arrow:{position:`absolute`}},attributes:{}}),s=()=>{a.value&&=(a.value.destroy(),void 0)};return V(i,e=>{let t=D(a);t&&t.setOptions(e)},{deep:!0}),V([e,t],([e,t])=>{s(),e&&t&&(a.value=Pd(e,t,D(i)))}),h(()=>{s()}),{state:w(()=>({...D(a)?.state||{}})),styles:w(()=>D(o).styles),attributes:w(()=>D(o).attributes),update:()=>D(a)?.update(),forceUpdate:()=>D(a)?.forceUpdate(),instanceRef:w(()=>D(a))}};function Id(e){let t=Object.keys(e.elements);return{styles:qe(t.map(t=>[t,e.styles[t]||{}])),attributes:qe(t.map(t=>[t,e.attributes[t]]))}}R();var Ld=e=>{if(!e)return{onClick:y,onMousedown:y,onMouseup:y};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{n=e.target===e.currentTarget}}};R(),I(),J();var Rd=(e,t=0)=>{if(t===0)return e;let n=P(ie(t)&&!!t.initVal),r=null,i=t=>{if(xt(t)){n.value=e.value;return}r&&clearTimeout(r),r=setTimeout(()=>{n.value=e.value},t)},a=e=>{e===`leading`?Ct(t)?i(t):i(t.leading):ie(t)?i(t.trailing):n.value=!1};return re(()=>a(`leading`)),V(()=>e.value,e=>{a(e?`leading`:`trailing`)}),n};function zd(){let e,t=(t,r)=>{n(),e=globalThis.setTimeout(t,r)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return Ln(()=>n()),{registerTimeout:t,cancelTimeout:n}}I(),J();var Bd={prefix:Math.floor(Math.random()*1e4),current:0},Vd=Symbol(`elIdInjection`),Hd=()=>v()?f(Vd,Bd):Bd,Ud=e=>{let t=Hd();!En&&t===Bd&&nt(`IdInjection`,`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
4
4
  usage: app.provide(ID_INJECTION_KEY, {